Name Description Size Coverage
AccessibleCaret.cpp static 12679 -
AccessibleCaret.h 7850 -
AccessibleCaretEventHub.cpp 22105 -
AccessibleCaretEventHub.h 8730 -
AccessibleCaretLogger.h 815 -
AccessibleCaretManager.cpp 56666 -
AccessibleCaretManager.h 19752 -
AnchorPositioningUtils.cpp 52035 -
AnchorPositioningUtils.h 15992 -
ArenaObjectID.h enum type for objects that can be allocated by an nsPresArena 709 -
AutoProfilerStyleMarker.h 3853 -
Baseline.cpp 4672 -
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. 3141 -
CaretAssociationHint.cpp 2994 -
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). 1189 -
ContainStyleScopeManager.cpp aCommonAncestor = 7656 -
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. 4597 -
crashtests -
DepthOrderedFrameList.cpp 2683 -
DepthOrderedFrameList.h 2506 -
DisplayPortUtils.cpp static 56817 -
DisplayPortUtils.h Get display port for the given element, relative to the specified entity, defaulting to the scrollport. 17779 -
FrameProperties.h mDestructor will be called if it's non-null. 15028 -
GeckoMVMContext.cpp 7601 -
GeckoMVMContext.h An implementation of MVMContext that uses actual Gecko components. This is intended for production use (whereas TestMVMContext is intended for testing.) 2799 -
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 3915 -
LayoutLogging.cpp 983 -
LayoutLogging.h Retrieves the log module to use for layout logging. 2269 -
LayoutStructs.h Helper structs or classes used throughout the Layout module 2635 -
MediaEmulationData.h Common data for media query emulation by DevTools, hanging off nsPresContext 681 -
metrics.yaml 7949 -
MobileViewportManager.cpp 30915 -
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. 9609 -
MotionPathUtils.cpp static 33425 -
MotionPathUtils.h 8921 -
moz.build 4183 -
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 3769 -
nsAutoLayoutPhase.h 1391 -
nsBidiPresUtils.cpp 95887 -
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. 24023 -
nsCaret.cpp the caret is the text cursor used, e.g., when editing 22617 -
nsCaret.h the caret is the text cursor used, e.g., when editing 8591 -
nsCompatibility.h constants for quirks mode, standards mode, and almost standards mode 622 -
nsCounterManager.cpp implementation of CSS counters (for numbering things) 20354 -
nsCounterManager.h implementation of CSS counters (for numbering things) 12922 -
nsCSSColorUtils.cpp functions that manipulate colors 5384 -
nsCSSColorUtils.h functions that manipulate colors 1985 -
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 468396 -
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 96131 -
nsDocumentViewer.cpp container for a document and its presentation 108633 -
nsFrameManager.cpp storage of the frame tree and information about it 9227 -
nsFrameManager.h Owns the frame tree and provides APIs to manipulate it 3450 -
nsFrameTraversal.cpp 10197 -
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. 3869 -
nsGenConList.cpp base class for nsCounterList and nsQuoteList 8480 -
nsGenConList.h base class for nsCounterList and nsQuoteList 4410 -
nsIDocumentViewerPrint.h A DocumentViewerPrint is an INTERNAL Interface used for interaction between the DocumentViewer and nsPrintJob. 2437 -
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. 1145 -
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. 1351 -
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 9535 -
nsLayoutHistoryState.cpp container for information saved in session history when the document is not 4571 -
nsLayoutUtils.cpp 380008 -
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. 148014 -
nsPresArena.cpp arena allocation for the frame tree and closely-related objects 7265 -
nsPresArena.h arena allocation for the frame tree and closely-related objects 1955 -
nsPresArenaObjectList.inc a list of all types that can be allocated in an nsPresArena, for preprocessing 1092 -
nsPresContext.cpp a presentation of a document, part 1 104927 -
nsPresContext.h a presentation of a document, part 1 51614 -
nsPresContextInlines.h 762 -
nsQuoteList.cpp implementation of quotes for the CSS 'content' property 5358 -
nsQuoteList.h implementation of quotes for the CSS 'content' property 3122 -
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. 108198 -
nsRefreshDriver.h Code to notify things that animate before a refresh, at an appropriate refresh rate. (Perhaps temporary, until replaced by compositor.) 21201 -
nsRefreshObservers.cpp 1812 -
nsRefreshObservers.h Code to notify things that animate before a refresh, at an appropriate refresh rate. (Perhaps temporary, until replaced by compositor.) 3281 -
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. 7432 -
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. 35877 -
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. 1263 -
PresShell.cpp a presentation of a document, part 2 466747 -
PresShell.h a presentation of a document, part 2 143064 -
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. 7798 -
PresShellInlines.h static 2375 -
PresShellWidgetListener.cpp aDelay = 9877 -
PresShellWidgetListener.h Attach/detach a top level widget. Attaching allows the shell to begin receiving gecko events. The underlying base window associated with the widget will continues to receive events it expects. An attached widget will not be destroyed when we are destroyed, allowing the recycling of a single top level widget over multiple pres shells. @param aWidget The widget to attach to / detach from. 3079 -
PresState.ipdlh 1524 -
RelativeTo.h 2233 -
RenderingPhase.h 1737 -
ScrollStyles.cpp 1819 -
ScrollStyles.h 1307 -
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 9941 -
ShapeUtils.h 7320 -
StackArena.cpp 4733 -
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 7696 -
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. 6693 -
SurfaceFromElementResult.h imgIContainer to directly draw to a context 3345 -
tests -
TouchManager.cpp static 20615 -
TouchManager.h Description of TouchManager class. Incapsulate code related with work of touch events. 4511 -
UniqueOrNonOwningPtr.h A pointer that is either: * Uniquely-owning, as if `std::unique_ptr`/`mozilla::UniquePtr`, or * Non-owning, as if raw pointer. Overall, it behaves like `mozilla::Variant<T*, UniquePtr<T>>`, but more compact. It may be helpful if you are mostly referencing existing data type of significant size, but sometimes generate a modified copy and refer to that. Usage notes: * Ownership: This structure makes ownership tracking harder. It is the caller's responsibility to ensure that, in the non-owning case, the data outlives this pointer. * (Ab)using the lowest bit: Owning state is tagged inline in the lowest bit, which is set for uniquely-owning data. It does not work with a byte-aligned data types, or members of a packed struct. There are asserts to try and catch this as early as possible. TODO(dshin): This lacks support for things that `mozilla::UniquePtr` supports - however, these cases will fail to compile. * Deleter support (Even stateless ones) * Interconversion (Pointing to derived from base pointer) * T[] 4782 -
Units.h 43293 -
UnitTransforms.h 17612 -
ViewportUtils.cpp 11930 -
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. 5900 -
WordMovementType.h 505 -
ZoomConstraintsClient.cpp 10931 -
ZoomConstraintsClient.h 1564 -