Name Description Size
AnonymousContentKey.h values to identify particular subtrees of native anonymous content 2017
AspectRatio.h The aspect ratio of a box, in a "width / height" format. 2057
AutoCopyListener.h OnSelectionChange() is called when a Selection whose NotifyAutoCopy() was called is changed. @param aDocument The document of the Selection. May be nullptr. @param aSelection The selection. @param aReason The reasons of the change. See nsISelectionListener::*_REASON. 1938
BRFrame.cpp rendering object for HTML <br> elements 9596
BlockReflowInput.cpp state used in reflow of block frames 45040
BlockReflowInput.h state used in reflow of block frames 15203
CSSAlignUtils.cpp Utility code for performing CSS Box Alignment 6077
CSSAlignUtils.h Utility code for performing CSS Box Alignment 2686
CSSOrderAwareFrameIterator.cpp Iterator class for frame lists that respect CSS "order" during layout 2055
CSSOrderAwareFrameIterator.h Iterator class for frame lists that respect CSS "order" during layout 9278
ColumnSetWrapperFrame.cpp 9417
ColumnSetWrapperFrame.h 2642
ColumnUtils.cpp A namespace class for static muti-column utilities. 1649
ColumnUtils.h A namespace class for static muti-column utilities. 1342
DetailsFrame.cpp 4764
DetailsFrame.h 2263
FrameChildList.cpp 1589
FrameChildList.h !defined(FrameChildList_h_) 1231
FrameClass.py 725
FrameClasses.py 9038
GenerateFrameLists.py 1448
JustificationUtils.h Jutification Algorithm The justification algorithm is based on expansion opportunities between justifiable clusters. By this algorithm, there is one expansion opportunity at each side of a justifiable cluster, and at most one opportunity between two clusters. For example, if there is a line in a Chinese document is: "你好世界hello world", then the expansion opportunities (marked as '*') would be: 你*好*世*界*hello*' '*world The spacing left in a line will then be distributed equally to each opportunities. Because we want that, only justifiable clusters get expanded, and the split point between two justifiable clusters would be at the middle of the spacing, each expansion opportunities will be filled by two justification gaps. The example above would be: 你 | 好 | 世 | 界 |hello| ' ' |world In the algorithm, information about expansion opportunities is stored in structure JustificationInfo, and the assignment of justification gaps is in structure JustificationAssignment. 4385
MathMLTextRunFactory.cpp Entries for the mathvariant lookup tables. mKey represents the Unicode character to be transformed and is used for searching the tables. mReplacement represents the mapped mathvariant Unicode character. 27114
MathMLTextRunFactory.h Builds textruns that render their text with MathML specific renderings. 1797
ReflowInput.cpp struct containing the input to nsIFrame::Reflow 124772
ReflowInput.h struct containing the input to nsIFrame::Reflow 45845
ReflowOutput.cpp struct containing the output from nsIFrame::Reflow 1865
ReflowOutput.h struct containing the output from nsIFrame::Reflow 9855
RubyUtils.cpp static 7022
RubyUtils.h Reserved ISize With some exceptions, each ruby internal box has two isizes, which are the reflowed isize and the final isize. The reflowed isize is what a box itself needs. It is determined when the box gets reflowed. The final isize is what a box should be as the final result. For a ruby base/text box, the final isize is the size of its ruby column. For a ruby base/text container, the final isize is the size of its ruby segment. The final isize is never smaller than the reflowed isize. It is initially determined when a ruby column/segment gets fully reflowed, and may be advanced when a box is expanded, e.g. for justification. The difference between the reflowed isize and the final isize is reserved in the line layout after reflowing a box, hence it is called "Reserved ISize" here. It is used to expand the ruby boxes from their reflowed isize to the final isize during alignment of the line. There are three exceptions for the final isize: 1. A ruby text container has a larger final isize only if it is for a span or collapsed annotations. 2. A ruby base container has a larger final isize only if at least one of its ruby text containers does. 3. If a ruby text container has a larger final isize, its children must not have. 7362
ScrollAnchorContainer.cpp #define ANCHOR_LOG(fmt, ...) \ printf_stderr("ANCHOR(%p, %s, root: %d): " fmt, this, \ Frame() \ ->PresContext() \ ->Document() \ ->GetDocumentURI() \ ->GetSpecOrDefault() \ .get(), \ mScrollFrame->mIsRoot, ##__VA_ARGS__) 27526
ScrollAnchorContainer.h A scroll anchor container finds a descendent element of a scrollable frame to be an anchor node. After every reflow, the scroll anchor will apply scroll adjustments to keep the anchor node in the same relative position. See: https://drafts.csswg.org/css-scroll-anchoring/ 6453
ScrollAnimationBezierPhysics.cpp 6047
ScrollAnimationBezierPhysics.h 3504
ScrollAnimationMSDPhysics.cpp 4317
ScrollAnimationMSDPhysics.h 1957
ScrollAnimationPhysics.h 1721
ScrollSnap.cpp Keeps track of the current best edge to snap to. The criteria for adding an edge depends on the scrolling unit. 11851
ScrollSnap.h GetSnapPointForDestination determines which point to snap to after scrolling. |aStartPos| gives the position before scrolling and |aDestination| gives the position after scrolling, with no snapping. Behaviour is dependent on the value of |aUnit|. |aSnapInfo| and |aScrollRange| are characteristics of the scroll frame for which snapping is being performed. If a suitable snap point could be found, it is returned. Otherwise, an empty Maybe is returned. IMPORTANT NOTE: This function is designed to be called both on and off the main thread. If modifying its implementation, be sure not to touch main-thread-only data structures without appropriate locking. 1654
ScrollVelocityQueue.cpp Calculate the velocity of the scroll frame, in appunits / second. 2937
ScrollVelocityQueue.h ScrollVelocityQueue is used to determine the current velocity of a scroll frame, derived from scroll position samples. Using the last iteration's scroll position, stored in mLastPosition, a delta of the scroll position is calculated and accumulated in mAccumulator until the refresh driver returns a new timestamp for MostRecentRefresh(). When there is a new timestamp from the refresh driver, the accumulated change in scroll position is divided by the delta of the timestamp to get an average velocity over that period. This velocity is pushed into mQueue as a std::pair associating each velocity with the duration over which it was sampled. Samples are removed from mQueue, leaving only those necessary to determine the average velocity over the recent relevant period, which has a duration set by the apz.velocity_relevance_time_ms preference. The velocity of each sample is clamped to a value set by the layout.css.scroll-snap.prediction-max-velocity. As the average velocity will later be integrated over a duration set by the layout.css.scroll-snap.prediction-sensitivity preference and the velocity samples are clamped to a set value, the maximum expected scroll offset can be calculated. This maximum offset is used to clamp mAccumulator, eliminating samples that would otherwise result in scroll snap position selection that is not consistent with the user's perception of scroll velocity. 3488
ScrollbarActivity.cpp 13597
ScrollbarActivity.h ScrollbarActivity This class manages scrollbar behavior that imitates the native Mac OS X Lion overlay scrollbar behavior: Scrollbars are only shown while "scrollbar activity" occurs, and they're hidden with a fade animation after a short delay. Scrollbar activity has these states: - inactive: Scrollbars are hidden. - ongoing activity: Scrollbars are visible and being operated on in some way, for example because they're hovered or pressed. - active, but waiting for fade out Scrollbars are still completely visible but are about to fade away. - fading out Scrollbars are subject to a fade-out animation. Initial scrollbar activity needs to be reported by the scrollbar holder that owns the ScrollbarActivity instance. This needs to happen via a call to ActivityOccurred(), for example when the current scroll position or the size of the scroll area changes. As soon as scrollbars are visible, the ScrollbarActivity class manages the rest of the activity behavior: It ensures that mouse motions inside the scroll area keep the scrollbars visible, and that scrollbars don't fade away while they're being hovered / dragged. It also sets a sticky hover attribute on the most recently hovered scrollbar. ScrollbarActivity falls into hibernation after the scrollbars have faded out. It only starts acting after the next call to ActivityOccurred() / ActivityStarted(). 5412
ScrollbarPreferences.h 559
StickyScrollContainer.cpp compute sticky positioning, both during reflow and when the scrolling container scrolls 15607
StickyScrollContainer.h compute sticky positioning, both during reflow and when the scrolling container scrolls 3848
TextDrawTarget.h 24226
TextOverflow.cpp 36524
TextOverflow.h A class for rendering CSS3 text-overflow. Usage: 1. allocate an object using WillProcessLines 2. then call ProcessLine for each line you are building display lists for 12349
ViewportFrame.cpp rendering object that is the root of the frame tree, which contains the document's scrollbars and contains fixed-positioned elements 16592
ViewportFrame.h rendering object that is the root of the frame tree, which contains the document's scrollbars and contains fixed-positioned elements 4211
Visibility.h Declares visibility-related types. @Visibility is an enumeration of the possible visibility states of a frame. @OnNonvisible is an enumeration that allows callers to request a specific action when a frame transitions from visible to nonvisible. 1750
WBRFrame.cpp rendering object for HTML <wbr> elements 2477
WritingModes.h 73888
broken-image.png 160
crashtests 790
folder.png 529
frame-graph.py Take the *.framedata files from graph-frameclasses.js and combine them into a single graphviz file. stdin: a list of .framedata file names (e.g. from xargs) stdout: a graphviz file e.g. `find <objdir> -name "*.framedata" | python aggregate-frameclasses.py | dot -Tpng -o frameclasses-graph.png -` 1070
jar.mn 330
loading-image.png 160
moz.build 7274
nsAbsoluteContainingBlock.cpp code for managing absolutely positioned children of a rendering object that is a containing block for them 35407
nsAbsoluteContainingBlock.h code for managing absolutely positioned children of a rendering object that is a containing block for them 6474
nsAtomicContainerFrame.h base class for rendering objects that need child lists but behave like leaf 1699
nsBackdropFrame.cpp rendering object for CSS "::backdrop" 3092
nsBackdropFrame.h rendering object for CSS "::backdrop" 1587
nsBlockDebugFlags.h 1460
nsBlockFrame.cpp rendering object for CSS display:block, inline-block, and list-item boxes, also used for various anonymous boxes 304480
nsBlockFrame.h rendering object for CSS display:block, inline-block, and list-item boxes, also used for various anonymous boxes 39018
nsBlockReflowContext.cpp class that a parent frame uses to reflow a block frame 17879
nsBlockReflowContext.h class that a parent frame uses to reflow a block frame 3505
nsBulletFrame.cpp rendering object for list-item bullets 47333
nsBulletFrame.h rendering object for list-item bullets 5673
nsCanvasFrame.cpp rendering object that goes directly inside the document's scrollbars 33246
nsCanvasFrame.h rendering object that goes directly inside the document's scrollbars 8602
nsColumnSetFrame.cpp rendering object for css3 multi-column layout 54295
nsColumnSetFrame.h rendering object for css3 multi-column layout 8348
nsContainerFrame.cpp base class #1 for rendering objects that have child lists 96634
nsContainerFrame.h base class #1 for rendering objects that have child lists 48478
nsDirection.h 527
nsFirstLetterFrame.cpp rendering object for CSS :first-letter pseudo-element 15698
nsFirstLetterFrame.h rendering object for CSS :first-letter pseudo-element 3701
nsFlexContainerFrame.cpp rendering object for CSS "display: flex" 240156
nsFlexContainerFrame.h rendering object for CSS "display: flex" and "display: -webkit-box" 30019
nsFloatManager.cpp class that manages rules for positioning floats 127855
nsFloatManager.h class that manages rules for positioning floats 18714
nsFontInflationData.cpp Per-block-formatting-context manager of font size inflation for pan and zoom UI. 13980
nsFontInflationData.h Per-block-formatting-context manager of font size inflation for pan and zoom UI. 2330
nsFrame.cpp base class of all rendering objects 488890
nsFrame.h base class of all rendering objects 17137
nsFrameList.cpp 15861
nsFrameList.h for FILE* 19114
nsFrameSelection.cpp Implementation of nsFrameSelection 112656
nsFrameSelection.h PeekOffsetStruct is used to group various arguments (both input and output) that are passed to nsFrame::PeekOffset(). See below for the description of individual arguments. 38618
nsFrameSetFrame.cpp rendering object for HTML <frameset> elements 55228
nsFrameSetFrame.h rendering object for HTML <frameset> elements 6676
nsFrameState.cpp constants for frame state bits and a type to store them in a uint64_t 3973
nsFrameState.h constants for frame state bits and a type to store them in a uint64_t 2207
nsFrameStateBits.h a list of all frame state bits, for preprocessing 32696
nsGfxScrollFrame.cpp rendering object to wrap rendering objects that should be scrollable 283568
nsGfxScrollFrame.h rendering object to wrap rendering objects that should be scrollable 66873
nsGridContainerFrame.cpp rendering object for CSS "display: grid | inline-grid" 409995
nsGridContainerFrame.h rendering object for CSS "display: grid | inline-grid" 22210
nsHTMLCanvasFrame.cpp rendering object for the HTML <canvas> element 24199
nsHTMLCanvasFrame.h rendering object for the HTML <canvas> element 3920
nsHTMLParts.h factory functions for rendering object classes 9346
nsIAnonymousContentCreator.h interface for rendering objects that manually create subtrees of anonymous content 2396
nsIFrame.h interface for all rendering objects 208976
nsIFrameInlines.h 10081
nsILineIterator.h Line iterator API. Lines are numbered from 0 to N, where 0 is the top line and N is the bottom line. Obtain this interface from frames via nsIFrame::GetLineIterator. When you are finished using the iterator, call DisposeLineIterator() to destroy the iterator if appropriate. 4099
nsIObjectFrame.h interface for rendering objects for replaced elements implemented by a plugin 1127
nsIScrollPositionListener.h Provides a way to learn about scroll position changes of nsIScrollableFrame's. 749
nsIScrollableFrame.h interface that provides scroll APIs implemented by scrollable frames 24069
nsIStatefulFrame.h interface for rendering objects whose state is saved in session-history (back-forward navigation) 1231
nsImageFrame.cpp rendering object for replaced elements with image data 95929
nsImageFrame.h rendering object for replaced elements with image data 16924
nsImageMap.cpp code for HTML client-side image maps 26045
nsImageMap.h code for HTML client-side image maps 3086
nsInlineFrame.cpp rendering object for CSS display:inline objects 41424
nsInlineFrame.h rendering object for CSS display:inline objects 8139
nsIntervalSet.cpp a set of ranges on a number-line 2389
nsIntervalSet.h a set of ranges on a number-line 1931
nsLeafFrame.cpp base class for rendering objects that do not have child lists 1831
nsLeafFrame.h base class for rendering objects that do not have child lists 3330
nsLineBox.cpp representation of one line within a block frame, a CSS line box 27858
nsLineBox.h representation of one line within a block frame, a CSS line box 51102
nsLineLayout.cpp state and methods used while laying out a single line of a block frame 131186
nsLineLayout.h state and methods used while laying out a single line of a block frame 24446
nsPageContentFrame.cpp 5140
nsPageContentFrame.h Return our canvas frame. 1895
nsPageFrame.cpp 28414
nsPageFrame.h Return our page content frame. 4022
nsPageSequenceFrame.cpp 26554
nsPageSequenceFrame.h Return our first page frame. 5075
nsPlaceholderFrame.cpp rendering object for the point that anchors out-of-flow rendering objects such as floats and absolutely positioned elements 10176
nsPlaceholderFrame.h rendering object for the point that anchors out-of-flow rendering objects such as floats and absolutely positioned elements 7485
nsPluginFrame.cpp rendering objects for replaced elements implemented by a plugin 57217
nsPluginFrame.h rendering objects for replaced elements implemented by a plugin 14606
nsQueryFrame.h 5510
nsRubyBaseContainerFrame.cpp rendering object for CSS "display: ruby-base-container" 33130
nsRubyBaseContainerFrame.h rendering object for CSS "display: ruby-base-container" 3594
nsRubyBaseFrame.cpp rendering object for CSS "display: ruby-base" 1430
nsRubyBaseFrame.h rendering object for CSS "display: ruby-base" 1339
nsRubyContentFrame.cpp base class for ruby rendering objects that directly contain content 1234
nsRubyContentFrame.h base class for ruby rendering objects that directly contain content 1242
nsRubyFrame.cpp rendering object for CSS "display: ruby" 16758
nsRubyFrame.h rendering object for CSS "display: ruby" 2539
nsRubyTextContainerFrame.cpp rendering object for CSS "display: ruby-text-container" 6569
nsRubyTextContainerFrame.h rendering object for CSS "display: ruby-text-container" 2723
nsRubyTextFrame.cpp rendering object for CSS "display: ruby-text" 2809
nsRubyTextFrame.h rendering object for CSS "display: ruby-text" 1839
nsSplittableFrame.cpp base class for rendering objects that can be split across lines, columns, or pages 9865
nsSplittableFrame.h base class for rendering objects that can be split across lines, columns, or pages 4560
nsSubDocumentFrame.cpp rendering object for replaced elements that contain a document, such as <frame>, <iframe>, and some <object>s 53669
nsSubDocumentFrame.h nsSubDocumentFrame *************************************************************************** 7767
nsTextFrame.cpp rendering object for textual content of elements 398407
nsTextFrame.h An implementation of gfxTextRun::PropertyProvider that computes spacing and hyphenation based on CSS properties for a text frame. 41546
nsTextFrameUtils.cpp static 14462
nsTextFrameUtils.h Returns true if aChars/aLength are something that make a space character not be whitespace when they follow the space character (combining mark or join control, ignoring intervening direction controls). 7061
nsTextRunTransformations.cpp 35147
nsTextRunTransformations.h Builds textruns that transform the text in some way (e.g., capitalize) and then render the text using some other textrun implementation. 10323
nsVideoFrame.cpp rendering object for the HTML <video> element 28919
nsVideoFrame.h rendering object for the HTML <video> element 4698
test 158