Name Description Size
AbstractRange.cpp 22493
AbstractRange.h Called when the process is shutting down. 8172
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
AnimationFrameProvider.cpp 1487
AnimationFrameProvider.h 1371
AnonymousContent.cpp 1841
AnonymousContent.h 1383
Attr.cpp Implementation of DOM Core's Attr node. 6966
Attr.h Implementation of DOM Core's Attr node. 3243
AttrArray.cpp Storage of the children and attributes of a DOM node; storage for the two is unified to minimize footprint. 10524
AttrArray.h Storage of the attributes of a DOM node. 8698
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 9229
AutoPrintEventDispatcher.h aRecurse = 2235
AutoSuppressEventHandlingAndSuspend.h Suppresses event handling and suspends for all in-process documents in a BrowsingContext subtree. 2003
BarProps.cpp 6978
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. 24822
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 ConsumeType::Blob. Optional. @param aBodyLocalPath local path in case the blob is created from a local file. Used only by ConsumeType::Blob. Optional. @param aBodyMimeType the mime-type for blob. Used only by ConsumeType::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 ConsumeType::Blob. @param aRv An ErrorResult. 5184
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. 15389
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|. 3001
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
CacheExpirationTime.h The expiration time for sub resource cache. 1961
CallState.h 746
CCGCScheduler.cpp Globally initialized constants 37102
CCGCScheduler.h 18367
CharacterData.cpp Base class for DOM Core's Comment, DocumentType, Text, CDATASection and ProcessingInstruction nodes. 18676
CharacterData.h Base class for DOM Core's Comment, DocumentType, Text, CDATASection, and ProcessingInstruction nodes. 8045
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 75088
ChromeUtils.h 14107
Comment.cpp Implementations of DOM Core's Comment node. 2036
Comment.h 1875
components.conf 1338
CompressionStream.cpp default memLevel 9865
CompressionStream.h 1733
ContentAreaDropListener.sys.mjs 10319
ContentFrameMessageManager.cpp 900
ContentFrameMessageManager.h Base class for implementing the WebIDL ContentFrameMessageManager class. 2167
ContentIterator.cpp 41731
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. 12365
ContentProcessMessageManager.cpp 4265
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. 3379
CORSMode.h The default of not using CORS to validate cross-origin loads. 1013
crashtests
CrossShadowBoundaryRange.cpp static 10587
CrossShadowBoundaryRange.h DoSetRange() is called when `AbstractRange::SetStartAndEndInternal()` sets mStart and mEnd. @param aStartBoundary Computed start point. This must equals or be before aEndBoundary in the DOM tree order. @param aEndBoundary Computed end point. @param aRootNode The root node of aStartBoundary or aEndBoundary. It's useless to CrossShadowBoundaryRange. @param aOwner The nsRange that owns this CrossShadowBoundaryRange. 3900
Crypto.cpp virtual 3341
Crypto.h 1411
CustomElementRegistry.cpp static 57182
CustomElementRegistry.h 21747
DecompressionStream.cpp 11832
DecompressionStream.h 1747
DirectionalityUtils.cpp This file contains most of the code to implement html directionality. This includes default direction, inheritance, and auto directionality. A useful perspective is separating the static and dynamic case. In the static case, directionality is computed based on the current DOM, closely following the specification, e.g. in ComputeAutoDirectionality. Dynamic changes, e.g. OnSetDirAttr, are propagated to the impacted nodes, for which the static case is re-run. To minimize searching for dir=auto nodes impacted by a dynamic change, several flags are maintained (see their declaration for documentation): - NodeAncestorHasDirAuto and NodeAffectsDirAutoSlot apply to all nodes. They are set when a node is placed somewhere in the tree and set or cleared when a dir attribute changes. - NS_MAY_SET_DIR_AUTO applies to text. It is set whenever a text node might be responsible for the auto directionality of a dir=auto element. It is cleared when the element is unbound. 32542
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 (in which case the return value is Directionality::Unset). @return the directionality of the string, or Unset if not available. 6417
DocGroup.cpp static 5039
DocGroup.h 4761
Document.cpp Base class for all our document implementations. 675495
Document.h 206603
DocumentFragment.cpp Implementation of DOM Core's DocumentFragment. 3631
DocumentFragment.h 3624
DocumentInlines.h 2462
DocumentOrShadowRoot.cpp 24342
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. 10001
DocumentType.cpp Implementation of DOM Core's DocumentType node. 2779
DocumentType.h Implementation of DOM Core's DocumentType node. 2384
DOMArena.h 2126
domerr.msg 12004
DOMException.cpp DOM4 errors from http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception 13818
DOMException.h unused 5981
DOMImplementation.cpp 7277
DOMImplementation.h 2398
DOMIntersectionObserver.cpp 33076
DOMIntersectionObserver.h 8057
DOMMatrix.cpp 33473
DOMMatrix.h 13401
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 11560
DOMParser.h 3572
DOMPoint.cpp 4512
DOMPoint.h MOZILLA_DOMPOINT_H_ 3672
DOMQuad.cpp 5250
DOMQuad.h MOZILLA_DOMRECT_H_ 3044
DOMRect.cpp 5721
DOMRect.h 5356
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. 191817
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. 95129
ElementInlines.h 2041
EventSource.cpp 64559
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. 2344
FocusModel.h 1289
FormData.cpp 12821
FormData.h 5478
FragmentDirective.cpp 16210
FragmentDirective.h @brief The `FragmentDirective` class is the C++ representation of the `Document.fragmentDirective` webidl property. This class also serves as the main interface to interact with the fragment directive from the C++ side. It allows to find text fragment ranges from a given list of `TextDirective`s using `FragmentDirective::FindTextFragmentsInDocument()`. To avoid Text Directives being applied multiple times, this class implements the `uninvoked directive` mechanism, which in the spec is defined to be part of the `Document` [0], by encapsuling the code in a lazily constructed helper, which is destroyed when all text directives have been found. [0] https://wicg.github.io/scroll-to-text-fragment/#document-uninvoked-directives 5196
fragmentdirectives
FragmentOrElement.cpp Base class for all element classes and DocumentFragment. 68661
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. 11889
FromParser.h Constants for passing as aFromParser 706
FullscreenChange.h Struct for holding fullscreen request. 5474
FuzzingFunctions.cpp static 15279
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. 2959
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. 2264
GlobalFreezeObserver.h This method is non-virtual because it's expected that any object subclassing GlobalFreezeObserver that wants to know when it is disconnected from the global will also subclass GlobalTeardownObserver and take any relevant action by overriding GlobalTeardownObserver::DisconnectFromOwner. 1871
GlobalTeardownObserver.cpp 2161
GlobalTeardownObserver.h 2335
Highlight.cpp 6517
Highlight.h @brief Collection of all data of a highlight instance. This struct is intended to be allocated on the stack and passed on to the `nsFrameSelection` and layout code. 6503
HighlightRegistry.cpp 8062
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 5176
HTMLSplitOnSpacesTokenizer.h 584
IdentifierMapEntry.h Entry for the Document or ShadowRoot's identifier map. 7544
IdleDeadline.cpp 2638
IdleDeadline.h 1626
IdleRequest.cpp 1926
IdleRequest.h 1517
IDTracker.cpp aWatch 9403
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. 6909
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 16824
ImageEncoder.h The callback interface of ExtractDataAsync and ExtractDataFromLayersImageAsync. ReceiveBlobImpl() is called on main thread when encoding is complete. 5492
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. 6843
InProcessBrowserChildMessageManager.cpp static 9225
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. 4192
InteractiveWidget.h 976
IntlUtils.cpp 2901
IntlUtils.h 1534
JSExecutionUtils.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. 2342
JSExecutionUtils.h DOM_BASE_JSEXECUTIONUTILS_H_ 1049
Link.cpp aNotify = 11363
Link.h This is the base class for all link classes. 4347
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). 11693
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. 9109
Location.cpp 16120
Location.h 4578
LocationBase.cpp 10582
LocationBase.h 2168
LocationHelper.sys.mjs Shared utility functions for modules dealing with Location Services. 1308
mach_commands.py 1262
MaybeCrossOriginObject.cpp static 18521
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 12237
MimeType.h 3296
moz.build 17050
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 2798
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 9829
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 6363
NameSpaceConstants.h 1272
Navigator.cpp 71641
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; class UserActivation; 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. 11216
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 5375
NodeIterator.h Implementation of DOM Traversal's NodeIterator 2596
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. 65482
nsAttrValue.h A struct that represents the value (type and actual data) of an attribute. 21265
nsAttrValueInlines.h Implementation of inline methods 8845
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 15415
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 2525
nsContentAreaDragDrop.cpp 32027
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. 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 3375
nsContentCreatorFunctions.h Functions to create content, to be used only inside Gecko (mozilla/content and mozilla/layout). 2734
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). 36983
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). 22665
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 26767
nsContentPermissionHelper.h 7710
nsContentPolicy.cpp Implementation of the "@mozilla.org/layout/content-policy;1" contract. 6053
nsContentPolicy.h Implementation of the "@mozilla.org/layout/content-policy;1" contract. 1207
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... 13231
nsContentSink.cpp Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 31628
nsContentSink.h Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 8719
nsContentTypeParser.cpp 958
nsContentTypeParser.h 687
nsContentUtils.cpp A namespace class for static layout utilities. 390162
nsContentUtils.h A namespace class for static content utilities. 151018
nsCopySupport.cpp 34399
nsCopySupport.h @param aDoc Needs to be not nullptr. 5064
nsDataDocumentContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 6498
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*. 3046
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 15006
nsDOMDataChannel.h 4362
nsDOMDataChannelDeclarations.h 880
nsDOMJSUtils.h 1063
nsDOMMutationObserver.cpp 35982
nsDOMMutationObserver.h 27321
nsDOMNavigationTiming.cpp 23032
nsDOMNavigationTiming.h 9032
nsDOMString.h nsDOMString_h___ 598
nsDOMTokenList.cpp Implementation of DOMTokenList specified by HTML5. 9808
nsDOMTokenList.h Implementation of DOMTokenList specified by HTML5. 3399
nsDOMWindowUtils.cpp 155734
nsDOMWindowUtils.h 3862
nsFocusManager.cpp 215237
nsFocusManager.h The focus manager keeps track of where the focus is, that is, the node which receives key events. 44161
nsFrameLoader.cpp Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 133875
nsFrameLoader.h Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 19572
nsFrameLoaderOwner.cpp 14724
nsFrameLoaderOwner.h 5487
nsFrameMessageManager.cpp 55174
nsFrameMessageManager.h 12854
nsGlobalWindowCommands.cpp 46570
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 256131
nsGlobalWindowInner.h 58899
nsGlobalWindowOuter.cpp 258860
nsGlobalWindowOuter.h 43688
nsHistory.cpp 8825
nsHistory.h nsHistory_h___ 2946
nsIAnimationObserver.h 2304
nsIContent.h A node of content in a document's content model. This interface is supported by all content objects. 26960
nsIContentInlines.h 9359
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). 18949
nsIDocumentObserver.h Notify that a content model update is beginning. This call can be nested. 4399
nsIDroppedLinkHandler.idl Returns the URL of the link. 3286
nsIEventSourceEventService.idl 1475
nsIGlobalObject.cpp 16081
nsIGlobalObject.h See <https://developer.mozilla.org/en-US/docs/Glossary/Global_object>. 14708
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). 59224
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). 20597
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). 18067
nsINode.cpp Base class for all DOM nodes. 129470
nsINode.h @return true if aChar is what the WHATWG defines as a 'ascii whitespace'. https://infra.spec.whatwg.org/#ascii-whitespace 101214
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. 1623
nsIScriptableContentIterator.idl nsIScriptableContentIterator is designed to testing concrete classes of ContentIteratorBase. 2363
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 14009
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 70066
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. 6087
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. 7486
nsLineBreaker.cpp static 22712
nsLineBreaker.h A receiver of line break data. 11218
nsMimeTypeArray.cpp 2915
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. 3506
nsNameSpaceManager.cpp A class for managing namespace IDs and mapping back and forth between namespace IDs and namespace URIs. 9670
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. 2906
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). 2486
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. 13176
nsNodeInfoManager.h A class for handing out nodeinfos and ensuring sharing of them as needed. 6021
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). 64773
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). 18091
nsOpenURIInFrameParams.cpp 2908
nsOpenURIInFrameParams.h 1317
nsPIDOMWindow.h 40452
nsPIDOMWindowInlines.h 2235
nsPIWindowRoot.h @param aForVisibleWindow true if caller needs controller which is associated with visible window. 3315
nsPluginArray.cpp 5181
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. 4057
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. 124316
nsRange.h Implementation of the DOM Range object. 25485
nsSandboxFlags.h Constant flags that describe how a document is sandboxed according to the HTML5 spec. 4144
nsScreen.cpp virtual 5573
nsScreen.h nsScreen_h___ 3263
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. 6671
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 aForceInDataDoc 7547
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. 10704
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* 15376
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* 10017
nsTextFragmentGeneric.h 2022
nsTextFragmentGenericFwd.h 589
nsTextFragmentImpl.h 1357
nsTextFragmentSSE2.cpp 444
nsTextFragmentVMX.cpp 3320
nsTextNode.cpp Implementation of DOM Core's Text node. 8230
nsTextNode.h Implementation of DOM Core's Text node. 1763
nsTraversal.cpp destructor code 1986
nsTraversal.h Implementation of common traversal methods for TreeWalker and NodeIterator. 1454
nsTreeSanitizer.cpp 95004
nsTreeSanitizer.h See the documentation of nsIParserUtils::sanitize for documentation about the default behavior and the configuration options of this sanitizer. 13332
nsViewportInfo.cpp 1784
nsViewportInfo.h Default values for the nsViewportInfo class. 5577
nsWindowMemoryReporter.cpp Don't trigger a ghost window check when a DOM window is detached if we've run it this recently. 36091
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 hiddenWindowMac.xhtml) it's what the address bar shows for the tab. 6181
nsWindowRoot.cpp 13826
nsWindowRoot.h 3491
nsWindowSizes.h 6789
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. 30517
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 1288
PlacesBookmarkAddition.h 3201
PlacesBookmarkChanged.h 849
PlacesBookmarkGuid.h 1612
PlacesBookmarkKeyword.h 1786
PlacesBookmarkMoved.h 2856
PlacesBookmarkRemoved.h 1978
PlacesBookmarkTags.h 1751
PlacesBookmarkTime.h 1728
PlacesBookmarkTitle.h 1745
PlacesBookmarkUrl.h 1593
PlacesEvent.cpp 905
PlacesEvent.h 2523
PlacesEventCounts.cpp 2054
PlacesEventCounts.h 1162
PlacesFavicon.h 1605
PlacesHistoryCleared.h 1265
PlacesObservers.cpp 14744
PlacesObservers.h 2835
PlacesPurgeCaches.h 1214
PlacesRanking.h 1172
PlacesVisit.h 2248
PlacesVisitRemoved.h 2520
PlacesVisitTitle.h 1618
PlacesWeakCallbackWrapper.cpp 1586
PlacesWeakCallbackWrapper.h 1526
PointerLockManager.cpp static 17241
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. 2680
PopoverData.cpp aUseCapture 2855
PopoverData.h 3839
PopupBlocker.cpp static 13635
PopupBlocker.h 3922
Pose.cpp 1954
Pose.h 2532
PostMessageEvent.cpp 11422
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
RadioGroupContainer.cpp A struct that holds all the information about a radio group. 7527
RadioGroupContainer.h 2106
RangeBoundary.h There are two ways of ensuring that `mRef` points to the correct node. In most cases, the `RangeBoundary` is used by an object that is a `MutationObserver` (i.e. `nsRange`) and replaces its `RangeBoundary` objects when its parent chain changes. However, there are Ranges which are not `MutationObserver`s (i.e. `StaticRange`). `mRef` may become invalid when a DOM mutation happens. Therefore, it needs to be recomputed using `mOffset` before it is being accessed. Because recomputing / validating of `mRef` could be an expensive operation, it should be ensured that `Ref()` is called as few times as possible, i.e. only once per method of `RangeBoundaryBase`. Furthermore, there are special implications when the `RangeBoundary` is not used by an `MutationObserver`: After a DOM mutation, the Boundary may point to something that is not valid anymore, i.e. the `mOffset` is larger than `Container()->Length()`. In this case, `Ref()` and `Get*ChildAtOffset()` return `nullptr` as an indication that this RangeBoundary is not valid anymore. Also, `IsSetAndValid()` returns false. However, `IsSet()` will still return true. 17686
RangeUtils.cpp 10991
RangeUtils.h ShadowDOMSelectionHelpers contains the static methods to help extra values based on whether or not the iterator allows to iterate nodes cross the shadow boundary. 5807
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
RequestCallbackManager.h The current frame request callback handle 3340
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 19256
ResizeObserver.h Returns whether the observed target element size differs from the saved mLastReportedSize. 11286
ResponsiveImageSelector.cpp 22429
ResponsiveImageSelector.h 7725
rust
RustTypes.h 2095
SameProcessMessageQueue.cpp static 1830
SameProcessMessageQueue.h 1157
ScreenLuminance.cpp 688
ScreenLuminance.h 1506
ScreenOrientation.cpp 30326
ScreenOrientation.h 4213
ScriptableContentIterator.cpp 5997
ScriptableContentIterator.h 1121
ScrollingMetrics.cpp 4004
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 157442
Selection.h This cache allows to store all selected nodes during a reflow operation. All fully selected nodes are stored in a hash set per-selection instance. This allows fast paths in `nsINode::IsSelected()` and `Selection::LookupSelection()`. For partially selected nodes, the old mechanisms are used. This is okay, because for partially selected nodes no expensive node traversal is necessary. This cache is designed to be used in a context where no script is allowed to run. It assumes that the selection itself, or any range therein, does not change during its lifetime. By design, this class can only be instantiated in the `PresShell`. 50440
SelectionChangeEventDispatcher.cpp Implementation of mozilla::SelectionChangeEventDispatcher 6349
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 29533
ShadowRoot.h Clones internal state, for example stylesheets, of aOther to 'this'. 10787
SlowScriptDebug.sys.mjs 694
SourceLocation.cpp 2027
SourceLocation.h 1786
StaticRange.cpp 6507
StaticRange.h The following Create() returns `nsRange` instance which is initialized only with aNode. The result is never positioned. 5872
StorageAccessPermissionRequest.cpp 5717
StorageAccessPermissionRequest.h 3147
StructuredCloneBlob.cpp static 7620
StructuredCloneBlob.h 3032
StructuredCloneHolder.cpp 60675
StructuredCloneHolder.h 16133
StructuredCloneTags.h 5065
StructuredCloneTester.cpp static 3218
StructuredCloneTester.h 1915
StyledRange.cpp 472
StyledRange.h 715
StyleSheetList.cpp virtual 1521
StyleSheetList.h 1859
SubtleCrypto.cpp 6333
SubtleCrypto.h 4754
SyncMessageSender.h 773
test
TestUtils.cpp shrinking 1923
TestUtils.h 851
Text.cpp static 4821
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. 1886
TextDirectiveFinder.cpp 16376
TextDirectiveFinder.h @brief Finds one or more `TextDirective`s in a `Document`. This class is designed to consume the `TextDirective`s. Every `TextDirective` which is found is removed from the list of uninvoked text directives, and is returned as an `nsRange`. Internally, finding a text directive in a document uses Gecko's find-in-page implementation `nsFind`. 1686
TextDirectiveUtil.cpp static 10026
TextDirectiveUtil.h @brief Return true if `aNode` is a visible Text node. A node is a visible text node if it is a Text node, the computed value of its parent element's visibility property is visible, and it is being rendered. see https://wicg.github.io/scroll-to-text-fragment/#visible-text-node 5733
TextInputProcessor.cpp TextInputProcessorNotification **************************************************************************** 61294
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 17006
ThirdPartyUtil.h 1503
Timeout.cpp 2751
Timeout.h Timeout struct that holds information about each script timeout. Holds a strong reference to an nsITimeoutHandler, which abstracts the language specific cruft. 5696
TimeoutBudgetManager.cpp static 1119
TimeoutBudgetManager.h 862
TimeoutExecutor.cpp 8425
TimeoutExecutor.h 2964
TimeoutHandler.cpp unused 6429
TimeoutHandler.h Utility class for implementing nsITimeoutHandlers, designed to be subclassed. 3266
TimeoutManager.cpp 50878
TimeoutManager.h 8148
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 1911
TreeOrderedArrayInlines.h 1576
TreeWalker.cpp Implementation of DOM Traversal's TreeWalker 8347
TreeWalker.h Implementation of DOM Traversal's TreeWalker 2801
UIDirectionManager.cpp static 2831
UIDirectionManager.h 823
UnbindContext.h State that is passed down to UnbindToTree. 1139
use_counter_metrics.yaml 1208274
UseCounter.h 2749
UseCounterMetrics.h Increments the metric associated with the specific use counter. @param aUseCounter - The use counter for the feature that was used. @param aIsPage - Whether we should record to the page or document metric. @returns The name of the metric that was incremented, or "". 1391
UseCounters.conf 17838
usecounters.py \ # This file is AUTOGENERATED by usecounters.py. DO NOT EDIT. # (instead, re-run ./mach gen-use-counter-metrics) # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. --- $schema: moz://mozilla.org/schemas/glean/metrics/2-0-0 $tags: - 'Core :: DOM: Core & HTML' 26614
UseCountersWorker.conf 2921
UserActivation.cpp static 5215
UserActivation.h Most of this class is for the old user activation model. The new model defined in the spec [1] is implemented by `dom::WindowContext` (see `WindowContext::GetUserActivationState` etc.) since the state defined in the spec is associated with the `window` object. [1]: https://html.spec.whatwg.org/multipage/interaction.html#user-activation-data-model 6579
VideoFrameProvider.h 1084
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). 3698
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 1712
VisualViewport.cpp virtual 10885
VisualViewport.h Visual Viewport API spec: https://wicg.github.io/visual-viewport/#the-visualviewport-interface 3872
WindowDestroyedEvent.cpp 5253
WindowDestroyedEvent.h 1088
WindowFeatures.cpp static 8242
WindowFeatures.h 4315
WindowNamedPropertiesHandler.cpp unused 10212
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. 5762
XPathGenerator.h Return a properly quoted string to insert into an XPath 918
ZLibHelper.h 1687