Name Description Size
AbstractRange.cpp 7804
AbstractRange.h Called when the process is shutting down. 5307
AncestorIterator.h Implementation of some generic iterators over ancestor nodes. Note that these keep raw pointers to the nodes they iterate from, and as such the DOM should not be mutated while they're in use. There are debug assertions (via nsMutationGuard) that check this in debug builds. 4903
AnchorAreaFormRelValues.cpp 630
AnchorAreaFormRelValues.h 698
AnimationFrameProvider.cpp 1657
AnimationFrameProvider.h The current frame request callback handle 2232
AnonymousContent.cpp 7013
AnonymousContent.h 3370
Attr.cpp Implementation of DOM Core's Attr node. 6982
Attr.h Implementation of DOM Core's Attr node. 3239
AttrArray.cpp Storage of the children and attributes of a DOM node; storage for the two is unified to minimize footprint. 15512
AttrArray.h Storage of the attributes of a DOM node. 9198
AutocompleteFieldList.h This file contains the list of field names that are used in @autocomplete attribute for <input>, <select> and <textarea> controls. It is designed to be used as inline input through the magic of C preprocessing. The first argument to AUTOCOMPLETE_* macro is the identifier for the token The second argument is the string value of the token 8883
AutoPrintEventDispatcher.h 4366
AutoSuppressEventHandlingAndSuspend.h Suppresses event handling and suspends for all in-process documents in a BrowsingContext subtree. 2003
BarProps.cpp 6973
BarProps.h BarProps are the collection of little properties of DOM windows whose only property of their own is "visible". They describe the window chrome which can be made visible or not through JavaScript by setting the appropriate property (window.menubar.visible) 4161
BindContext.cpp 1394
BindContext.h State that is passed down to BindToTree. 3593
BodyConsumer.cpp Called on successfully reading the complete stream. 24852
BodyConsumer.h Returns a promise which will be resolved when the body is completely consumed and converted to the wanted type (See ConsumeType). @param aGlobal the global to construct the Promise. @param aMainThreadEventTarget the main-thread event target. The reading needs to start on the main-thread because of nsIInputStreamPump. @param aBodyStream the stream to read. @param aSignalImpl an AbortSignal object. Optional. @param aType the consume type. @param aBodyBlobURISpec this is used only if the consume type is CONSUME_BLOB. Optional. @param aBodyLocalPath local path in case the blob is created from a local file. Used only by CONSUME_BLOB. Optional. @param aBodyMimeType the mime-type for blob. Used only by CONSUME_BLOB. Optional. @param aMixedCaseMimeType is needed to get mixed case multipart boundary value to FormDataParser. @param aBlobStorageType Blobs can be saved in temporary file. This is the type of blob storage to use. Used only by CONSUME_BLOB. @param aRv An ErrorResult. 4832
BodyStream.cpp static 18833
BodyStream.h 5430
BodyUtil.cpp A simple multipart/form-data parser as defined in RFC 2388 and RFC 2046. This does not respect any encoding specified per entry, using UTF-8 throughout. This is as the Fetch spec states in the consume body algorithm. Borrows some things from Necko's nsMultiMixedConv, but is simpler since unlike Necko we do not have to deal with receiving incomplete chunks of data. This parser will fail the entire parse on any invalid entry, so it will never return a partially filled FormData. The content-disposition header is used to figure out the name and filename entries. The inclusion of the filename parameter decides if the entry is inserted into the FormData as a string or a File. File blobs are copies of the underlying data string since we cannot adopt char* chunks embedded within the larger body without significant effort. FIXME(nsm): Bug 1127552 - We should add telemetry to calls to formData() and friends to figure out if Fetch ends up copying big blobs to see if this is worth optimizing. 14546
BodyUtil.h Creates an array buffer from an array, assigning the result to |aValue|. The array buffer takes ownership of |aInput|, which must be allocated by |malloc|. 2466
BorrowedAttrInfo.cpp 772
BorrowedAttrInfo.h Struct that stores info on an attribute. The name and value must either both be null or both be non-null. Note that, just as the pointers returned by GetAttrNameAt, the pointers that this struct hold are only valid until the element or its attributes are mutated (directly or via script). 1168
CallState.h 746
CCGCScheduler.cpp GC Scheduling from Firefox ========================== See also GC Scheduling from SpiderMonkey's perspective here: https://searchfox.org/mozilla-central/source/js/src/gc/Scheduling.h From Firefox's perspective GCs can start in 5 different ways: * The JS engine just starts doing a GC for its own reasons (see above). Firefox finds out about these via a callback in nsJSEnvironment.cpp * PokeGC() * PokeFullGC() * PokeShrinkingGC() * memory-pressure GCs (via a listener in nsJSEnvironment.cpp). PokeGC ------ void CCGCScheduler::PokeGC(JS::GCReason aReason, JSObject* aObj, TimeDuration aDelay) PokeGC provides a way for callers to say "Hey, there may be some memory associated with this object (via Zone) you can collect." PokeGC will: * add the zone to a set, * set flags including what kind of GC to run (SetWantMajorGC), * then creates the mGCRunner with a short delay. The delay can allow other calls to PokeGC to add their zones so they can be collected together. See below for what happens when mGCRunner fires. PokeFullGC ---------- void CCGCScheduler::PokeFullGC() PokeFullGC will create a timer that will initiate a "full" (all zones) collection. This is usually used after a regular collection if a full GC seems like a good idea (to collect inter-zone references). When the timer fires it will: * set flags (SetWantMajorGC), * start the mGCRunner with zero delay. See below for when mGCRunner fires. PokeShrinkingGC --------------- void CCGCScheduler::PokeShrinkingGC() PokeShrinkingGC is called when Firefox's user is inactive. Like PokeFullGC, PokeShrinkingGC uses a timer, but the timeout is longer which should prevent the ShrinkingGC from starting if the user only glances away for a brief time. When the timer fires it will: * set flags (SetWantMajorGC), * create the mGCRunner. There is a check if the user is still inactive in GCRunnerFired), if the user has become active the shrinking GC is canceled and either a regular GC (if requested, see mWantAtLeastRegularGC) or no GC is run. When mGCRunner fires -------------------- When mGCRunner fires it calls GCRunnerFired. This starts in the WaitToMajorGC state: * If this is a parent process it jumps to the next state * If this is a content process it will ask the parent if now is a good time to do a GC. (MayGCNow) * kill the mGCRunner * Exit Meanwhile the parent process will queue GC requests so that not too many are running in parallel overwhelming the CPU cores (see IdleSchedulerParent). When the promise from MayGCNow is resolved it will set some state (NoteReadyForMajorGC) and restore the mGCRunner. When the mGCRunner runs a second time (or this is the parent process and which jumped over the above logic. It will be in the StartMajorGC state. It will initiate the GC for real, usually. If it's a shrinking GC and the user is now active again it may abort. See GCRunnerFiredDoGC(). The runner will then run the first slice of the garbage collection. Later slices are also run by the runner, the final slice kills the runner from the GC callback in nsJSEnvironment.cpp. There is additional logic in the code to handle concurrent requests of various kinds. 39475
CCGCScheduler.h 18599
CharacterData.cpp Base class for DOM Core's Comment, DocumentType, Text, CDATASection and ProcessingInstruction nodes. 19060
CharacterData.h Base class for DOM Core's Comment, DocumentType, Text, CDATASection, and ProcessingInstruction nodes. 7723
ChildIterator.cpp 8483
ChildIterator.h AllChildrenIterator traverses the children of an element including before / after content and shadow DOM. The iterator can be initialized to start at the end by providing false for aStartAtBeginning in order to start iterating in reverse from the last child. Note: it assumes that no mutation of the DOM or frame tree takes place during iteration, and will break horribly if that is not true. 7166
ChildProcessMessageManager.h 1313
ChromeMessageBroadcaster.cpp 777
ChromeMessageBroadcaster.h Implementation for the WebIDL ChromeMessageBroadcaster interface. Used for window and group message managers. 2117
ChromeMessageSender.cpp 735
ChromeMessageSender.h 1650
ChromeNodeList.cpp 1839
ChromeNodeList.h 1058
ChromeUtils.cpp static 63635
ChromeUtils.h 13358
Comment.cpp Implementations of DOM Core's Comment node. 2036
Comment.h 1875
components.conf 1302
CompressionStream.cpp default memLevel 9555
CompressionStream.h 1733
ContentAreaDropListener.jsm 10365
ContentFrameMessageManager.cpp 900
ContentFrameMessageManager.h Base class for implementing the WebIDL ContentFrameMessageManager class. 2167
ContentIterator.cpp 32721
ContentIterator.h ContentIteratorBase is a base class of PostContentIterator, PreContentIterator and ContentSubtreeIterator. Making each concrete classes "final", compiler can avoid virtual calls if they are treated by the users directly. 9102
ContentProcessMessageManager.cpp 4194
ContentProcessMessageManager.h This class implements a singleton process message manager for content processes. Each child process has exactly one instance of this class, which hosts the process's process scripts, and may exchange messages with its corresponding ParentProcessMessageManager on the parent side. 3351
CORSMode.h The default of not using CORS to validate cross-origin loads. 916
crashtests
Crypto.cpp virtual 3378
Crypto.h 1410
CustomElementRegistry.cpp static 55351
CustomElementRegistry.h 21521
DecompressionStream.cpp 11553
DecompressionStream.h 1747
DirectionalityUtils.cpp 48415
DirectionalityUtils.h Various methods for returning the directionality of a string using the first-strong algorithm defined in http://unicode.org/reports/tr9/#P2 @param[out] aFirstStrong the offset to the first character in the string with strong directionality, or UINT32_MAX if there is none (return value is eDir_NotSet). @return the directionality of the string 6350
DispatcherTrait.cpp 1021
DispatcherTrait.h 1696
DocGroup.cpp static 14499
DocGroup.h 5722
Document.cpp Base class for all our document implementations. 624632
Document.h 201323
DocumentFragment.cpp Implementation of DOM Core's DocumentFragment. 3631
DocumentFragment.h 3626
DocumentInlines.h 2108
DocumentOrShadowRoot.cpp 24387
DocumentOrShadowRoot.h A class meant to be shared by ShadowRoot and Document, that holds a list of stylesheets. TODO(emilio, bug 1418159): In the future this should hold most of the relevant style state, this should allow us to fix bug 548397. 10223
DocumentType.cpp Implementation of DOM Core's DocumentType node. 2779
DocumentType.h Implementation of DOM Core's DocumentType node. 2384
DOMArena.h 2070
domerr.msg 11428
DOMException.cpp DOM4 errors from http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception 13821
DOMException.h unused 5980
DOMImplementation.cpp 7277
DOMImplementation.h 2398
DOMIntersectionObserver.cpp 32379
DOMIntersectionObserver.h 7575
DOMMatrix.cpp 32355
DOMMatrix.h 13138
DOMMozPromiseRequestHolder.h This is a helper class that can be used when MozPromises are being consumed by binding layer code. It effectively creates a MozPromiseRequestHolder that auto-disconnects when the binding's global is disconnected. It can be used like this: RefPtr<Promise> SomeAsyncAPI(Args& aArgs, ErrorResult& aRv) { nsIGlobalObject* global = GetParentObject(); if (!global) { aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); return nullptr; } RefPtr<Promise> outer = Promise::Create(global, aRv); if (aRv.Failed()) { return nullptr; } RefPtr<DOMMozPromiseRequestHolder> holder = new DOMMozPromiseRequestHolder(global); DoAsyncStuff()->Then( global->EventTargetFor(TaskCategory::Other), __func__, [holder, outer] (const Result& aResult) { holder->Complete(); // Note, you can access the holder's bound global in // your reaction handler. Its mostly likely set if // the handler fires, but you still must check for // its existence since something could disconnect // the global between when the MozPromise reaction // runnable is queued and when it actually runs. nsIGlobalObject* global = holder->GetParentObject(); NS_ENSURE_TRUE_VOID(global); outer->MaybeResolve(aResult); }, [holder, outer] (nsresult aRv) { holder->Complete(); outer->MaybeReject(aRv); })->Track(*holder); return outer.forget(); } NOTE: Currently this helper class extends DETH. This is only so that it can bind to the global and receive the DisconnectFromOwner() method call. In this future the binding code should be factored out so DETH is not needed here. See bug 1456893. 3771
DOMParser.cpp 11033
DOMParser.h 3422
DOMPoint.cpp 4512
DOMPoint.h MOZILLA_DOMPOINT_H_ 3672
DOMQuad.cpp 5250
DOMQuad.h MOZILLA_DOMRECT_H_ 3044
DOMRect.cpp 5721
DOMRect.h 5458
DOMRequest.cpp virtual 7915
DOMRequest.h 2914
DOMRequestHelper.jsm Helper object for APIs that deal with DOMRequests and Promises. It allows objects inheriting from it to create and keep track of DOMRequests and Promises objects in the common scenario where requests are created in the child, handed out to content and delivered to the parent within an async message (containing the identifiers of these requests). The parent may send messages back as answers to different requests and the child will use this helper to get the right request object. This helper also takes care of releasing the requests objects when the window goes out of scope. DOMRequestIPCHelper also deals with message listeners, allowing to add them to the child side of frame and process message manager and removing them when needed. 9539
DOMStringList.cpp 1034
DOMStringList.h mozilla_dom_DOMStringList_h 2377
DOMTokenListSupportedTokens.h Definitions of supported tokens data types for nsDOMTokenList. This is in a separate header so Element.h can include it too. 1207
Element.cpp Base class for all element classes; this provides an implementation of DOM Core's Element, implements nsIContent, provides utility methods for subclasses, and so forth. 170484
Element.h Base class for all element classes; this provides an implementation of DOM Core's Element, implements nsIContent, provides utility methods for subclasses, and so forth. 88260
ElementInlines.h 1364
EventSource.cpp 66615
EventSource.h This implementation has support only for http requests. It is because the spec has defined event streams only for http. HTTP is required because this implementation uses some http headers: "Last-Event-ID", "Cache-Control" and "Accept". 2783
EventSourceEventService.cpp static 9453
EventSourceEventService.h Casting EventSourceEventService to nsISupports is ambiguous. This method handles that. 2390
External.cpp 651
External.h 1138
FilteredNodeIterator.h Implementation of a generic filtered iterator over nodes. 1334
FlushType.h This is the enum used by Document::FlushPendingNotifications to decide what to flush. Please note that if you change these values, you should sync it with the kFlushTypeNames array below. 2336
FormData.cpp 12071
FormData.h 5444
FragmentOrElement.cpp Base class for all element classes and DocumentFragment. 68636
FragmentOrElement.h Base class for all element classes as well as nsDocumentFragment. This provides an implementation of nsINode, implements nsIContent, provides utility methods for subclasses, and so forth. 10381
FromParser.h Constants for passing as aFromParser 706
FullscreenChange.h Struct for holding fullscreen request. 5474
FuzzingFunctions.cpp static 14491
FuzzingFunctions.h ActivateModifiers() activates aModifiers in the TextInputProcessor. @param aTextInputProcessor The TIP whose modifier state you want to change. @param aModifiers Modifiers which you want to activate. @param aWidget The widget which should be set to WidgetKeyboardEvent. @param aRv Returns error if TextInputProcessor fails to dispatch a modifier key event. @return Modifiers which are activated by the call. 2881
fuzztest
gen-usecounters.py #ifndef %(name)s #define %(name)s(interface_, name_) // nothing #define DEFINED_%(name)s #endif 2138
GeneratedImageContent.cpp 1557
GeneratedImageContent.h A content node that keeps track of an index in the parent's `content` property value, used for url() values in the content of a ::before or ::after pseudo-element. 2492
Highlight.cpp 6175
Highlight.h @brief Representation of a custom `Highlight`. A `Highlight` is defined in JS as a collection of `AbstractRange`s. Furthermore, a custom highlight contains the highlight type and priority. A highlight is added to a document using the `HighlightRegistry` interface. A highlight can be added to a document using different names as well as to multiple `HighlightRegistries`. To propagate runtime changes of the highlight to its registries, an observer pattern is implemented. The spec defines this class as a `setlike`. To allow access and iteration of the setlike contents from C++, the insertion and deletion operations are overridden and the Ranges are also stored internally in an Array. @see https://drafts.csswg.org/css-highlight-api-1/#creation 6134
HighlightRegistry.cpp 7825
HighlightRegistry.h @brief HighlightRegistry manages all `Highlight`s available to a `Document`. This class is exposed via `HighlightRegistry.webidl` and used to add or remove `Highlight` instances to a document and binding it to a highlight name. The HighlightRegistry idl interface defines this class to be a `maplike`. To be able to access the members of the maplike without proper support for iteration from C++, the insertion and deletion operations are overridden and the data is also held inside of this class. @see https://drafts.csswg.org/css-highlight-api-1/#registration 5043
HTMLSplitOnSpacesTokenizer.h 584
IdentifierMapEntry.h Entry for the Document or ShadowRoot's identifier map. 7543
IdleDeadline.cpp 2646
IdleDeadline.h 1626
IdleRequest.cpp 1955
IdleRequest.h 1518
IDTracker.cpp aReferenceImage = 8600
IDTracker.h Class to track what element is referenced by a given ID. To use it, call one of the Reset methods to set it up to watch a given ID. Call get() anytime to determine the referenced element (which may be null if the element isn't found). When the element changes, ElementChanged will be called, so subclass this class if you want to receive that notification. ElementChanged runs at safe-for-script time, i.e. outside of the content update. Call Unlink() if you want to stop watching for changes (get() will then return null). By default this is a single-shot tracker --- i.e., when ElementChanged fires, we will automatically stop tracking. get() will continue to return the changed-to element. Override IsPersistent to return true if you want to keep tracking after the first change. 6259
IframeSandboxKeywordList.h NOTE: no include guard; this file is meant to maybe be included multiple times. It has a list of the sandbox keywords we support, with their corresponding sandbox flags. 2113
ImageEncoder.cpp 16583
ImageEncoder.h The callback interface of ExtractDataAsync and ExtractDataFromLayersImageAsync. ReceiveBlobImpl() is called on main thread when encoding is complete. 5447
ImageTracker.cpp table of images used in a document, for batch locking/unlocking and animating 4696
ImageTracker.h table of images used in a document, for batch locking/unlocking and animating 2243
IndexedDBHelper.sys.mjs Open a new database. User has to provide upgradeSchema. @param successCb Success callback to call once database is open. @param failureCb Error callback to call when an error is encountered. 6846
InProcessBrowserChildMessageManager.cpp static 10067
InProcessBrowserChildMessageManager.h This class implements a ContentFrameMessageManager for use by frame loaders in the parent process. It is bound to a DocShell rather than a BrowserChild, and does not use any IPC infrastructure for its message passing. 4365
IntlUtils.cpp 2901
IntlUtils.h 1534
JSExecutionContext.cpp This is not a generated file. It contains common utility functions invoked from the JavaScript code generated from IDL interfaces. The goal of the utility functions is to cut down on the size of the generated code itself. 8496
JSExecutionContext.h 5923
Link.cpp 14255
Link.h This is the base class for all link classes. 4562
LinkStyle.cpp A base class which implements nsIStyleSheetLinkingElement and can be subclassed by various content nodes that want to load stylesheets (<style>, <link>, processing instructions, etc). 11001
LinkStyle.h Used to make the association between a style sheet and the element that linked it to the document. @param aStyleSheet the style sheet associated with this element. 8780
Location.cpp 17109
Location.h 4536
LocationBase.cpp 10083
LocationBase.h 2185
LocationHelper.jsm Shared utility functions for modules dealing with Location Services. 1383
MaybeCrossOriginObject.cpp static 18393
MaybeCrossOriginObject.h Shared infrastructure for WindowProxy and Location objects. These are the objects that can be accessed cross-origin in the HTML specification. This class can be inherited from by the relevant proxy handlers to help implement spec algorithms. The algorithms this class implements come from <https://html.spec.whatwg.org/multipage/browsers.html#shared-abstract-operations>, <https://html.spec.whatwg.org/multipage/window-object.html#the-windowproxy-exotic-object>, and <https://html.spec.whatwg.org/multipage/history.html#the-location-interface>. The class is templated on its base so we can directly implement the things that should have identical implementations for WindowProxy and Location. The templating is needed because WindowProxy needs to be a wrapper and Location shouldn't be one. 14264
MessageBroadcaster.cpp 1315
MessageBroadcaster.h Implementation for the WebIDL MessageBroadcaster interface. Base class for window and process broadcaster message managers. 1742
MessageListenerManager.cpp 2075
MessageListenerManager.h Implementation for the WebIDL MessageListenerManager interface. Base class for message managers that are exposed to script. 1721
MessageManagerCallback.h 1891
MessageManagerGlobal.cpp 1564
MessageManagerGlobal.h Base class for implementing the WebIDL MessageManagerGlobal class. 4031
MessageSender.cpp 965
MessageSender.h Implementation for the WebIDL MessageSender interface. Base class for frame and child process message managers. 1047
MimeType.cpp static 9714
MimeType.h 2568
moz.build 16082
mozAutoDocUpdate.h Helper class to automatically handle batching of document updates. This class will call BeginUpdate on construction and EndUpdate on destruction on the given document with the given update type. The document could be null, in which case no updates will be called. The constructor also takes a boolean that can be set to false to prevent notifications. 1724
mozIDOMWindow.idl Placeholder interfaces to allow passing inner/outer windows through XPIDL. 551
MozQueryInterface.cpp static 2802
MozQueryInterface.h This class implements an optimized QueryInterface method for XPConnect-wrapped JS objects. For JavaScript callers, it behaves as an ordinary QueryInterface method, returning its `this` object or throwing depending on the interface it was passed. For native XPConnect callers, we bypass JSAPI entirely, and directly check whether the queried interface is in the interfaces list. 1723
MutationObservers.cpp 9170
MutationObservers.h Send CharacterDataWillChange notifications to nsIMutationObservers. @param aContent Node whose data changed @param aInfo Struct with information details about the change @see nsIMutationObserver::CharacterDataWillChange 6369
NameSpaceConstants.h 1272
Navigator.cpp 70164
Navigator.h // Navigator: Script "navigator" object //***************************************************************************** namespace mozilla::dom { class Permissions; namespace battery { class BatteryManager; } // namespace battery class Promise; class Gamepad; class GamepadServiceTest; class NavigatorUserMediaSuccessCallback; class NavigatorUserMediaErrorCallback; struct MIDIOptions; nsTArray<uint32_t> SanitizeVibratePattern(const nsTArray<uint32_t>& aPattern); namespace network { class Connection; } // namespace network class LegacyMozTCPSocket; class VRDisplay; class VRServiceTest; class XRSystem; class StorageManager; class MediaCapabilities; class MediaSession; struct ShareData; class WindowGlobalChild; class Navigator final : public nsISupports, public nsWrapperCache { public: explicit Navigator(nsPIDOMWindowInner* aInnerWindow); NS_DECL_CYCLE_COLLECTING_ISUPPORTS NS_DECL_CYCLE_COLLECTION_WRAPPERCACHE_CLASS(Navigator) void Invalidate(); nsPIDOMWindowInner* GetWindow() const { return mWindow; } size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; /** Called when the inner window navigates to a new page. 10898
NodeInfo.cpp Class that represents a prefix/namespace/localName triple; a single nodeinfo is shared by all elements in a document that have that prefix, namespace, and localName. 5853
NodeInfo.h Class that represents a prefix/namespace/localName triple; a single nodeinfo is shared by all elements in a document that have that prefix, namespace, and localName. nsNodeInfoManagers are internal objects that manage a list of NodeInfos, every document object should hold a strong reference to a nsNodeInfoManager and every NodeInfo also holds a strong reference to their owning manager. When a NodeInfo is no longer used it will automatically remove itself from its owner manager, and when all NodeInfos have been removed from a nsNodeInfoManager and all external references are released the nsNodeInfoManager deletes itself. 9775
NodeInfoInlines.h mozilla_dom_NodeInfoInlines_h___ 4436
NodeIterator.cpp Implementation of DOM Traversal's NodeIterator 5502
NodeIterator.h Implementation of DOM Traversal's NodeIterator 2630
NodeUbiReporting.cpp 2533
NodeUbiReporting.h This file defines specializations of JS::ubi::Concrete for DOM nodes so that the JS memory tools, which operate on the UbiNode graph, can define subclasses of JS::ubi::Base that represent DOM nodes and yield the outgoing edges in a DOM node graph for reporting. 2826
nsAttrName.h Class that represents the name (nodeinfo or atom) of an attribute; using nodeinfos all the time is too slow, so we use atoms when we can. 5218
nsAttrValue.cpp A struct that represents the value (type and actual data) of an attribute. 58573
nsAttrValue.h A struct that represents the value (type and actual data) of an attribute. 20881
nsAttrValueInlines.h Implementation of inline methods 8784
nsAttrValueOrString.cpp 833
nsAttrValueOrString.h A wrapper to contain either an nsAttrValue or an nsAString. This is useful because constructing an nsAttrValue from an nsAString can be expensive when the buffer of the string is not shared. This treats nsAttrValueOrString(nullptr) as the empty string, to help with contexts where a null pointer denotes an empty value. Since a raw pointer to the passed-in string is kept, this class should only be used on the stack. 2772
nsCaseTreatment.h This is the enum used by functions that need to be told whether to do case-sensitive or case-insensitive string comparisons. 611
nsCCUncollectableMarker.cpp static 15363
nsCCUncollectableMarker.h Inits a global nsCCUncollectableMarker. Should only be called once. 1264
nsChildContentList.h Class that implements the nsINodeList interface (a list of children of the content), by holding a reference to the content and delegating Length and Item to its existing child list. @see nsINodeList 2505
nsContentAreaDragDrop.cpp 31687
nsContentAreaDragDrop.h Determine what data in the content area, if any, is being dragged. aWindow - the window containing the target node aTarget - the mousedown event target that started the drag aSelectionTargetNode - the node where the drag event should be fired aIsAltKeyPressed - true if the Alt key is pressed. In some cases, this will prevent the drag from occuring. For example, holding down Alt over a link should select the text, not drag the link. aDataTransfer - the dataTransfer for the drag event. aCanDrag - [out] set to true if the drag may proceed, false to stop the drag entirely aSelection - [out] set to the selection being dragged, or null if no selection is being dragged. aDragNode - [out] the link, image or area being dragged, or null if the drag occurred on another element. aPrincipal - [out] set to the triggering principal of the drag, or null if it's from browser chrome or OS aCSP - [out] set to the CSP of the Drag, or null if it's from browser chrome or OS aCookieJarSettings - [out] set to the cookieJarSetting of the Drag, or null if it's from browser chrome or OS 3543
nsContentCID.h d9783472-8fe9-11d2-9d3c-0060088f9ff7 7912
nsContentCreatorFunctions.h Functions to create content, to be used only inside Gecko (mozilla/content and mozilla/layout). 2488
nsContentList.cpp nsBaseContentList is a basic list of content nodes; nsContentList is a commonly used NodeList implementation (used for getElementsByTagName, some properties on HTMLDocument/Document, etc). 35205
nsContentList.h nsBaseContentList is a basic list of content nodes; nsContentList is a commonly used NodeList implementation (used for getElementsByTagName, some properties on HTMLDocument/Document, etc). 22026
nsContentListDeclarations.h A function that allocates the matching data for this FuncStringContentList. Returning aString is perfectly fine; in that case the destructor function should be a no-op. 2467
nsContentPermissionHelper.cpp 26678
nsContentPermissionHelper.h 7710
nsContentPolicy.cpp Implementation of the "@mozilla.org/layout/content-policy;1" contract. 6546
nsContentPolicy.h Implementation of the "@mozilla.org/layout/content-policy;1" contract. 1259
nsContentPolicyUtils.h Utility routines for checking content load/process policy settings, and routines helpful for content policy implementors. XXXbz it would be nice if some of this stuff could be out-of-lined in nsContentUtils. That would work for almost all the callers... 13313
nsContentSink.cpp Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 29493
nsContentSink.h Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 8012
nsContentTypeParser.cpp 958
nsContentTypeParser.h 687
nsContentUtils.cpp A namespace class for static layout utilities. 367451
nsContentUtils.h A namespace class for static content utilities. 144990
nsCopySupport.cpp 31565
nsCopySupport.h @param aDoc Needs to be not nullptr. 4714
nsDataDocumentContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 6656
nsDataDocumentContentPolicy.h Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 1323
nsDeprecatedOperationList.h This file contains the list of deprecated DOM operations. It is designed to be used as input to the C preprocessor *only*. 2864
nsDocElementCreatedNotificationRunner.h nsRunnable 1036
nsDocumentWarningList.h This file contains the list of document DOM operations warnings. It is designed to be used as input to the C preprocessor *only*. 809
nsDOMAttributeMap.cpp Implementation of the |attributes| property of DOM Core's Element object. 12672
nsDOMAttributeMap.h Implementation of the |attributes| property of DOM Core's Element object. 5071
nsDOMCaretPosition.cpp 1898
nsDOMCaretPosition.h Implementation of a DOM Caret Position, which is a node and offset within that node, in the DOM tree. http://www.w3.org/TR/cssom-view/#dom-documentview-caretrangefrompoint @see Document::caretPositionFromPoint(float x, float y) 2960
nsDOMCID.h 9eb760f0-4380-11d2-b328-00805f8a3859 1058
nsDOMDataChannel.cpp virtual 15474
nsDOMDataChannel.h 4495
nsDOMDataChannelDeclarations.h 880
nsDOMJSUtils.h 1063
nsDOMMutationObserver.cpp 36140
nsDOMMutationObserver.h 27370
nsDOMNavigationTiming.cpp 24368
nsDOMNavigationTiming.h 8714
nsDOMString.h nsDOMString_h___ 598
nsDOMTokenList.cpp Implementation of DOMTokenList specified by HTML5. 9809
nsDOMTokenList.h Implementation of DOMTokenList specified by HTML5. 3399
nsDOMWindowUtils.cpp 153157
nsDOMWindowUtils.h 3772
nsFocusManager.cpp 204208
nsFocusManager.h The focus manager keeps track of where the focus is, that is, the node which receives key events. 42332
nsFrameLoader.cpp Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 136344
nsFrameLoader.h Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 19968
nsFrameLoaderOwner.cpp 14663
nsFrameLoaderOwner.h 5056
nsFrameMessageManager.cpp 55756
nsFrameMessageManager.h 13053
nsGlobalWindow.h nsGlobalWindow_h___ 697
nsGlobalWindowCommands.cpp 46474
nsGlobalWindowCommands.h Search through nsGlobalWindowCommands to find the keyboard scrolling action that would be done in response to a command. @param aCommandName the name of the command @param aOutAction the result of searching for this command, must not be null @returns whether a keyboard action was found or not 1300
nsGlobalWindowInner.cpp 265101
nsGlobalWindowInner.h 63389
nsGlobalWindowOuter.cpp 262714
nsGlobalWindowOuter.h 47522
nsHistory.cpp 9211
nsHistory.h nsHistory_h___ 2842
nsIAnimationObserver.h 2304
nsIContent.h A node of content in a document's content model. This interface is supported by all content objects. 28667
nsIContentInlines.h 8146
nsIContentPolicy.idl Interface for content policy mechanism. Implementations of this interface can be used to control loading of various types of out-of-line content, or processing of certain types of in-line content. WARNING: do not block the caller from shouldLoad or shouldProcess (e.g., by launching a dialog to prompt the user for something). 19802
nsIDocumentObserver.h Notify that a content model update is beginning. This call can be nested. 4399
nsIDOMRequestService.idl 817
nsIDroppedLinkHandler.idl Returns the URL of the link. 3286
nsIEventSourceEventService.idl 1472
nsIGlobalObject.cpp 12705
nsIGlobalObject.h See <https://developer.mozilla.org/en-US/docs/Glossary/Global_object>. 10857
nsIImageLoadingContent.idl This interface represents a content node that loads images. The interface exists to allow getting information on the images that the content node loads and to allow registration of observers for the image loads. Implementors of this interface should handle all the mechanics of actually loading an image -- getting the URI, checking with content policies and the security manager to see whether loading the URI is allowed, performing the load, firing any DOM events as needed. An implementation of this interface may support the concepts of a "current" image and a "pending" image. If it does, a request to change the currently loaded image will start a "pending" request which will become current only when the image is loaded. It is the responsibility of observers to check which request they are getting notifications for. Please make sure to update the MozImageLoadingContent WebIDL mixin to mirror this interface when changing it. 6104
nsImageLoadingContent.cpp A base class which implements nsIImageLoadingContent and can be subclassed by various content nodes that want to provide image loading functionality (eg <img>, <object>, etc). 61811
nsImageLoadingContent.h A base class which implements nsIImageLoadingContent and can be subclassed by various content nodes that want to provide image loading functionality (eg <img>, <object>, etc). 22752
nsIMessageManager.idl 665
nsIMutationObserver.h Information details about a characterdata change. Basically, we view all changes as replacements of a length of text at some offset with some other text (of possibly some other length). 17415
nsINode.cpp Base class for all DOM nodes. 121104
nsINode.h @return true if aChar is what the WHATWG defines as a 'ascii whitespace'. https://infra.spec.whatwg.org/#ascii-whitespace 94346
nsINodeList.h An internal interface for a reasonably fast indexOf. 1580
nsIObjectLoadingContent.idl This interface represents a content node that loads objects. Please make sure to update the MozObjectLoadingContent WebIDL mixin to mirror this interface when changing it. 3451
nsIScriptableContentIterator.idl nsIScriptableContentIterator is designed to testing concrete classes of ContentIteratorBase. 2364
nsIScriptChannel.idl An interface representing a channel which will have to execute some sort of program provided via its URI to compute the data it should return. If a channel implements this interface, the execution of the program in question will be restricted in the following ways: - If the channel does not have an owner principal, the program will not be executed at all, no matter what. This is necessary because in this circumstance we have no way to tell whether script execution is allowed at all for the originating security context of this channel. - If the channel has an owner principal, how it is executed is controlled by this interface. However if the owner principal does not subsume the principal of the environment in which the program is to be executed the execution will be forced to happen in a sandbox. 2847
nsIScriptContext.h It is used by the application to initialize a runtime and run scripts. A script runtime would implement this interface. 3109
nsIScriptGlobalObject.h The global object which keeps a script context for each supported script language. This often used to store per-window global state. This is a heavyweight interface implemented only by DOM globals, and it might go away some time in the future. 3153
nsIScriptObjectPrincipal.h JS Object Principal information. 1281
nsISelectionController.idl SetDisplaySelection will set the display mode for the selection. OFF,ON,DISABLED 14133
nsISelectionDisplay.idl SetSelectionFlags used to set whether you want to see HRULES/IMAGES with border. also used to tell if the presshell is an editor right now. this should change @param aToggle -either DISPLAY_(TEXT,IMAGES,FRAMES,ALL) This will tell the rendering engine to draw the different selection types. 1405
nsISelectionListener.idl bitflags 1675
nsISizeOfEventTarget.h This class is much the same as nsISizeOf, but is specifically for measuring the contents of nsGlobalWindow::mEventTargetObjects. We don't use nsISizeOf because if we did, any object belonging to mEventTargetObjects that implements nsISizeOf would be measured, which we may not want (perhaps because the object is also measured elsewhere). 1554
nsISlowScriptDebug.idl 1123
nsJSEnvironment.cpp 76439
nsJSEnvironment.h 7953
nsJSUtils.cpp This is not a generated file. It contains common utility functions invoked from the JavaScript code generated from IDL interfaces. The goal of the utility functions is to cut down on the size of the generated code itself. 6859
nsJSUtils.h This is not a generated file. It contains common utility functions invoked from the JavaScript code generated from IDL interfaces. The goal of the utility functions is to cut down on the size of the generated code itself. 8443
nsLineBreaker.cpp These punctuation categories are excluded, for examples like "what colo[u]r" -> "What Colo[u]r?" (rather than "What Colo[U]R?") and "snake_case" -> "Snake_case" (to match word selection behavior) case GeneralCategory::Open_Punctuation: case GeneralCategory::Close_Punctuation: case GeneralCategory::Connector_Punctuation: 20089
nsLineBreaker.h A receiver of line break data. 11208
nsMappedAttributeElement.cpp 1355
nsMappedAttributeElement.h nsMappedAttributeElement is the base for elements supporting style mapped attributes via nsMappedAttributes (HTML and MathML). 1667
nsMappedAttributes.cpp A unique per-element set of attributes that is used as an nsIStyleRule; used to implement presentational attributes. 7993
nsMappedAttributes.h A unique per-element set of attributes that is used as an nsIStyleRule; used to implement presentational attributes. 3801
nsMimeTypeArray.cpp 2921
nsMimeTypeArray.h Array class backing HTML's navigator.mimeTypes. This always holds references to the hard-coded set of PDF MIME types defined by HTML but it only consults them if "pdfjs.disabled" is false. There is never more than one of these per DOM window. 3551
nsNameSpaceManager.cpp A class for managing namespace IDs and mapping back and forth between namespace IDs and namespace URIs. 9221
nsNameSpaceManager.h The Name Space Manager tracks the association between a NameSpace URI and the int32_t runtime id. Mappings between NameSpaces and NameSpace prefixes are managed by nsINameSpaces. All NameSpace URIs are stored in a global table so that IDs are consistent accross the app. NameSpace IDs are only consistent at runtime ie: they are not guaranteed to be consistent accross app sessions. The nsNameSpaceManager needs to have a live reference for as long as the NameSpace IDs are needed. 2968
nsNoDataProtocolContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from protocols that don't return data but rather open applications (such as mailto). 2819
nsNoDataProtocolContentPolicy.h Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 1340
nsNodeInfoManager.cpp A class for handing out nodeinfos and ensuring sharing of them as needed. 13052
nsNodeInfoManager.h A class for handing out nodeinfos and ensuring sharing of them as needed. 5924
nsObjectLoadingContent.cpp A base class implementing nsIObjectLoadingContent for use by various content nodes that want to provide plugin/document/image loading functionality (eg <embed>, <object>, etc). 76891
nsObjectLoadingContent.h A base class implementing nsIObjectLoadingContent for use by various content nodes that want to provide plugin/document/image loading functionality (eg <embed>, <object>, etc). 20925
nsOpenURIInFrameParams.cpp 2873
nsOpenURIInFrameParams.h 1322
nsPIDOMWindow.h 40037
nsPIDOMWindowInlines.h 2229
nsPIWindowRoot.h @param aForVisibleWindow true if caller needs controller which is associated with visible window. 3315
nsPluginArray.cpp 5300
nsPluginArray.h Array class backing HTML's navigator.plugins. This always holds references to the hard-coded set of PDF plugins defined by HTML but it only consults them if "pdfjs.disabled" is false. There is never more than one of these per DOM window. 4059
nsPropertyTable.cpp nsPropertyTable allows a set of arbitrary key/value pairs to be stored for any number of nodes, in a global hashtable rather than on the nodes themselves. Nodes can be any type of object; the hashtable keys are nsAtom pointers, and the values are void pointers. 9423
nsPropertyTable.h nsPropertyTable allows a set of arbitrary key/value pairs to be stored for any number of nodes, in a global hashtable rather than on the nodes themselves. Nodes can be any type of object; the hashtable keys are nsAtom pointers, and the values are void pointers. 6618
nsQueryContentEventResult.cpp Is*PropertyAvailable() methods which check if the property is available (valid) with the event message. **************************************************************************** 7627
nsQueryContentEventResult.h 1366
nsRange.cpp Implementation of the DOM Range object. 113169
nsRange.h Implementation of the DOM Range object. 20327
nsSandboxFlags.h Constant flags that describe how a document is sandboxed according to the HTML5 spec. 4404
nsScreen.cpp static 6772
nsScreen.h nsScreen_h___ 4109
nsStructuredCloneContainer.cpp 4115
nsStructuredCloneContainer.h 38bd0634-0fd4-46f0-b85f-13ced889eeec 1314
nsStubAnimationObserver.cpp 424
nsStubAnimationObserver.h 587
nsStubDocumentObserver.cpp nsStubDocumentObserver is an implementation of the nsIDocumentObserver interface (except for the methods on nsISupports) that is intended to be used as a base class within the content/layout library. All methods do nothing. 856
nsStubDocumentObserver.h nsStubDocumentObserver is an implementation of the nsIDocumentObserver interface (except for the methods on nsISupports) that is intended to be used as a base class within the content/layout library. All methods do nothing. 1362
nsStubMutationObserver.cpp nsStubMutationObserver is an implementation of the nsIMutationObserver interface (except for the methods on nsISupports) that is intended to be used as a base class within the content/layout library. All methods do nothing. 6729
nsStubMutationObserver.h nsStubMutationObserver is an implementation of the nsIMutationObserver interface (except for the methods on nsISupports) that is intended to be used as a base class within the content/layout library. All methods do nothing. 2947
nsStyledElement.cpp 8015
nsStyledElement.h nsStyledElement is the base for elements supporting styling via the id/class/style attributes; it is a common base for their support in HTML, SVG and MathML. 3652
nsSyncLoadService.cpp A service that provides methods for synchronously loading a DOM in various ways. 10711
nsSyncLoadService.h A service that provides methods for synchronously loading a DOM in various ways. 2556
nsTextFragment.cpp A class which represents a fragment of text (eg inside a text node); if only codepoints below 256 are used, the text is stored as a char*; otherwise the text is stored as a char16_t* 15213
nsTextFragment.h A class which represents a fragment of text (eg inside a text node); if only codepoints below 256 are used, the text is stored as a char*; otherwise the text is stored as a char16_t* 10111
nsTextFragmentGeneric.h 2022
nsTextFragmentGenericFwd.h 589
nsTextFragmentImpl.h 1357
nsTextFragmentSSE2.cpp 444
nsTextFragmentVMX.cpp 3313
nsTextNode.cpp Implementation of DOM Core's Text node. 8573
nsTextNode.h Implementation of DOM Core's Text node. 1885
nsTraversal.cpp destructor code 1986
nsTraversal.h Implementation of common traversal methods for TreeWalker and NodeIterator. 1454
nsTreeSanitizer.cpp 93809
nsTreeSanitizer.h See the documentation of nsIParserUtils::sanitize for documentation about the default behavior and the configuration options of this sanitizer. 13181
nsViewportInfo.cpp 1784
nsViewportInfo.h Default values for the nsViewportInfo class. 5464
nsWindowMemoryReporter.cpp Don't trigger a ghost window check when a DOM window is detached if we've run it this recently. 36157
nsWindowMemoryReporter.h nsWindowMemoryReporter is responsible for the 'explicit/window-objects' memory reporter. We classify DOM window objects into one of three categories: - "active" windows, which are displayed in a tab (as the top-level window or an iframe), - "cached" windows, which are in the fastback cache (aka the bfcache), and - "detached" windows, which have a null docshell. A window becomes detached when its <iframe> or tab containing the window is destroyed -- i.e., when the window is no longer active or cached. Additionally, we classify a subset of detached windows as "ghost" windows. Although ghost windows can happen legitimately (a page can hold a reference to a cross-domain window and then close its container), the presence of ghost windows is often indicative of a memory leak. A window is a ghost if it meets the following three criteria: 1) The window is detached. 2) There exist no non-detached windows with the same base domain as the window's principal. (For example, the base domain of "wiki.mozilla.co.uk" is "mozilla.co.uk".) This criterion makes us less likely to flag a legitimately held-alive detached window as a ghost. 3) The window has met criteria (1) and (2) above for at least memory.ghost_window_timeout_seconds. This criterion is in place so we don't immediately declare a window a ghost before the GC/CC has had a chance to run. nsWindowMemoryReporter observes window detachment and uses mDetachedWindows to remember when a window first met criteria (1) and (2). When we generate a memory report, we use this accounting to determine which windows are ghosts. We use the following memory reporter path for active and cached windows: explicit/window-objects/top(<top-outer-uri>, id=<top-outer-id>)/ <category>/window(<window-uri>)/... For detached and ghost windows, we use explicit/window-objects/top(none)/<category>/window(<window-uri>)/... Where - <category> is "active", "cached", "detached", or "ghost", as described above. - <top-outer-id> is the window id of the top outer window (i.e. the tab, or the top level chrome window). Exposing this ensures that each tab gets its own sub-tree, even if multiple tabs are showing the same URI. - <top-uri> is the URI of the top window. Excepting special windows (such as browser.xhtml or hiddenWindow.html) it's what the address bar shows for the tab. 6177
nsWindowRoot.cpp 13847
nsWindowRoot.h 3443
nsWindowSizes.h 6835
nsWrapperCache.cpp static 4888
nsWrapperCache.h Class to store the wrapper for an object. This can only be used with objects that only have one non-security wrapper at a time (for an XPCWrappedNative this is usually ensured by setting an explicit parent in the PreCreate hook for the class). An instance of nsWrapperCache can be gotten from an object that implements a wrapper cache by calling QueryInterface on it. Note that this breaks XPCOM rules a bit (this object doesn't derive from nsISupports). The cache can store objects other than wrappers. We allow wrappers to use a separate JSObject to store their state (mostly expandos). If the wrapper is collected and we want to preserve this state we actually store the state object in the cache. The cache can store 3 types of objects: a DOM binding object (regular JS object or proxy), an nsOuterWindowProxy or an XPCWrappedNative wrapper. The finalizer for the wrapper clears the cache. A compacting GC can move the wrapper object. Pointers to moved objects are usually found and updated by tracing the heap, however non-preserved wrappers are weak references and are not traced, so another approach is necessary. Instead a class hook (objectMovedOp) is provided that is called when an object is moved and is responsible for ensuring pointers are updated. It does this by calling UpdateWrapper() on the wrapper cache. SetWrapper() asserts that the hook is implemented for any wrapper set. A number of the methods are implemented in nsWrapperCacheInlines.h because we have to include some JS headers that don't play nicely with the rest of the codebase. Include nsWrapperCacheInlines.h if you need to call those methods. 30004
nsWrapperCacheInlines.h nsWrapperCache_h___ 3362
ParentProcessMessageManager.cpp 1124
ParentProcessMessageManager.h Implementation for the WebIDL ParentProcessMessageManager interface. ParentProcessMessageManager is used in a parent process to communicate with all the child processes. 1692
PlacesBookmark.h 1561
PlacesBookmarkAddition.h 1994
PlacesBookmarkChanged.h 849
PlacesBookmarkGuid.h 1612
PlacesBookmarkKeyword.h 1786
PlacesBookmarkMoved.h 1923
PlacesBookmarkRemoved.h 1978
PlacesBookmarkTags.h 1751
PlacesBookmarkTime.h 1728
PlacesBookmarkTitle.h 1745
PlacesBookmarkUrl.h 1593
PlacesEvent.cpp 1302
PlacesEvent.h 2857
PlacesFavicon.h 1605
PlacesHistoryCleared.h 1265
PlacesObservers.cpp 14125
PlacesObservers.h 2660
PlacesPurgeCaches.h 1214
PlacesRanking.h 1172
PlacesVisit.h 2183
PlacesVisitRemoved.h 2520
PlacesVisitTitle.h 1618
PlacesWeakCallbackWrapper.cpp 1586
PlacesWeakCallbackWrapper.h 1526
PointerLockManager.cpp static 14762
PointerLockManager.h Returns true if aContext and the current pointer locked document have common top BrowsingContext. Note that this method returns true only if caller is in the same process as pointer locked document. 2603
PopoverData.cpp 973
PopoverData.h 2850
PopupBlocker.cpp static 13354
PopupBlocker.h 3922
Pose.cpp 1974
Pose.h 2532
PostMessageEvent.cpp 12373
PostMessageEvent.h Class used to represent events generated by calls to Window.postMessage, which asynchronously creates and dispatches events. 5002
ProcessMessageManager.cpp 1756
ProcessMessageManager.h ProcessMessageManager is used in a parent process to communicate with a child process (or with the process itself in a single-process scenario). 1868
ProcessSelector.jsm 2045
RadioGroupManager.cpp A struct that holds all the information about a radio group. 6046
RadioGroupManager.h 2084
RangeBoundary.h GetNextSiblingOfChildOffset() returns next sibling of a child at offset. If this refers after the last child or the container cannot have children, this returns nullptr with warning. 11381
RangeUtils.cpp 7354
RangeUtils.h GetRawRangeBoundaryBefore() and GetRawRangeBoundaryAfter() retrieve RawRangeBoundary which points before or after aNode. 4529
RemoteOuterWindowProxy.cpp RemoteOuterWindowProxy is the proxy handler for the WindowProxy objects for Window objects that live in a different process. RemoteOuterWindowProxy holds a BrowsingContext, which is cycle collected. This reference is declared to the cycle collector via NoteChildren(). 6346
ResizeObserver.cpp Returns the length of the parent-traversal path (in terms of the number of nodes) to an unparented/root node from aNode. An unparented/root node is considered to have a depth of 1, its children have a depth of 2, etc. aNode is expected to be non-null. Note: The shadow root is not part of the calculation because the caller, ResizeObserver, doesn't observe the shadow root, and only needs relative depths among all the observed targets. In other words, we calculate the depth of the flattened tree. However, these is a spec issue about how to handle shadow DOM case. We may need to update this function later: https://github.com/w3c/csswg-drafts/issues/3840 https://drafts.csswg.org/resize-observer/#calculate-depth-for-node-h 23552
ResizeObserver.h Returns whether the observed target element size differs from the saved mLastReportedSize. 11087
ResizeObserverController.cpp 8146
ResizeObserverController.h ResizeObserverNotificationHelper will trigger ResizeObserver notifications by registering with the Refresh Driver. 4286
ResponsiveImageSelector.cpp 22048
ResponsiveImageSelector.h 7670
rust
RustTypes.h 2095
SameProcessMessageQueue.cpp static 1830
SameProcessMessageQueue.h 1157
ScreenLuminance.cpp 688
ScreenLuminance.h 1506
ScreenOrientation.cpp 29596
ScreenOrientation.h 4213
ScriptableContentIterator.cpp 5473
ScriptableContentIterator.h 1117
ScrollingMetrics.cpp 3992
ScrollingMetrics.h ScrollingMetrics records user-intiated scrolling interactions. These are aggregrated along with other user interactions (e.g. typing, view time), in the history metadata. 1713
Selection.cpp Implementation of mozilla::dom::Selection 141097
Selection.h @param aFrameSelection can be nullptr. 43047
SelectionChangeEventDispatcher.cpp Implementation of mozilla::SelectionChangeEventDispatcher 6163
SelectionChangeEventDispatcher.h 2422
SerializedStackHolder.cpp 5047
SerializedStackHolder.h 3570
ShadowIncludingTreeIterator.h Implementation of https://dom.spec.whatwg.org/#concept-shadow-including-tree-order in iterator form. This can and should be used to avoid recursion on the stack and lots of function calls during shadow-including tree iteration. 3897
ShadowRoot.cpp 28018
ShadowRoot.h Clones internal state, for example stylesheets, of aOther to 'this'. 11045
SlowScriptDebug.jsm 747
StaticRange.cpp static 5415
StaticRange.h The following Create() returns `nsRange` instance which is initialized only with aNode. The result is never positioned. 5434
StorageAccessPermissionRequest.cpp 5548
StorageAccessPermissionRequest.h 3080
StructuredCloneBlob.cpp static 6956
StructuredCloneBlob.h 2753
StructuredCloneHolder.cpp 51784
StructuredCloneHolder.h 15035
StructuredCloneTags.h 4977
StructuredCloneTester.cpp static 3218
StructuredCloneTester.h 1915
StyledRange.cpp 472
StyledRange.h 715
StyleSheetList.cpp virtual 1455
StyleSheetList.h 1859
SubtleCrypto.cpp 6316
SubtleCrypto.h 4698
SyncMessageSender.h 773
test
TestUtils.cpp shrinking 1923
TestUtils.h 851
Text.cpp static 4475
Text.h Method to see if the text node contains data that is useful for a translation: i.e., it consists of more than just whitespace, digits and punctuation. 1790
TextInputProcessor.cpp TextInputProcessorNotification **************************************************************************** 59103
TextInputProcessor.h TextInputProcessor manages modifier key state. E.g., when it dispatches a modifier keydown event, activates proper modifier state and when it dispatches a modifier keyup event, inactivates proper modifier state. This returns all active modifiers in the instance. 9879
ThirdPartyUtil.cpp 17461
ThirdPartyUtil.h 1570
Timeout.cpp 2784
Timeout.h Timeout struct that holds information about each script timeout. Holds a strong reference to an nsITimeoutHandler, which abstracts the language specific cruft. 5698
TimeoutBudgetManager.cpp static 1119
TimeoutBudgetManager.h 862
TimeoutExecutor.cpp 8425
TimeoutExecutor.h 2964
TimeoutHandler.cpp unused 6621
TimeoutHandler.h Utility class for implementing nsITimeoutHandlers, designed to be subclassed. 3516
TimeoutManager.cpp 48783
TimeoutManager.h 7958
TreeIterator.h A generic pre-order tree iterator on top of ChildIterator. See ChildIterator.h for the kind of iterators you can use as the template argument for this class. 4024
TreeOrderedArray.h 1210
TreeOrderedArrayInlines.h 1599
TreeWalker.cpp Implementation of DOM Traversal's TreeWalker 8347
TreeWalker.h Implementation of DOM Traversal's TreeWalker 2801
UIDirectionManager.cpp static 2769
UIDirectionManager.h 823
UseCounter.h 2749
UseCounters.conf 15210
usecounters.py 3357
UseCountersWorker.conf 2921
UserActivation.cpp static 3729
UserActivation.h Returns true if the current code is being executed as a result of user input or keyboard input. The former includes anything that is initiated by user, with the exception of page load events or mouse over events. And the latter returns true when one of the user inputs is an input from keyboard. If these methods are called from asynchronously executed code, such as during layout reflows, it will return false. 3111
ViewportMetaData.cpp Helper function for ViewportMetaData::ProcessViewportInfo. Handles a single key=value pair. If it corresponds to a valid viewport attribute, add it to the document header data. No validation is done on the value itself (this is done at display time). 3592
ViewportMetaData.h Process viewport META data. This gives us information for the scale and zoom of a page on mobile devices. We stick the information in the document header and use it later on after rendering. See Bug #436083 1607
VisualViewport.cpp virtual 10831
VisualViewport.h Visual Viewport API spec: https://wicg.github.io/visual-viewport/#the-visualviewport-interface 3868
WindowDestroyedEvent.cpp 5154
WindowDestroyedEvent.h 1061
WindowFeatures.cpp static 8242
WindowFeatures.h 4315
WindowNamedPropertiesHandler.cpp unused 10218
WindowNamedPropertiesHandler.h hasPrototype = 2683
WindowProxyHolder.h This class is used for passing arguments and the return value for WebIDL binding code that takes/returns a WindowProxy object and for WebIDL unions/dictionaries that contain a WindowProxy member. It should never contain null; if the value in WebIDL is nullable the binding code will use a Nullable<WindowProxyHolder>. 2657
XPathGenerator.cpp Check whether a character is a non-word character. A non-word character is a character that isn't in ('a'..'z') or in ('A'..'Z') or a number or an underscore. 5781
XPathGenerator.h Return a properly quoted string to insert into an XPath 918
ZLibHelper.h 1687