Name Description Size
AccessibleCaret.cpp static 12307
AccessibleCaret.h 8199
AccessibleCaretEventHub.cpp 22500
AccessibleCaretEventHub.h 8729
AccessibleCaretLogger.h 815
AccessibleCaretManager.cpp 47687
AccessibleCaretManager.h 13973
ArenaObjectID.h enum type for objects that can be allocated by an nsPresArena 707
AutoProfilerStyleMarker.h 1743
CaretAssociationHint.h Hint whether a caret is associated with the content before a given character offset (ASSOCIATE_BEFORE), or with the content after a given character offset (ASSOCIATE_AFTER). 718
FrameProperties.h mDestructor will be called if it's non-null. 15068
GeckoMVMContext.cpp 7012
GeckoMVMContext.h An implementation of MVMContext that uses actual Gecko components. This is intended for production use (whereas TestMVMContext is intended for testing.) 2586
GeometryUtils.cpp 17855
GeometryUtils.h This file defines utility functions for converting between layout coordinate systems. 2308
LayoutConstants.h constants used throughout the Layout module 1133
LayoutLogging.cpp 1019
LayoutLogging.h Retrieves the log module to use for layout logging. 2269
LayoutTelemetryTools.cpp 5890
LayoutTelemetryTools.h Tools for collecting and reporting layout and style telemetry 2684
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. 2512
MediaEmulationData.h Common data for media query emulation by DevTools, hanging off nsPresContext 809
MobileViewportManager.cpp 27614
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. 8159
MotionPathUtils.cpp 22888
MotionPathUtils.h Generate the motion path transform result. This function may be called on the compositor thread. 6899
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. 6595
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. 21916
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. 1265
PresShell.cpp a presentation of a document, part 2 415959
PresShell.h a presentation of a document, part 2 125826
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. 8512
PresShellInlines.h static 2099
PresState.ipdlh 1392
RelativeTo.h 2115
RestyleManager.cpp 147056
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. 23498
ScrollStyles.cpp 1818
ScrollStyles.h 1425
ScrollTypes.h Scroll modes for main-thread scroll operations. These are mostly used by nsIScrollableFrame methods. When a scroll operation is requested, we ask for instant, smooth, smooth msd, or normal scrolling. |eSmooth| 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. |eSmooth| will only be smooth if smooth scrolling is actually enabled. This behavior is utilized by keyboard and mouse wheel scrolling events. |eSmoothMsd| implements a physically based model that approximates the behavior of a mass-spring-damper system. |eSmoothMsd| scrolls have a non-symmetrical acceleration and deceleration curve, can potentially overshoot the destination on intermediate frames, and complete over a variable time interval. |eSmoothMsd| will only be smooth if cssom-view smooth-scrolling is enabled. |eInstant| is always synchronous, |eNormal| can be asynchronous. If an |eInstant| scroll request happens while a |eSmooth| or async scroll is already in progress, the async scroll is interrupted and we instantly scroll to the destination. If an |eInstant| or |eSmooth| scroll request happens while a |eSmoothMsd| scroll is already in progress, the |eSmoothMsd| scroll is interrupted without first scrolling to the destination. 2056
ShapeUtils.cpp static 5603
ShapeUtils.h 4171
StackArena.cpp 4720
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 8998
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. 6317
TouchManager.cpp static 15954
TouchManager.h Description of TouchManager class. Incapsulate code related with work of touch events. 2892
UnitTransforms.h 16117
Units.h 36526
ViewportUtils.cpp 8949
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. 5415
WordMovementType.h 509
ZoomConstraintsClient.cpp 8945
ZoomConstraintsClient.h 1398
crashtests 587
gtest 3
moz.build 4382
nsAutoLayoutPhase.cpp 3768
nsAutoLayoutPhase.h 1391
nsBidi.cpp 1775
nsBidi.h @brief Default constructor. The nsBidi object is initially empty. It is assigned the Bidi properties of a paragraph by <code>SetPara()</code>. 7692
nsBidiPresUtils.cpp 91094
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. 23930
nsCSSColorUtils.cpp functions that manipulate colors 5382
nsCSSColorUtils.h functions that manipulate colors 1624
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 484632
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 95448
nsCaret.cpp the caret is the text cursor used, e.g., when editing 32502
nsCaret.h the caret is the text cursor used, e.g., when editing 9758
nsChangeHint.h constants for what needs to be recomputed in response to style changes 22318
nsCompatibility.h constants for quirks mode, standards mode, and almost standards mode 628
nsCounterManager.cpp implementation of CSS counters (for numbering things) 12276
nsCounterManager.h implementation of CSS counters (for numbering things) 9816
nsDocumentViewer.cpp container for a document and its presentation 120235
nsFrameManager.cpp storage of the frame tree and information about it 8266
nsFrameManager.h Owns the frame tree and provides APIs to manipulate it 3218
nsFrameTraversal.cpp 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. 13421
nsFrameTraversal.h 1390
nsGenConList.cpp base class for nsCounterList and nsQuoteList 6895
nsGenConList.h base class for nsCounterList and nsQuoteList 5249
nsIDocumentViewerPrint.h A DocumentViewerPrint is an INTERNAL Interface used for interaction between the DocumentViewer and nsPrintJob. 3373
nsIFrameTraversal.h Create a frame iterator with the specified properties. @param aEnumerator [out] the created iterator @param aPresContext [in] @param aStart [in] the frame to start iterating from @param aType [in] the type of the iterator: leaf, pre-order, or post-order @param aVisual [in] whether the iterator should traverse frames in visual bidi order @param aLockInScrollView [in] whether to stop iterating when exiting a scroll view @param aFollowOOFs [in] whether the iterator should follow out-of-flows. If true, when reaching a placeholder frame while going down will get the real frame. Going back up will go on past the placeholder, so the placeholders are logically part of the frame tree. @param aSkipPopupChecks [in] if false, then don't iterate into or out of a popup frame. If true, skip any popup related checks. 3101
nsILayoutHistoryState.idl interface for container for information saved in session history when the document is not 3606
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
nsLayoutDebugger.cpp some layout debugging functions that ought to live in nsFrame.cpp 9850
nsLayoutHistoryState.cpp container for information saved in session history when the document is not 4842
nsLayoutUtils.cpp 398178
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. 142226
nsPresArena.cpp arena allocation for the frame tree and closely-related objects 7321
nsPresArena.h arena allocation for the frame tree and closely-related objects 2040
nsPresArenaObjectList.h a list of all types that can be allocated in an nsPresArena, for preprocessing 1127
nsPresContext.cpp a presentation of a document, part 1 96761
nsPresContext.h a presentation of a document, part 1 49203
nsPresContextInlines.h 744
nsQuoteList.cpp implementation of quotes for the CSS 'content' property 4312
nsQuoteList.h implementation of quotes for the CSS 'content' property 2959
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. 93950
nsRefreshDriver.h Code to notify things that animate before a refresh, at an appropriate refresh rate. (Perhaps temporary, until replaced by compositor.) 23355
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 11758
nsStyleSheetService.h implementation of interface for managing user and user-agent style sheets 2797
tests 432