Name Description Size Coverage
AbstractRange.cpp 39048 89 %
AbstractRange.h Called when the process is shutting down. 11144 70 %
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. 4782 100 %
AnimationFrameProvider.cpp 1367 44 %
AnimationFrameProvider.h 1211 100 %
AnonymousContent.cpp 1769 95 %
AnonymousContent.h 1262 100 %
Attr.cpp Implementation of DOM Core's Attr node. 7898 82 %
Attr.h Implementation of DOM Core's Attr node. 3720 100 %
AttrArray.cpp Storage of the children and attributes of a DOM node; storage for the two is unified to minimize footprint. 11459 88 %
AttrArray.h Storage of the attributes of a DOM node. 12932 97 %
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 9108 -
AutoPrintEventDispatcher.h 2092 100 %
AutoSuppressEventHandlingAndSuspend.h Suppresses event handling and suspends for all in-process documents in a BrowsingContext subtree. 1882 85 %
BarProps.cpp 6864 90 %
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) 4008 88 %
BindContext.cpp 1273 90 %
BindContext.h State that is passed down to BindToTree. 3660 100 %
BodyConsumer.cpp Called on successfully reading the complete stream. 24697 83 %
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. 5063 67 %
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. 15249 90 %
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|. 2878 -
BorrowedAttrInfo.cpp 684 50 %
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). 1012 100 %
CacheExpirationTime.h The expiration time for sub resource cache. 1823 100 %
CallState.h 625 -
CCGCScheduler.cpp Globally initialized constants 37137 97 %
CCGCScheduler.h 18417 99 %
CharacterData.cpp Base class for DOM Core's Comment, DocumentType, Text, CDATASection and ProcessingInstruction nodes. 19132 96 %
CharacterData.h Base class for DOM Core's Comment, DocumentType, Text, CDATASection, and ProcessingInstruction nodes. 9967 96 %
CharacterDataBuffer.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* 15469 78 %
CharacterDataBuffer.h A class which represents a buffer 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* 23267 91 %
CharacterDataBufferGeneric.h 1941 100 %
CharacterDataBufferGenericFwd.h 498 -
CharacterDataBufferImpl.h 1266 75 %
CharacterDataBufferSSE2.cpp 369 -
CharacterDataBufferVMX.cpp 3327 -
ChildIterator.cpp 9917 84 %
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. 7203 95 %
ChildProcessMessageManager.h 1192 100 %
ChromeMessageBroadcaster.cpp 657 100 %
ChromeMessageBroadcaster.h Implementation for the WebIDL ChromeMessageBroadcaster interface. Used for window and group message managers. 1996 100 %
ChromeMessageSender.cpp 615 100 %
ChromeMessageSender.h 1529 54 %
ChromeNodeList.cpp 1700 100 %
ChromeNodeList.h 1047 100 %
ChromeUtils.cpp static 97113 76 %
ChromeUtils.h 16771 100 %
Comment.cpp Implementations of DOM Core's Comment node. 1922 90 %
Comment.h 1722 100 %
components.conf 1249 -
ConnectedAncestorTracker.h AutoConnectedAncestorTracker is a struct which keeps referring the connected and closest ancestor of a content node. E.g., say, there are nodes are: Document -> <html> -> <body> -> <div> and starts tracking it with the <div>, and the <body> is removed, this refers the <html> with mConnectedAncestor. Note that even after reconnected the <body>, this won't refer the <div> as connected one. 2477 100 %
ContentAreaDropListener.sys.mjs 10808 92 %
ContentFrameMessageManager.cpp 780 90 %
ContentFrameMessageManager.h Base class for implementing the WebIDL ContentFrameMessageManager class. 1763 100 %
ContentIterator.cpp 51090 89 %
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. 15755 89 %
ContentProcessMessageManager.cpp 4144 95 %
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. 3115 45 %
CORSMode.h The default of not using CORS to validate cross-origin loads. 892 -
crashtests -
CrossShadowBoundaryRange.cpp static 11545 95 %
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. 3799 44 %
Crypto.cpp virtual 3220 92 %
Crypto.h 1290 67 %
CustomElementRegistry.cpp static 66495 92 %
CustomElementRegistry.h 21882 98 %
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. 33925 95 %
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. 6290 -
DocGroup.cpp static 5453 69 %
DocGroup.h 4473 100 %
Document.cpp Base class for all our document implementations. 725431 90 %
Document.h 220883 98 %
DocumentFragment.cpp Implementation of DOM Core's DocumentFragment. 3511 91 %
DocumentFragment.h 3372 79 %
DocumentInlines.h 2340 100 %
DocumentOrShadowRoot.cpp 27777 92 %
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. 10185 100 %
DocumentType.cpp Implementation of DOM Core's DocumentType node. 2687 86 %
DocumentType.h Implementation of DOM Core's DocumentType node. 2309 100 %
DOMArena.h 1854 88 %
domerr.msg Error Message definitions. 12012 -
DOMException.cpp DOM4 errors from http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception 13747 91 %
DOMException.h unused 5637 90 %
DOMImplementation.cpp 7435 92 %
DOMImplementation.h 2244 100 %
DOMIntersectionObserver.cpp 40639 95 %
DOMIntersectionObserver.h 8509 100 %
DOMMatrix.cpp 34627 87 %
DOMMatrix.h 13423 98 %
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. 3650 80 %
DOMParser.cpp 11485 80 %
DOMParser.h 3521 90 %
DOMPoint.cpp 4358 97 %
DOMPoint.h MOZILLA_DOMPOINT_H_ 3519 100 %
DOMQuad.cpp 5074 98 %
DOMQuad.h MOZILLA_DOMRECT_H_ 2892 100 %
DOMRect.cpp 5567 97 %
DOMRect.h 5242 100 %
DOMStringList.cpp 914 100 %
DOMStringList.h mozilla_dom_DOMStringList_h 2256 100 %
DOMTokenListSupportedTokens.h Definitions of supported tokens data types for nsDOMTokenList. This is in a separate header so Element.h can include it too. 1086 -
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. 229940 95 %
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. 105469 98 %
ElementInlines.h 1920 100 %
EventSource.cpp 65149 87 %
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". 2630 100 %
EventSourceEventService.cpp static 9333 96 %
EventSourceEventService.h Casting EventSourceEventService to nsISupports is ambiguous. This method handles that. 2269 100 %
External.cpp 530 100 %
External.h 1016 86 %
FastFrontRemovableArray.h 4079 97 %
FilteredNodeIterator.h Implementation of a generic filtered iterator over nodes. 1213 100 %
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. 2414 100 %
FocusModel.h 1289 70 %
FormData.cpp 12996 94 %
FormData.h 5499 91 %
FragmentDirective.cpp 19219 86 %
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 5405 100 %
fragmentdirectives 81 %
FragmentOrElement.cpp Base class for all element classes and DocumentFragment. 69921 94 %
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. 14193 98 %
FromParser.h Constants for passing as aFromParser 585 -
FullscreenChange.h Struct for holding fullscreen request. 5183 100 %
FuzzingFunctions.cpp static 15152 -
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. 2890 -
fuzztest -
gen-usecounters.py #ifndef %(name)s #define %(name)s(interface_, name_) // nothing #define DEFINED_%(name)s #endif 2138 -
GeneratedImageContent.cpp 1436 92 %
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. 2143 60 %
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. 1750 95 %
GlobalTeardownObserver.cpp 2173 100 %
GlobalTeardownObserver.h 2214 67 %
Highlight.cpp 9119 93 %
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. 7220 100 %
HighlightRegistry.cpp 12732 88 %
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 6008 100 %
HTMLSplitOnSpacesTokenizer.h 463 -
IdentifierMapEntry.h Entry for the Document or ShadowRoot's identifier map. 7897 98 %
IdleDeadline.cpp 2517 97 %
IdleDeadline.h 1446 100 %
IdleRequest.cpp 2618 83 %
IdleRequest.h 1396 100 %
IDTracker.cpp aWatch = 10269 95 %
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. 7592 96 %
IframeSandboxKeywordList.inc 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. 1986 -
ImageEncoder.cpp 17779 70 %
ImageEncoder.h 5668 100 %
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 73 %
InProcessBrowserChildMessageManager.cpp static 9100 85 %
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. 4043 100 %
InteractiveWidget.h 855 100 %
IntlUtils.cpp 2780 74 %
IntlUtils.h 1413 100 %
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. 2220 90 %
JSExecutionUtils.h DOM_BASE_JSEXECUTIONUTILS_H_ 928 -
LifecycleCallbackArgs.h 1289 100 %
Link.cpp aNotify = 11469 97 %
Link.h This is the base class for all link classes. 3992 90 %
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). 13234 98 %
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. 9806 93 %
Location.cpp 17641 85 %
Location.h 4799 100 %
LocationBase.cpp Check with the scriptContext if it is currently processing a script tag. If so, this must be a <script> tag with a location.href in it. we want to do a replace load, in such a situation. In other cases, for example if a event handler or a JS timer had a location.href in it, we want to do a normal load, so that the new url will be appended to Session History. This solution is tricky. Hopefully it isn't going to bite anywhere else. This is part of solution for bug # 39938, 72197 6444 100 %
LocationBase.h 1838 -
LocationHelper.sys.mjs Shared utility functions for modules dealing with Location Services. 1308 -
mach_commands.py 1262 -
MaybeCrossOriginObject.cpp static 18400 90 %
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. 14143 100 %
MessageBroadcaster.cpp 1195 100 %
MessageBroadcaster.h Implementation for the WebIDL MessageBroadcaster interface. Base class for window and process broadcaster message managers. 1621 100 %
MessageListenerManager.cpp 1955 100 %
MessageListenerManager.h Implementation for the WebIDL MessageListenerManager interface. Base class for message managers that are exposed to script. 1600 80 %
MessageManagerCallback.h 1498 33 %
MessageManagerGlobal.cpp 1444 47 %
MessageManagerGlobal.h Base class for implementing the WebIDL MessageManagerGlobal class. 3232 60 %
MessageSender.cpp 878 67 %
MessageSender.h Implementation for the WebIDL MessageSender interface. Base class for frame and child process message managers. 926 100 %
MimeType.cpp static 12459 98 %
MimeType.h 3307 100 %
moz.build 16770 -
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. 1603 100 %
mozIDOMWindow.idl Placeholder interfaces to allow passing inner/outer windows through XPIDL. 551 -
MozQueryInterface.cpp static 2676 100 %
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. 1602 67 %
MutationObservers.cpp 9883 98 %
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 6794 100 %
NameSpaceConstants.h 1148 -
Navigator.cpp 73342 79 %
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. 11660 70 %
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. 5680 98 %
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. 9648 98 %
NodeInfoInlines.h mozilla_dom_NodeInfoInlines_h_ 4309 100 %
NodeIterator.cpp Implementation of DOM Traversal's NodeIterator 5363 100 %
NodeIterator.h Implementation of DOM Traversal's NodeIterator 2519 92 %
NodeUbiReporting.cpp 2419 93 %
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. 2711 75 %
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. 5093 94 %
nsAttrValue.cpp A struct that represents the value (type and actual data) of an attribute. 65494 89 %
nsAttrValue.h A struct that represents the value (type and actual data) of an attribute. 21196 94 %
nsAttrValueInlines.h Implementation of inline methods 8690 100 %
nsAttrValueOrString.cpp 713 100 %
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. 2645 100 %
nsCaseTreatment.h This is the enum used by functions that need to be told whether to do case-sensitive or case-insensitive string comparisons. 484 -
nsCCUncollectableMarker.cpp static 14693 92 %
nsCCUncollectableMarker.h Inits a global nsCCUncollectableMarker. Should only be called once. 1196 100 %
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 2400 73 %
nsContentAreaDragDrop.cpp 31033 76 %
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. aPolicyContainer - [out] set to the policyContainer 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 3268 100 %
nsContentCreatorFunctions.h Functions to create content, to be used only inside Gecko (mozilla/content and mozilla/layout). 2610 -
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). 43832 96 %
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). 23585 93 %
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. 2348 -
nsContentPermissionHelper.cpp 27087 91 %
nsContentPermissionHelper.h 7730 93 %
nsContentPolicy.cpp Implementation of the "@mozilla.org/layout/content-policy;1" contract. 6029 100 %
nsContentPolicy.h Implementation of the "@mozilla.org/layout/content-policy;1" contract. 1087 100 %
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... 13060 39 %
nsContentSink.cpp Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 32092 89 %
nsContentSink.h Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 8653 91 %
nsContentTypeParser.cpp 838 100 %
nsContentTypeParser.h 566 -
nsContentUtils.cpp A namespace class for static layout utilities. 447777 91 %
nsContentUtils.h A namespace class for static content utilities. 156807 95 %
nsCopySupport.cpp 34749 86 %
nsCopySupport.h @param aDoc Needs to be not nullptr. 5078 -
nsDataDocumentContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 6378 94 %
nsDataDocumentContentPolicy.h Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 1012 100 %
nsDeprecatedOperationList.inc This file contains the list of deprecated DOM operations. It is designed to be used as input to the C preprocessor *only*. 3002 -
nsDocElementCreatedNotificationRunner.h nsRunnable 882 100 %
nsDocumentWarningList.inc This file contains the list of document DOM operations warnings. It is designed to be used as input to the C preprocessor *only*. 734 -
nsDOMAttributeMap.cpp Implementation of the |attributes| property of DOM Core's Element object. 12893 92 %
nsDOMAttributeMap.h Implementation of the |attributes| property of DOM Core's Element object. 5029 93 %
nsDOMCaretPosition.cpp 1777 89 %
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) 2839 100 %
nsDOMCID.h 9eb760f0-4380-11d2-b328-00805f8a3859 962 -
nsDOMJSUtils.h 939 -
nsDOMMutationObserver.cpp 40268 91 %
nsDOMMutationObserver.h 23681 98 %
nsDOMNavigationTiming.cpp 24011 97 %
nsDOMNavigationTiming.h 8840 93 %
nsDOMString.h nsDOMString_h_ 471 100 %
nsDOMTokenList.cpp Implementation of DOMTokenList specified by HTML5. 9688 97 %
nsDOMTokenList.h Implementation of DOMTokenList specified by HTML5. 3272 100 %
nsDOMWindowUtils.cpp 147901 76 %
nsDOMWindowUtils.h 2206 -
nsFocusManager.cpp 219407 92 %
nsFocusManager.h The focus manager keeps track of where the focus is, that is, the node which receives key events. 44827 100 %
nsFrameLoader.cpp Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 134865 88 %
nsFrameLoader.h Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 19257 97 %
nsFrameLoaderOwner.cpp 14928 94 %
nsFrameLoaderOwner.h 5122 100 %
nsFrameMessageManager.cpp 48743 89 %
nsFrameMessageManager.h 11629 100 %
nsGlobalWindowCommands.cpp 33182 73 %
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 1196 -
nsGlobalWindowInner.cpp 266360 85 %
nsGlobalWindowInner.h 60576 95 %
nsGlobalWindowOuter.cpp 260105 87 %
nsGlobalWindowOuter.h 43504 91 %
nsHistory.cpp 8177 90 %
nsHistory.h nsHistory_h_ 3188 50 %
nsIAnimationObserver.h 1930 -
nsIContent.h A node of content in a document's content model. This interface is supported by all content objects. 27794 99 %
nsIContentInlines.h 9098 100 %
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). 19445 -
nsIDocumentObserver.h Notify that a content model update is beginning. This call can be nested. 4026 -
nsIDroppedLinkHandler.idl Returns the URL of the link. 3298 -
nsIEventSourceEventService.idl 1359 -
nsIGlobalObject.cpp 16555 86 %
nsIGlobalObject.h See <https://developer.mozilla.org/en-US/docs/Glossary/Global_object>. 16065 46 %
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. 6024 -
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). 66579 88 %
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). 21805 89 %
nsIMessageManager.idl 585 -
nsIMutationObserver.h Used for Trusted Types' Enforcement for scripts. https://w3c.github.io/trusted-types/dist/spec/#enforcement-in-scripts 20801 90 %
nsINode.cpp Base class for all DOM nodes. 144681 89 %
nsINode.h @return true if aChar is what the WHATWG defines as a 'ascii whitespace'. https://infra.spec.whatwg.org/#ascii-whitespace 106861 99 %
nsINodeList.h An internal interface for a reasonably fast indexOf. 1215 100 %
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. 1543 -
nsIScriptableContentIterator.idl nsIScriptableContentIterator is designed to testing concrete classes of ContentIteratorBase. 2283 -
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. 2767 -
nsIScriptContext.h It is used by the application to initialize a runtime and run scripts. A script runtime would implement this interface. 2431 -
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. 2782 60 %
nsIScriptObjectPrincipal.h JS Object Principal information. 876 -
nsISelectionController.idl SetDisplaySelection will set the display mode for the selection. OFF,ON,DISABLED 14043 -
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. 1328 -
nsISelectionListener.idl bitflags 1595 -
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). 1180 -
nsISlowScriptDebug.idl 1123 -
nsJSEnvironment.cpp 72174 80 %
nsJSEnvironment.h 7560 100 %
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. 6004 80 %
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. 7361 88 %
nsLineBreaker.cpp static 25921 95 %
nsLineBreaker.h A receiver of line break data. 12302 79 %
nsMimeTypeArray.cpp 2933 84 %
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. 3379 91 %
nsNameSpaceManager.cpp A class for managing namespace IDs and mapping back and forth between namespace IDs and namespace URIs. 9549 91 %
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. 2778 100 %
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). 2366 100 %
nsNoDataProtocolContentPolicy.h Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 1031 100 %
nsNodeInfoManager.cpp A class for handing out nodeinfos and ensuring sharing of them as needed. 13363 99 %
nsNodeInfoManager.h A class for handing out nodeinfos and ensuring sharing of them as needed. 5901 100 %
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). 66676 76 %
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). 17970 58 %
nsOpenURIInFrameParams.cpp 2926 100 %
nsOpenURIInFrameParams.h 1336 100 %
nsPIDOMWindow.h Associate this inner window with a MediaKeys instance. 38975 98 %
nsPIDOMWindowInlines.h 2110 100 %
nsPIWindowRoot.h @param aForVisibleWindow true if caller needs controller which is associated with visible window. 2950 100 %
nsPluginArray.cpp 5198 83 %
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. 3930 93 %
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. 8606 84 %
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. 6497 100 %
nsQueryContentEventResult.cpp Is*PropertyAvailable() methods which check if the property is available (valid) with the event message. **************************************************************************** 7506 89 %
nsQueryContentEventResult.h 1213 100 %
nsRange.cpp Implementation of the DOM Range object. 117881 82 %
nsRange.h Implementation of the DOM Range object. 28462 91 %
nsSandboxFlags.h Constant flags that describe how a document is sandboxed according to the HTML5 spec. 4013 -
nsScreen.cpp 6987 92 %
nsScreen.h nsScreen_h_ 3732 78 %
nsStructuredCloneContainer.cpp 4787 88 %
nsStructuredCloneContainer.h 38bd0634-0fd4-46f0-b85f-13ced889eeec 1559 100 %
nsStubAnimationObserver.cpp 303 100 %
nsStubAnimationObserver.h 466 -
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. 735 100 %
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. 1241 -
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. 6758 87 %
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. 2826 -
nsStyledElement.cpp aForceInDataDoc 7590 100 %
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. 3355 100 %
nsSyncLoadService.cpp A service that provides methods for synchronously loading a DOM in various ways. 11046 90 %
nsSyncLoadService.h A service that provides methods for synchronously loading a DOM in various ways. 2474 -
nsTextNode.cpp Implementation of DOM Core's Text node. 8427 86 %
nsTextNode.h Implementation of DOM Core's Text node. 1610 100 %
nsTraversal.cpp Tests if and how a node should be filtered. Uses mWhatToShow and mFilter to test the node. @param aNode Node to test @param aResult Whether we succeeded @returns Filtervalue. See NodeFilter.webidl 1893 100 %
nsTraversal.h Implementation of common traversal methods for TreeWalker and NodeIterator. 1329 0 %
nsTreeSanitizer.cpp 58960 97 %
nsTreeSanitizer.h See the documentation of nsIParserUtils::sanitize for documentation about the default behavior and the configuration options of this sanitizer. 8069 100 %
nsViewportInfo.cpp 1665 92 %
nsViewportInfo.h Default values for the nsViewportInfo class. 5575 100 %
nsWindowMemoryReporter.cpp Don't trigger a ghost window check when a DOM window is detached if we've run it this recently. 36065 88 %
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. 5921 -
nsWindowRoot.cpp 13633 99 %
nsWindowRoot.h 3368 67 %
nsWindowSizes.h 6766 96 %
nsWrapperCache.cpp static 5154 100 %
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. 30348 93 %
nsWrapperCacheInlines.h nsWrapperCache_h_ 3235 96 %
Nyx.cpp static 1849 -
Nyx.h 956 -
ParentProcessMessageManager.cpp 1004 100 %
ParentProcessMessageManager.h Implementation for the WebIDL ParentProcessMessageManager interface. ParentProcessMessageManager is used in a parent process to communicate with all the child processes. 1571 100 %
PlacesBookmark.h 1167 89 %
PlacesBookmarkAddition.h 3080 93 %
PlacesBookmarkChanged.h 728 75 %
PlacesBookmarkGuid.h 1491 89 %
PlacesBookmarkKeyword.h 1665 100 %
PlacesBookmarkMoved.h 2735 100 %
PlacesBookmarkRemoved.h 1857 100 %
PlacesBookmarkTags.h 1630 100 %
PlacesBookmarkTime.h 1607 100 %
PlacesBookmarkTitle.h 1624 100 %
PlacesBookmarkUrl.h 1472 100 %
PlacesEvent.cpp 784 100 %
PlacesEvent.h 2402 12 %
PlacesEventCounts.cpp 1933 88 %
PlacesEventCounts.h 1040 100 %
PlacesFavicon.h 1484 53 %
PlacesHistoryCleared.h 1144 82 %
PlacesObservers.cpp 14617 96 %
PlacesObservers.h 2711 -
PlacesPurgeCaches.h 1093 89 %
PlacesRanking.h 1051 89 %
PlacesVisit.h 2127 94 %
PlacesVisitRemoved.h 2399 96 %
PlacesVisitTitle.h 1497 56 %
PlacesWeakCallbackWrapper.cpp 1465 100 %
PlacesWeakCallbackWrapper.h 1405 100 %
PointerLockManager.cpp static 17183 87 %
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. 2559 100 %
PopoverData.cpp aUseCapture 3211 96 %
PopoverData.h 4103 100 %
PopupBlocker.cpp static 13609 87 %
PopupBlocker.h 3770 -
Pose.cpp 1834 67 %
Pose.h 2411 67 %
PostMessageEvent.cpp 11443 94 %
PostMessageEvent.h Class used to represent events generated by calls to Window.postMessage, which asynchronously creates and dispatches events. 4646 100 %
ProcessMessageManager.cpp 1636 100 %
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). 1747 54 %
RadioGroupContainer.cpp A struct that holds all the information about a radio group. 7089 96 %
RadioGroupContainer.h 2392 100 %
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. 42542 84 %
RangeUtils.cpp 15857 93 %
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. 5058 100 %
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(). 6225 94 %
RequestCallbackManager.h 4272 98 %
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 20024 98 %
ResizeObserver.h Returns whether the observed target element size differs from the saved mLastReportedSize. 11697 100 %
ResponsiveImageSelector.cpp 21053 95 %
ResponsiveImageSelector.h 7974 94 %
rust -
RustTypes.h 1974 -
SameProcessMessageQueue.cpp static 1710 100 %
SameProcessMessageQueue.h 1036 100 %
ScreenLuminance.cpp 575 0 %
ScreenLuminance.h 1392 0 %
ScreenOrientation.cpp 34722 69 %
ScreenOrientation.h 5022 100 %
ScriptableContentIterator.cpp 5876 76 %
ScriptableContentIterator.h 968 100 %
ScrollingMetrics.cpp 3882 99 %
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. 1592 100 %
Selection.cpp Implementation of mozilla::dom::Selection 166070 81 %
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`. 52336 94 %
SelectionChangeEventDispatcher.cpp Implementation of mozilla::SelectionChangeEventDispatcher 6376 94 %
SelectionChangeEventDispatcher.h 2301 100 %
SerializedStackHolder.cpp 4895 90 %
SerializedStackHolder.h 3449 -
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. 3776 100 %
ShadowRoot.cpp Part of https://dom.spec.whatwg.org/#concept-attach-a-shadow-root step 5 34920 90 %
ShadowRoot.h 14697 84 %
SlowScriptDebug.sys.mjs 694 91 %
SourceLocation.cpp 1907 87 %
SourceLocation.h 1665 100 %
StaticAtomSet.h 839 100 %
StaticRange.cpp 6699 91 %
StaticRange.h The following Create() returns `nsRange` instance which is initialized only with aNode. The result is never positioned. 5957 88 %
StorageAccessPermissionRequest.cpp 5553 83 %
StorageAccessPermissionRequest.h 2472 100 %
StructuredCloneBlob.cpp static 7490 83 %
StructuredCloneBlob.h 2911 73 %
StructuredCloneHolder.cpp 68004 85 %
StructuredCloneHolder.h 17533 90 %
StructuredCloneTags.h 5040 -
StructuredCloneTester.cpp static 3097 98 %
StructuredCloneTester.h 1794 100 %
StyledRange.cpp 3603 79 %
StyledRange.h An container of ranges with associated styles, containing both a sorted array of ranges and an optimized lookup for the associated `TextRangeStyle`. 4508 94 %
StyleSheetList.cpp virtual 1400 91 %
StyleSheetList.h 1738 83 %
SubtleCrypto.cpp 6212 97 %
SubtleCrypto.h 4633 100 %
SyncMessageSender.h 652 100 %
test 0 %
TestUtils.cpp shrinking 1801 95 %
TestUtils.h 729 -
Text.cpp static 4888 78 %
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. 1765 100 %
TextDirectiveCreator.cpp static 36826 93 %
TextDirectiveCreator.h @brief Helper class to create a text directive string from a given `Range`. The class provides a public static creator function which encapsulates all necessary logic. This class serves as a base class that defines the main algorithm, and is subclassed twice for exact and range-based matching. 12452 83 %
TextDirectiveFinder.cpp 20618 85 %
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`. 2211 100 %
TextDirectiveUtil.cpp static 9956 94 %
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 28367 85 %
TextInputProcessor.cpp TextInputProcessorNotification **************************************************************************** 61129 87 %
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. 9832 93 %
ThirdPartyUtil.cpp 17605 91 %
ThirdPartyUtil.h 1398 100 %
Timeout.cpp 2725 84 %
Timeout.h Timeout struct that holds information about each script timeout. Holds a strong reference to an nsITimeoutHandler, which abstracts the language specific cruft. 5544 100 %
TimeoutBudgetManager.cpp 845 100 %
TimeoutBudgetManager.h 685 100 %
TimeoutExecutor.cpp 8304 98 %
TimeoutExecutor.h 2843 -
TimeoutHandler.cpp unused 7914 59 %
TimeoutHandler.h Utility class for implementing nsITimeoutHandlers, designed to be subclassed. 3728 80 %
TimeoutManager.cpp 51807 95 %
TimeoutManager.h 8660 100 %
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. 3903 98 %
TreeOrderedArray.h 1611 100 %
TreeOrderedArrayInlines.h 1663 100 %
TreeWalker.cpp Implementation of DOM Traversal's TreeWalker 8217 97 %
TreeWalker.h Implementation of DOM Traversal's TreeWalker 2686 83 %
UIDirectionManager.cpp static 2711 89 %
UIDirectionManager.h 702 100 %
UnbindContext.h State that is passed down to UnbindToTree. 1961 100 %
use_counter_metrics.yaml 1297889 -
UseCounter.h 2497 -
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 "". 1270 -
UseCounters.conf 19685 -
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' 25344 -
UseCountersWorker.conf 3974 -
UserActivation.cpp static 5094 94 %
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 6464 100 %
VideoFrameProvider.h 963 -
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). 3578 96 %
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 1591 100 %
VisualViewport.cpp virtual 12895 98 %
VisualViewport.h Visual Viewport API spec: https://wicg.github.io/visual-viewport/#the-visualviewport-interface 2081 100 %
WindowDestroyedEvent.cpp 5132 99 %
WindowDestroyedEvent.h 967 100 %
WindowFeatures.cpp static 8128 99 %
WindowFeatures.h 4193 100 %
WindowNamedPropertiesHandler.cpp unused 10674 64 %
WindowNamedPropertiesHandler.h hasPrototype = 2562 44 %
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>. 2533 86 %
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. 5641 99 %
XPathGenerator.h Return a properly quoted string to insert into an XPath 795 -