Name Description Size
AccessibleCaret.cpp static 13322
AccessibleCaret.h 7853
AccessibleCaretEventHub.cpp 22103
AccessibleCaretEventHub.h 8758
AccessibleCaretLogger.h 815
AccessibleCaretManager.cpp 50500
AccessibleCaretManager.h 16009
ArenaObjectID.h enum type for objects that can be allocated by an nsPresArena 707
AutoProfilerStyleMarker.h 3853
Baseline.cpp 4785
Baseline.h Synthesize a first(last) inline-axis baseline in aWM based on aFrame's margin-box. An alphabetical baseline is at the end edge of aFrame's margin-box with respect to aWM's block-axis, and a central baseline is halfway between the start and end edges. (aWM tells which baseline to use.) https://drafts.csswg.org/css-align-3/#synthesize-baseline @note This works only when aFrame's writing-mode is parallel to aWM. @param aWM the writing-mode of the alignment context. @return an offset from aFrame's border-box start(end) edge in aWM's block-axis for a first(last) baseline, respectively. 2879
CaretAssociationHint.h Hint whether a caret is associated with the content before a given character offset (Before), or with the content after a given character offset (After). 682
ContainStyleScopeManager.cpp aCommonAncestor = 7498
ContainStyleScopeManager.h Implementation of a self-contained `contain: style` scope which manages its own counters and quotes. Since the `counters()` function has read access to other `contain: style` scopes, USE counter nodes may link across `contain: style` scopes. 4615
crashtests
DepthOrderedFrameList.cpp 2024
DepthOrderedFrameList.h 2272
DisplayPortUtils.cpp static 37242
DisplayPortUtils.h Get display port for the given element, relative to the specified entity, defaulting to the scrollport. 12139
FrameProperties.h mDestructor will be called if it's non-null. 14982
GeckoMVMContext.cpp 7683
GeckoMVMContext.h An implementation of MVMContext that uses actual Gecko components. This is intended for production use (whereas TestMVMContext is intended for testing.) 2800
GeometryUtils.cpp This can modify aFrame to point to a different frame. This is needed to handle SVG, where SVG elements can only compute a rect that's valid with respect to the "outer SVG" frame. 17801
GeometryUtils.h This file defines utility functions for converting between layout coordinate systems. 2292
gtest
LayoutConstants.h constants used throughout the Layout module 3921
LayoutLogging.cpp 1037
LayoutLogging.h Retrieves the log module to use for layout logging. 2269
LayoutStructs.h Helper structs or classes used throughout the Layout module 2489
MediaEmulationData.h Common data for media query emulation by DevTools, hanging off nsPresContext 681
metrics.yaml 1074
MobileViewportManager.cpp 30177
MobileViewportManager.h The MobileViewportManager might be required to handle meta-viewport tags and changes, or it might not (e.g. if we are in a desktop-zooming setup). This enum indicates which mode the manager is in. It might make sense to split these two "modes" into two separate classes but for now they have a bunch of shared code and it's uncertain if that shared set will expand or contract. 9242
MotionPathUtils.cpp static 33035
MotionPathUtils.h 8921
moz.build 4515
MVMContext.h The interface MobileViewportManager uses to interface with its surroundings. This mainly exists to facilitate testing MobileViewportManager in isolation from the rest of Gecko. 2800
nsAutoLayoutPhase.cpp 3768
nsAutoLayoutPhase.h 1391
nsBidiPresUtils.cpp 95720
nsBidiPresUtils.h A structure representing some continuation state for each frame on the line, used to determine the first and the last continuation frame for each continuation chain on the line. 24029
nsCaret.cpp the caret is the text cursor used, e.g., when editing 23427
nsCaret.h the caret is the text cursor used, e.g., when editing 8454
nsChangeHint.h constants for what needs to be recomputed in response to style changes 21636
nsCompatibility.h constants for quirks mode, standards mode, and almost standards mode 628
nsCounterManager.cpp implementation of CSS counters (for numbering things) 20333
nsCounterManager.h implementation of CSS counters (for numbering things) 12880
nsCSSColorUtils.cpp functions that manipulate colors 5382
nsCSSColorUtils.h functions that manipulate colors 1987
nsCSSFrameConstructor.cpp construction of a frame tree that is nearly isomorphic to the content tree and updating of that tree in response to dynamic changes 488645
nsCSSFrameConstructor.h construction of a frame tree that is nearly isomorphic to the content tree and updating of that tree in response to dynamic changes 98858
nsDocumentViewer.cpp container for a document and its presentation 115675
nsFrameManager.cpp storage of the frame tree and information about it 8725
nsFrameManager.h Owns the frame tree and provides APIs to manipulate it 3450
nsFrameTraversal.cpp 8811
nsFrameTraversal.h Our own versions of the standard frame tree navigation methods, which, if the iterator is following out-of-flows, apply the following rules for placeholder frames: - If a frame HAS a placeholder frame, getting its parent gets the placeholder's parent. - If a frame's first child or next/prev sibling IS a placeholder frame, then we instead return the real frame. - If a frame HAS a placeholder frame, getting its next/prev sibling gets the placeholder frame's next/prev sibling. These are all applied recursively to support multiple levels of placeholders. 3601
nsGenConList.cpp base class for nsCounterList and nsQuoteList 8479
nsGenConList.h base class for nsCounterList and nsQuoteList 4415
nsIDocumentViewerPrint.h A DocumentViewerPrint is an INTERNAL Interface used for interaction between the DocumentViewer and nsPrintJob. 2891
nsILayoutHistoryState.idl interface for container for information saved in session history when the document is not 3604
nsIPercentBSizeObserver.h This interface is supported by frames that need to provide computed bsize values to children during reflow which would otherwise not happen. Currently only table cells support this. 1151
nsIPreloadedStyleSheet.idl The nsIPreloadedStyleSheet interface is an opaque interface for style sheets returned by nsIStyleSheetService.preloadSheet, and which can be passed to nsIDOMWindowUtils.addSheet. 633
nsIReflowCallback.h Reflow callback interface. These are not refcounted. Objects must be removed from the presshell callback list before they die. Protocol: objects will either get a ReflowFinished() call when a reflow has finished or a ReflowCallbackCanceled() call if the shell is destroyed, whichever happens first. If the object is explicitly removed from the shell (using PresShell::CancelReflowCallback()) before that occurs then neither of the callback methods are called. 1357
nsIStyleSheetService.idl interface for managing user and user-agent style sheets 2621
nsISVGPaintContext.idl Used to set SVG context values when rendering SVG images outside of a DOM context. 895
nsLayoutDebugger.cpp some layout debugging functions that ought to live in nsFrame.cpp 9474
nsLayoutHistoryState.cpp container for information saved in session history when the document is not 4603
nsLayoutUtils.cpp 373936
nsLayoutUtils.h nsLayoutUtils is a namespace class used for various helper functions that are useful in multiple places in layout. The goal is not to define multiple copies of the same static helper. 138839
nsPresArena.cpp arena allocation for the frame tree and closely-related objects 7293
nsPresArena.h arena allocation for the frame tree and closely-related objects 2011
nsPresArenaObjectList.h a list of all types that can be allocated in an nsPresArena, for preprocessing 1092
nsPresContext.cpp a presentation of a document, part 1 110012
nsPresContext.h a presentation of a document, part 1 50771
nsPresContextInlines.h 762
nsQuoteList.cpp implementation of quotes for the CSS 'content' property 5357
nsQuoteList.h implementation of quotes for the CSS 'content' property 3160
nsRefreshDriver.cpp Code to notify things that animate before a refresh, at an appropriate refresh rate. (Perhaps temporary, until replaced by compositor.) Chrome and each tab have their own RefreshDriver, which in turn hooks into one of a few global timer based on RefreshDriverTimer, defined below. There are two main global timers -- one for active animations, and one for inactive ones. These are implemented as subclasses of RefreshDriverTimer; see below for a description of their implementations. In the future, additional timer types may implement things like blocking on vsync. 119416
nsRefreshDriver.h Code to notify things that animate before a refresh, at an appropriate refresh rate. (Perhaps temporary, until replaced by compositor.) 26479
nsRefreshObservers.cpp 1811
nsRefreshObservers.h Code to notify things that animate before a refresh, at an appropriate refresh rate. (Perhaps temporary, until replaced by compositor.) 3281
nsStyleChangeList.cpp a list of the recomputation that needs to be done in response to a style change 3038
nsStyleChangeList.h a list of the recomputation that needs to be done in response to a style change 1591
nsStyleSheetService.cpp implementation of interface for managing user and user-agent style sheets 10154
nsStyleSheetService.h implementation of interface for managing user and user-agent style sheets 2470
OverflowChangedTracker.h Helper class that collects a list of frames that need UpdateOverflow() called on them, and coalesces them to avoid walking up the same ancestor tree multiple times. 6589
PositionedEventTargeting.cpp The basic goal of FindFrameTargetedByInputEvent() is to find a good target element that can respond to mouse events. Both mouse events and touch events are targeted at this element. Note that even for touch events, we check responsiveness to mouse events. We assume Web authors designing for touch events will take their own steps to account for inaccurate touch events. GetClickableAncestor() encapsulates the heuristic that determines whether an element is expected to respond to mouse events. An element is deemed "clickable" if it has registered listeners for "click", "mousedown" or "mouseup", or is on a whitelist of element tags (<a>, <button>, <input>, <select>, <textarea>, <label>), or has role="button", or is a link, or is a suitable XUL element. Any descendant (in the same document) of a clickable element is also deemed clickable since events will propagate to the clickable element from its descendant. If the element directly under the event position is clickable (or event radii are disabled), we always use that element. Otherwise we collect all frames intersecting a rectangle around the event position (taking CSS transforms into account) and choose the best candidate in GetClosest(). Only GetClickableAncestor() candidates are considered; if none are found, then we revert to targeting the element under the event position. We ignore candidates outside the document subtree rooted by the document of the element directly under the event position. This ensures that event listeners in ancestor documents don't make it completely impossible to target a non-clickable element in a child document. When both a frame and its ancestor are in the candidate list, we ignore the ancestor. Otherwise a large ancestor element with a mouse event listener and some descendant elements that need to be individually targetable would disable intelligent targeting of those descendants within its bounds. GetClosest() computes the transformed axis-aligned bounds of each candidate frame, then computes the Manhattan distance from the event point to the bounds rect (which can be zero). The frame with the shortest distance is chosen. For visited links we multiply the distance by a specified constant weight; this can be used to make visited links more or less likely to be targeted than non-visited links. 25366
PositionedEventTargeting.h Finds the target frame for a pointer event given the event type and location. This can look for frames within a rectangle surrounding the actual location that are suitable targets, to account for inaccurate pointing devices. 1262
PresShell.cpp a presentation of a document, part 2 441919
PresShell.h a presentation of a document, part 2 131735
PresShellForwards.h aWhere: Either a percentage or a special value. PresShell defines: * (Default) kScrollMinimum = -1: The visible area is scrolled the minimum amount to show as much as possible of the frame. This won't hide any initially visible part of the frame. * kScrollToTop = 0: The frame's upper edge is aligned with the top edge of the visible area. * kScrollToBottom = 100: The frame's bottom edge is aligned with the bottom edge of the visible area. * kScrollToLeft = 0: The frame's left edge is aligned with the left edge of the visible area. * kScrollToRight = 100: The frame's right edge is aligned* with the right edge of the visible area. * kScrollToCenter = 50: The frame is centered along the axis the ScrollAxis is used for. Other values are treated as a percentage, and the point*"percent" down the frame is placed at the point "percent" down the visible area. aWhen: * (Default) WhenToScroll::IfNotFullyVisible: Move the frame only if it is not fully visible (including if it's not visible at all). Note that in this case if the frame is too large to fit in view, it will only be scrolled if more of it can fit than is already in view. * WhenToScroll::IfNotVisible: Move the frame only if none of it is visible. * WhenToScroll::Always: Move the frame regardless of its current visibility. aOnlyIfPerceivedScrollableDirection: If the direction is not a perceived scrollable direction (i.e. no scrollbar showing and less than one device pixel of scrollable distance), don't scroll. Defaults to false. 8033
PresShellInlines.h static 2387
PresState.ipdlh 1524
RelativeTo.h 2116
RestyleManager.cpp 160293
RestyleManager.h A stack class used to pass some common restyle state in a slightly more comfortable way than a bunch of individual arguments, and that also checks that the change hint used for optimization is correctly used in debug mode. 25147
ScrollStyles.cpp 1818
ScrollStyles.h 1425
ScrollTypes.h Scroll modes for main-thread scroll operations. These are mostly used by ScrollContainerFrame methods. When a scroll operation is requested, we ask for instant, smooth, smooth msd, or normal scrolling. |Smooth| scrolls have a symmetrical acceleration and deceleration curve modeled with a set of splines that guarantee that the destination will be reached over a fixed time interval. |Smooth| will only be smooth if smooth scrolling is actually enabled. This behavior is utilized by keyboard and mouse wheel scrolling events. |SmoothMsd| implements a physically based model that approximates the behavior of a mass-spring-damper system. |SmoothMsd| scrolls have a non-symmetrical acceleration and deceleration curve, can potentially overshoot the destination on intermediate frames, and complete over a variable time interval. |SmoothMsd| will only be smooth if cssom-view smooth-scrolling is enabled. |Instant| is always synchronous, |Normal| can be asynchronous. If an |Instant| scroll request happens while a |Smooth| or async scroll is already in progress, the async scroll is interrupted and we instantly scroll to the destination. If an |Instant| or |Smooth| scroll request happens while a |SmoothMsd| scroll is already in progress, the |SmoothMsd| scroll is interrupted without first scrolling to the destination. 2884
ShapeUtils.cpp static 9917
ShapeUtils.h 7414
StackArena.cpp 4732
StackArena.h 2322
StaticPresData.cpp Fetch the font prefs to be used -- see bug 61883 for details. Not all prefs are needed upfront. Some are fallback prefs intended for the GFX font sub-system... -- attributes for generic fonts -------------------------------------- font.default.[langGroup] = serif | sans-serif fallback generic font font.name.[generic].[langGroup] current user' selected font on the pref dialog font.name-list.[generic].[langGroup] = fontname1, fontname2, ... [factory pre-built list] font.size.[generic].[langGroup] = integer settable by the user font.size-adjust.[generic].[langGroup] = "float" settable by the user font.minimum-size.[langGroup] = integer settable by the user 8094
StaticPresData.h Get the default font for the given language and generic font ID. aLanguage may not be nullptr. This object is read-only, you must copy the font to modify it. For aFontID corresponding to a CSS Generic, the nsFont returned has its name set to that generic font's name, and its size set to the user's preference for font size for that generic and the given language. 6714
SurfaceFromElementResult.h imgIContainer to directly draw to a context 3344
tests
TouchManager.cpp static 20630
TouchManager.h Description of TouchManager class. Incapsulate code related with work of touch events. 4511
Units.h 41090
UnitTransforms.h 17612
ViewportUtils.cpp 12407
ViewportUtils.h Return a transform to be applied to the coordinates of input events targeting content inside the scroll frame identified by |aScrollId|, which converts from "visual coordinates" (which are the coordinates events have when they arrive from APZ) to "layout coordinates" (which are the coordinates used in most places by layout code). The transform has two components: 1. The pres shell resolution, representing the pinch-zoom scale (if the scroll frame |aScrollId| is inside the resolution, which is most of the time). 2. A translation representing async scrolling. This can contain: - For any scroll frame, a scroll component resulting from the main thread incompletely applying an APZ-requested scroll position. - For the RCD-RSF only, a persistent component representing the offset of the visual viewport relative to the layout viewport. The translation is accumulated for all scroll frames form |aScrollId| up to the root, using values populated in APZCCallbackHelper::UpdateCallbackTransform. See that method's documentation for additional details. 6006
WordMovementType.h 509
ZoomConstraintsClient.cpp 10997
ZoomConstraintsClient.h 1564