Name Description Size
AbstractRange.cpp 7777
AbstractRange.h Called when the process is shutting down. 4110
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 1657
AnimationFrameProvider.h The current frame request callback handle 2232
AnonymousContent.cpp 7142
AnonymousContent.h 3370
Attr.cpp Implementation of DOM Core's Attr node. 7086
Attr.h Implementation of DOM Core's Attr node. 3309
AttrArray.cpp Storage of the children and attributes of a DOM node; storage for the two is unified to minimize footprint. 14869
AttrArray.h Storage of the attributes of a DOM node. 7513
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 8692
AutoPrintEventDispatcher.h 1582
AutoSuppressEventHandlingAndSuspend.h Suppresses event handling and suspends for all in-process documents in a BrowsingContext subtree. 2003
BarProps.cpp 6973
BarProps.h BarProps are the collection of little properties of DOM windows whose only property of their own is "visible". They describe the window chrome which can be made visible or not through JavaScript by setting the appropriate property (window.menubar.visible) 4162
BindContext.cpp 1394
BindContext.h State that is passed down to BindToTree. 3593
BodyConsumer.cpp Called on successfully reading the complete stream. 24579
BodyConsumer.h Returns a promise which will be resolved when the body is completely consumed and converted to the wanted type (See ConsumeType). @param aGlobal the global to construct the Promise. @param aMainThreadEventTarget the main-thread event target. The reading needs to start on the main-thread because of nsIInputStreamPump. @param aBodyStream the stream to read. @param aSignalImpl an AbortSignal object. Optional. @param aType the consume type. @param aBodyBlobURISpec this is used only if the consume type is CONSUME_BLOB. Optional. @param aBodyLocalPath local path in case the blob is created from a local file. Used only by CONSUME_BLOB. Optional. @param aBodyMimeType the mime-type for blob. Used only by CONSUME_BLOB. Optional. @param aBlobStorageType Blobs can be saved in temporary file. This is the type of blob storage to use. Used only by CONSUME_BLOB. @param aRv An ErrorResult. 4586
BodyStream.cpp static 19835
BodyStream.h 6347
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. 14764
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|. 2565
BorrowedAttrInfo.cpp 772
BorrowedAttrInfo.h Struct that stores info on an attribute. The name and value must either both be null or both be non-null. Note that, just as the pointers returned by GetAttrNameAt, the pointers that this struct hold are only valid until the element or its attributes are mutated (directly or via script). 1168
CallState.h 746
CCGCScheduler.cpp GC Scheduling from Firefox ========================== See also GC Scheduling from SpiderMonkey's perspective here: https://searchfox.org/mozilla-central/source/js/src/gc/Scheduling.h From Firefox's perspective GCs can start in 5 different ways: * The JS engine just starts doing a GC for its own reasons (see above). Firefox finds out about these via a callback in nsJSEnvironment.cpp * PokeGC() * PokeFullGC() * PokeShrinkingGC() * memory-pressure GCs (via a listener in nsJSEnvironment.cpp). PokeGC ------ void CCGCScheduler::PokeGC(JS::GCReason aReason, JSObject* aObj, TimeDuration aDelay) PokeGC provides a way for callers to say "Hey, there may be some memory associated with this object (via Zone) you can collect." PokeGC will: * add the zone to a set, * set flags including what kind of GC to run (SetWantMajorGC), * then creates the mGCRunner with a short delay. The delay can allow other calls to PokeGC to add their zones so they can be collected together. See below for what happens when mGCRunner fires. PokeFullGC ---------- void CCGCScheduler::PokeFullGC() PokeFullGC will create a timer that will initiate a "full" (all zones) collection. This is usually used after a regular collection if a full GC seems like a good idea (to collect inter-zone references). When the timer fires it will: * set flags (SetWantMajorGC), * start the mGCRunner with zero delay. See below for when mGCRunner fires. PokeShrinkingGC --------------- void CCGCScheduler::PokeShrinkingGC() PokeShrinkingGC is called when Firefox's user is inactive. Like PokeFullGC, PokeShrinkingGC uses a timer, but the timeout is longer which should prevent the ShrinkingGC from starting if the user only glances away for a brief time. When the timer fires it will: * set flags (SetWantMajorGC), * create the mGCRunner. There is a check if the user is still inactive in GCRunnerFired), if the user has become active the shrinking GC is canceled and either a regular GC (if requested, see mWantAtLeastRegularGC) or no GC is run. When mGCRunner fires -------------------- When mGCRunner fires it calls GCRunnerFired. This starts in the WaitToMajorGC state: * If this is a parent process it jumps to the next state * If this is a content process it will ask the parent if now is a good time to do a GC. (MayGCNow) * kill the mGCRunner * Exit Meanwhile the parent process will queue GC requests so that not too many are running in parallel overwhelming the CPU cores (see IdleSchedulerParent). When the promise from MayGCNow is resolved it will set some state (NoteReadyForMajorGC) and restore the mGCRunner. When the mGCRunner runs a second time (or this is the parent process and which jumped over the above logic. It will be in the StartMajorGC state. It will initiate the GC for real, usually. If it's a shrinking GC and the user is now active again it may abort. See GCRunnerFiredDoGC(). The runner will then run the first slice of the garbage collection. Later slices are also run by the runner, the final slice kills the runner from the GC callback in nsJSEnvironment.cpp. There is additional logic in the code to handle concurrent requests of various kinds. 38043
CCGCScheduler.h 18863
CharacterData.cpp Base class for DOM Core's Comment, DocumentType, Text, CDATASection and ProcessingInstruction nodes. 19264
CharacterData.h Base class for DOM Core's Comment, DocumentType, Text, CDATASection, and ProcessingInstruction nodes. 7831
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 58213
ChromeUtils.h 12202
Comment.cpp Implementations of DOM Core's Comment node. 2036
Comment.h 1875
components.conf 1302
ContentAreaDropListener.jsm 11457
ContentFrameMessageManager.cpp 900
ContentFrameMessageManager.h Base class for implementing the WebIDL ContentFrameMessageManager class. 2167
ContentIterator.cpp 32687
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. 9131
ContentProcessMessageManager.cpp 4194
ContentProcessMessageManager.h This class implements a singleton process message manager for content processes. Each child process has exactly one instance of this class, which hosts the process's process scripts, and may exchange messages with its corresponding ParentProcessMessageManager on the parent side. 3351
CORSMode.h The default of not using CORS to validate cross-origin loads. 916
crashtests 293
Crypto.cpp virtual 3378
Crypto.h 1411
CustomElementRegistry.cpp static 54243
CustomElementRegistry.h 21497
DirectionalityUtils.cpp 47841
DirectionalityUtils.h Various methods for returning the directionality of a string using the first-strong algorithm defined in http://unicode.org/reports/tr9/#P2 @param[out] aFirstStrong the offset to the first character in the string with strong directionality, or UINT32_MAX if there is none (return value is eDir_NotSet). @return the directionality of the string 6350
DispatcherTrait.cpp 1021
DispatcherTrait.h 1696
DocGroup.cpp 14387
DocGroup.h 5722
Document.cpp Base class for all our document implementations. 599507
Document.h 196181
DocumentFragment.cpp Implementation of DOM Core's DocumentFragment. 3709
DocumentFragment.h 3644
DocumentInlines.h 2108
DocumentOrShadowRoot.cpp 24162
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. 10173
DocumentType.cpp Implementation of DOM Core's DocumentType node. 2853
DocumentType.h Implementation of DOM Core's DocumentType node. 2469
DOMArena.h 1976
domerr.msg 12712
DOMException.cpp DOM4 errors from http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception 13843
DOMException.h unused 5980
DOMImplementation.cpp 7277
DOMImplementation.h 2399
DOMIntersectionObserver.cpp 30732
DOMIntersectionObserver.h 7201
DOMMatrix.cpp 32491
DOMMatrix.h 13139
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 10976
DOMParser.h 3423
DOMPoint.cpp 4642
DOMPoint.h MOZILLA_DOMPOINT_H_ 3673
DOMQuad.cpp 5362
DOMQuad.h MOZILLA_DOMRECT_H_ 3045
DOMRect.cpp 5721
DOMRect.h 5460
DOMRequest.cpp virtual 7915
DOMRequest.h 2914
DOMRequestHelper.jsm Helper object for APIs that deal with DOMRequests and Promises. It allows objects inheriting from it to create and keep track of DOMRequests and Promises objects in the common scenario where requests are created in the child, handed out to content and delivered to the parent within an async message (containing the identifiers of these requests). The parent may send messages back as answers to different requests and the child will use this helper to get the right request object. This helper also takes care of releasing the requests objects when the window goes out of scope. DOMRequestIPCHelper also deals with message listeners, allowing to add them to the child side of frame and process message manager and removing them when needed. 9694
DOMStringList.cpp 1034
DOMStringList.h mozilla_dom_DOMStringList_h 2378
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. 165243
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. 85380
ElementInlines.h 1364
EventSource.cpp 66394
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 765
External.h 1139
FilteredNodeIterator.h Implementation of a generic filtered iterator over nodes. 1334
FlushType.h This is the enum used by Document::FlushPendingNotifications to decide what to flush. Please note that if you change these values, you should sync it with the kFlushTypeNames array below. 2336
FormData.cpp 11080
FormData.h 5377
FragmentOrElement.cpp Base class for all element classes and DocumentFragment. 68064
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. 9476
FromParser.h Constants for passing as aFromParser 706
FullscreenChange.h Struct for holding fullscreen request. 5474
FuzzingFunctions.cpp static 14445
FuzzingFunctions.h ActivateModifiers() activates aModifiers in the TextInputProcessor. @param aTextInputProcessor The TIP whose modifier state you want to change. @param aModifiers Modifiers which you want to activate. @param aWidget The widget which should be set to WidgetKeyboardEvent. @param aRv Returns error if TextInputProcessor fails to dispatch a modifier key event. @return Modifiers which are activated by the call. 2881
fuzztest 2
gen-usecounters.py #ifndef %(name)s #define %(name)s(interface_, name_) // nothing #define DEFINED_%(name)s #endif 2177
GeneratedImageContent.cpp 1557
GeneratedImageContent.h A content node that keeps track of an index in the parent's `content` property value, used for url() values in the content of a ::before or ::after pseudo-element. 2492
HTMLSplitOnSpacesTokenizer.h 584
IdentifierMapEntry.h Entry for the Document or ShadowRoot's identifier map. 7543
IdleDeadline.cpp 2500
IdleDeadline.h 1627
IdleRequest.cpp 2075
IdleRequest.h 1518
IDTracker.cpp aReferenceImage = 8600
IDTracker.h Class to track what element is referenced by a given ID. To use it, call one of the Reset methods to set it up to watch a given ID. Call get() anytime to determine the referenced element (which may be null if the element isn't found). When the element changes, ElementChanged will be called, so subclass this class if you want to receive that notification. ElementChanged runs at safe-for-script time, i.e. outside of the content update. Call Unlink() if you want to stop watching for changes (get() will then return null). By default this is a single-shot tracker --- i.e., when ElementChanged fires, we will automatically stop tracking. get() will continue to return the changed-to element. Override IsPersistent to return true if you want to keep tracking after the first change. 6259
IframeSandboxKeywordList.h NOTE: no include guard; this file is meant to maybe be included multiple times. It has a list of the sandbox keywords we support, with their corresponding sandbox flags. 2113
ImageEncoder.cpp 16565
ImageEncoder.h The callback interface of ExtractDataAsync and ExtractDataFromLayersImageAsync. ReceiveBlobImpl() is called on main thread when encoding is complete. 5447
ImageTracker.cpp table of images used in a document, for batch locking/unlocking and animating 4696
ImageTracker.h table of images used in a document, for batch locking/unlocking and animating 2243
IndexedDBHelper.jsm 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. 6980
InProcessBrowserChildMessageManager.cpp static 10061
InProcessBrowserChildMessageManager.h This class implements a ContentFrameMessageManager for use by frame loaders in the parent process. It is bound to a DocShell rather than a BrowserChild, and does not use any IPC infrastructure for its message passing. 4365
IntlUtils.cpp 2901
IntlUtils.h 1535
JSExecutionContext.cpp This is not a generated file. It contains common utility functions invoked from the JavaScript code generated from IDL interfaces. The goal of the utility functions is to cut down on the size of the generated code itself. 9724
JSExecutionContext.h 5886
Link.cpp 14461
Link.h This is the base class for all link classes. 4562
LinkStyle.cpp A base class which implements nsIStyleSheetLinkingElement and can be subclassed by various content nodes that want to load stylesheets (<style>, <link>, processing instructions, etc). 10854
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. 8746
Location.cpp 17388
Location.h 4537
LocationBase.cpp 10042
LocationBase.h 2185
LocationHelper.jsm Shared utility functions for modules dealing with Location Services. 1383
MaybeCrossOriginObject.cpp static 18393
MaybeCrossOriginObject.h Shared infrastructure for WindowProxy and Location objects. These are the objects that can be accessed cross-origin in the HTML specification. This class can be inherited from by the relevant proxy handlers to help implement spec algorithms. The algorithms this class implements come from <https://html.spec.whatwg.org/multipage/browsers.html#shared-abstract-operations>, <https://html.spec.whatwg.org/multipage/window-object.html#the-windowproxy-exotic-object>, and <https://html.spec.whatwg.org/multipage/history.html#the-location-interface>. The class is templated on its base so we can directly implement the things that should have identical implementations for WindowProxy and Location. The templating is needed because WindowProxy needs to be a wrapper and Location shouldn't be one. 14126
MessageBroadcaster.cpp 1315
MessageBroadcaster.h Implementation for the WebIDL MessageBroadcaster interface. Base class for window and process broadcaster message managers. 1742
MessageListenerManager.cpp 2075
MessageListenerManager.h Implementation for the WebIDL MessageListenerManager interface. Base class for message managers that are exposed to script. 1721
MessageManagerCallback.h 1891
MessageManagerGlobal.cpp 1564
MessageManagerGlobal.h Base class for implementing the WebIDL MessageManagerGlobal class. 4031
MessageSender.cpp 965
MessageSender.h Implementation for the WebIDL MessageSender interface. Base class for frame and child process message managers. 1047
MimeType.cpp static 9714
MimeType.h 2568
moz.build 15641
mozAutoDocUpdate.h Helper class to automatically handle batching of document updates. This class will call BeginUpdate on construction and EndUpdate on destruction on the given document with the given update type. The document could be null, in which case no updates will be called. The constructor also takes a boolean that can be set to false to prevent notifications. 1724
mozIDOMWindow.idl Placeholder interfaces to allow passing inner/outer windows through XPIDL. 551
MozQueryInterface.cpp static 2802
MozQueryInterface.h This class implements an optimized QueryInterface method for XPConnect-wrapped JS objects. For JavaScript callers, it behaves as an ordinary QueryInterface method, returning its `this` object or throwing depending on the interface it was passed. For native XPConnect callers, we bypass JSAPI entirely, and directly check whether the queried interface is in the interfaces list. 1723
MutationObservers.cpp 9827
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 6565
NameSpaceConstants.h 1272
Navigator.cpp 68329
Navigator.h // Navigator: Script "navigator" object //***************************************************************************** namespace mozilla::dom { class Permissions; namespace battery { class BatteryManager; } // namespace battery class Promise; class Gamepad; class GamepadServiceTest; class NavigatorUserMediaSuccessCallback; class NavigatorUserMediaErrorCallback; struct MIDIOptions; nsTArray<uint32_t> SanitizeVibratePattern(const nsTArray<uint32_t>& aPattern); namespace network { class Connection; } // namespace network class LegacyMozTCPSocket; class VRDisplay; class VRServiceTest; class XRSystem; class StorageManager; class MediaCapabilities; class MediaSession; struct ShareData; class WindowGlobalChild; class Navigator final : public nsISupports, public nsWrapperCache { public: explicit Navigator(nsPIDOMWindowInner* aInnerWindow); NS_DECL_CYCLE_COLLECTING_ISUPPORTS NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(Navigator) void Invalidate(); nsPIDOMWindowInner* GetWindow() const { return mWindow; } size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; /** For use during document.write where our inner window changes. 10319
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. 5967
NodeInfo.h Class that represents a prefix/namespace/localName triple; a single nodeinfo is shared by all elements in a document that have that prefix, namespace, and localName. nsNodeInfoManagers are internal objects that manage a list of NodeInfos, every document object should hold a strong reference to a nsNodeInfoManager and every NodeInfo also holds a strong reference to their owning manager. When a NodeInfo is no longer used it will automatically remove itself from its owner manager, and when all NodeInfos have been removed from a nsNodeInfoManager and all external references are released the nsNodeInfoManager deletes itself. 9775
NodeInfoInlines.h mozilla_dom_NodeInfoInlines_h___ 4436
NodeIterator.cpp Implementation of DOM Traversal's NodeIterator 5502
NodeIterator.h Implementation of DOM Traversal's NodeIterator 2630
NodeUbiReporting.cpp 2533
NodeUbiReporting.h This file defines specializations of JS::ubi::Concrete for DOM nodes so that the JS memory tools, which operate on the UbiNode graph, can define subclasses of JS::ubi::Base that represent DOM nodes and yield the outgoing edges in a DOM node graph for reporting. 2826
nsAttrName.h Class that represents the name (nodeinfo or atom) of an attribute; using nodeinfos all the time is too slow, so we use atoms when we can. 5218
nsAttrValue.cpp A struct that represents the value (type and actual data) of an attribute. 60181
nsAttrValue.h A struct that represents the value (type and actual data) of an attribute. 21259
nsAttrValueInlines.h Implementation of inline methods 8399
nsAttrValueOrString.cpp 833
nsAttrValueOrString.h A wrapper to contain either an nsAttrValue or an nsAString. This is useful because constructing an nsAttrValue from an nsAString can be expensive when the buffer of the string is not shared. This treats nsAttrValueOrString(nullptr) as the empty string, to help with contexts where a null pointer denotes an empty value. Since a raw pointer to the passed-in string is kept, this class should only be used on the stack. 2772
nsCaseTreatment.h This is the enum used by functions that need to be told whether to do case-sensitive or case-insensitive string comparisons. 611
nsCCUncollectableMarker.cpp static 15363
nsCCUncollectableMarker.h Inits a global nsCCUncollectableMarker. Should only be called once. 1264
nsChildContentList.h Class that implements the nsINodeList interface (a list of children of the content), by holding a reference to the content and delegating Length and Item to its existing child list. @see nsINodeList 2506
nsContentAreaDragDrop.cpp 31949
nsContentAreaDragDrop.h Determine what data in the content area, if any, is being dragged. aWindow - the window containing the target node aTarget - the mousedown event target that started the drag aSelectionTargetNode - the node where the drag event should be fired aIsAltKeyPressed - true if the Alt key is pressed. In some cases, this will prevent the drag from occuring. For example, holding down Alt over a link should select the text, not drag the link. aDataTransfer - the dataTransfer for the drag event. aCanDrag - [out] set to true if the drag may proceed, false to stop the drag entirely aSelection - [out] set to the selection being dragged, or null if no selection is being dragged. aDragNode - [out] the link, image or area being dragged, or null if the drag occurred on another element. aPrincipal - [out] set to the triggering principal of the drag, or null if it's from browser chrome or OS aCSP - [out] set to the CSP of the Drag, or null if it's from browser chrome or OS aCookieJarSettings - [out] set to the cookieJarSetting of the Drag, or null if it's from browser chrome or OS 3543
nsContentCID.h d9783472-8fe9-11d2-9d3c-0060088f9ff7 7912
nsContentCreatorFunctions.h Functions to create content, to be used only inside Gecko (mozilla/content and mozilla/layout). 2488
nsContentList.cpp nsBaseContentList is a basic list of content nodes; nsContentList is a commonly used NodeList implementation (used for getElementsByTagName, some properties on HTMLDocument/Document, etc). 35261
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). 22027
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 26810
nsContentPermissionHelper.h 8035
nsContentPolicy.cpp Implementation of the "@mozilla.org/layout/content-policy;1" contract. 6546
nsContentPolicy.h Implementation of the "@mozilla.org/layout/content-policy;1" contract. 1259
nsContentPolicyUtils.h Utility routines for checking content load/process policy settings, and routines helpful for content policy implementors. XXXbz it would be nice if some of this stuff could be out-of-lined in nsContentUtils. That would work for almost all the callers... 13160
nsContentSink.cpp Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 29980
nsContentSink.h Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 7960
nsContentTypeParser.cpp 958
nsContentTypeParser.h 687
nsContentUtils.cpp A namespace class for static layout utilities. 358612
nsContentUtils.h A namespace class for static content utilities. 142842
nsCopySupport.cpp 31318
nsCopySupport.h @param aDoc Needs to be not nullptr. 4714
nsDataDocumentContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 6656
nsDataDocumentContentPolicy.h Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 1323
nsDeprecatedOperationList.h This file contains the list of deprecated DOM operations. It is designed to be used as input to the C preprocessor *only*. 3347
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. 12723
nsDOMAttributeMap.h Implementation of the |attributes| property of DOM Core's Element object. 5072
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) 2961
nsDOMCID.h 9eb760f0-4380-11d2-b328-00805f8a3859 1058
nsDOMDataChannel.cpp virtual 15474
nsDOMDataChannel.h 4495
nsDOMDataChannelDeclarations.h 880
nsDOMJSUtils.h 1063
nsDOMMutationObserver.cpp 37428
nsDOMMutationObserver.h 27590
nsDOMNavigationTiming.cpp 24312
nsDOMNavigationTiming.h 8714
nsDOMString.h nsDOMString_h___ 598
nsDOMTokenList.cpp Implementation of DOMTokenList specified by HTML5. 9809
nsDOMTokenList.h Implementation of DOMTokenList specified by HTML5. 3400
nsDOMWindowUtils.cpp 149840
nsDOMWindowUtils.h 3664
nsFocusManager.cpp 200854
nsFocusManager.h The focus manager keeps track of where the focus is, that is, the node which receives key events. 42512
nsFrameLoader.cpp Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 136154
nsFrameLoader.h Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 19988
nsFrameLoaderOwner.cpp 14631
nsFrameLoaderOwner.h 5056
nsFrameMessageManager.cpp 55030
nsFrameMessageManager.h 13053
nsGlobalWindow.h nsGlobalWindow_h___ 697
nsGlobalWindowCommands.cpp 47460
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 263715
nsGlobalWindowInner.h 63017
nsGlobalWindowOuter.cpp 261593
nsGlobalWindowOuter.h 45973
nsHistory.cpp 9211
nsHistory.h nsHistory_h___ 2843
nsIAnimationObserver.h 2304
nsIContent.h A node of content in a document's content model. This interface is supported by all content objects. 28398
nsIContentInlines.h 8723
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). 19080
nsIDocumentObserver.h Notify that a content model update is beginning. This call can be nested. 4399
nsIDOMRequestService.idl 817
nsIDroppedLinkHandler.idl Returns the URL of the link. 4311
nsIEventSourceEventService.idl 1472
nsIGlobalObject.cpp 11583
nsIGlobalObject.h See <https://developer.mozilla.org/en-US/docs/Glossary/Global_object>. 10025
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. 5957
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). 59808
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). 22755
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). 16360
nsINode.cpp Base class for all DOM nodes. 116176
nsINode.h @return true if aChar is what the WHATWG defines as a 'ascii whitespace'. https://infra.spec.whatwg.org/#ascii-whitespace 92137
nsINodeList.h An internal interface for a reasonably fast indexOf. 1556
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. 3584
nsIScriptableContentIterator.idl nsIScriptableContentIterator is designed to testing concrete classes of ContentIteratorBase. 2364
nsIScriptChannel.idl An interface representing a channel which will have to execute some sort of program provided via its URI to compute the data it should return. If a channel implements this interface, the execution of the program in question will be restricted in the following ways: - If the channel does not have an owner principal, the program will not be executed at all, no matter what. This is necessary because in this circumstance we have no way to tell whether script execution is allowed at all for the originating security context of this channel. - If the channel has an owner principal, how it is executed is controlled by this interface. However if the owner principal does not subsume the principal of the environment in which the program is to be executed the execution will be forced to happen in a sandbox. 2847
nsIScriptContext.h It is used by the application to initialize a runtime and run scripts. A script runtime would implement this interface. 3109
nsIScriptGlobalObject.h The global object which keeps a script context for each supported script language. This often used to store per-window global state. This is a heavyweight interface implemented only by DOM globals, and it might go away some time in the future. 3153
nsIScriptObjectPrincipal.h JS Object Principal information. 1221
nsISelectionController.idl SetDisplaySelection will set the display mode for the selection. OFF,ON,DISABLED 14466
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 75164
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. 6326
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. 8004
nsLineBreaker.cpp NBSP 18525
nsLineBreaker.h A receiver of line break data. 11208
nsMappedAttributeElement.cpp 1355
nsMappedAttributeElement.h nsMappedAttributeElement is the base for elements supporting style mapped attributes via nsMappedAttributes (HTML and MathML). 1667
nsMappedAttributes.cpp A unique per-element set of attributes that is used as an nsIStyleRule; used to implement presentational attributes. 7993
nsMappedAttributes.h A unique per-element set of attributes that is used as an nsIStyleRule; used to implement presentational attributes. 3801
nsMimeTypeArray.cpp 3009
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. 3553
nsNameSpaceManager.cpp A class for managing namespace IDs and mapping back and forth between namespace IDs and namespace URIs. 9221
nsNameSpaceManager.h The Name Space Manager tracks the association between a NameSpace URI and the int32_t runtime id. Mappings between NameSpaces and NameSpace prefixes are managed by nsINameSpaces. All NameSpace URIs are stored in a global table so that IDs are consistent accross the app. NameSpace IDs are only consistent at runtime ie: they are not guaranteed to be consistent accross app sessions. The nsNameSpaceManager needs to have a live reference for as long as the NameSpace IDs are needed. 2968
nsNoDataProtocolContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from protocols that don't return data but rather open applications (such as mailto). 2819
nsNoDataProtocolContentPolicy.h Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 1340
nsNodeInfoManager.cpp A class for handing out nodeinfos and ensuring sharing of them as needed. 13468
nsNodeInfoManager.h A class for handing out nodeinfos and ensuring sharing of them as needed. 5846
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). 81287
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). 21819
nsOpenURIInFrameParams.cpp 2873
nsOpenURIInFrameParams.h 1322
nsPIDOMWindow.h 39829
nsPIDOMWindowInlines.h 2229
nsPIWindowRoot.h @param aForVisibleWindow true if caller needs controller which is associated with visible window. 3405
nsPluginArray.cpp 5270
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. 4061
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. 107632
nsRange.h Implementation of the DOM Range object. 18772
nsSandboxFlags.h Constant flags that describe how a document is sandboxed according to the HTML5 spec. 4404
nsScreen.cpp static 6940
nsScreen.h nsScreen_h___ 4103
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. 731
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. 1362
nsStyledElement.cpp 7702
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. 3668
nsSyncLoadService.cpp A service that provides methods for synchronously loading a DOM in various ways. 10636
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* 15302
nsTextFragment.h A class which represents a fragment of text (eg inside a text node); if only codepoints below 256 are used, the text is stored as a char*; otherwise the text is stored as a char16_t* 10111
nsTextFragmentImpl.h 1357
nsTextFragmentSSE2.cpp 2186
nsTextFragmentVMX.cpp 3313
nsTextNode.cpp Implementation of DOM Core's Text node. 8651
nsTextNode.h Implementation of DOM Core's Text node. 1971
nsTraversal.cpp destructor code 1986
nsTraversal.h Implementation of common traversal methods for TreeWalker and NodeIterator. 1454
nsTreeSanitizer.cpp 64150
nsTreeSanitizer.h See the documentation of nsIParserUtils::sanitize for documentation about the default behavior and the configuration options of this sanitizer. 9673
nsViewportInfo.cpp 1752
nsViewportInfo.h Default values for the nsViewportInfo class. 5138
nsWindowMemoryReporter.cpp Don't trigger a ghost window check when a DOM window is detached if we've run it this recently. 36157
nsWindowMemoryReporter.h nsWindowMemoryReporter is responsible for the 'explicit/window-objects' memory reporter. We classify DOM window objects into one of three categories: - "active" windows, which are displayed in a tab (as the top-level window or an iframe), - "cached" windows, which are in the fastback cache (aka the bfcache), and - "detached" windows, which have a null docshell. A window becomes detached when its <iframe> or tab containing the window is destroyed -- i.e., when the window is no longer active or cached. Additionally, we classify a subset of detached windows as "ghost" windows. Although ghost windows can happen legitimately (a page can hold a reference to a cross-domain window and then close its container), the presence of ghost windows is often indicative of a memory leak. A window is a ghost if it meets the following three criteria: 1) The window is detached. 2) There exist no non-detached windows with the same base domain as the window's principal. (For example, the base domain of "wiki.mozilla.co.uk" is "mozilla.co.uk".) This criterion makes us less likely to flag a legitimately held-alive detached window as a ghost. 3) The window has met criteria (1) and (2) above for at least memory.ghost_window_timeout_seconds. This criterion is in place so we don't immediately declare a window a ghost before the GC/CC has had a chance to run. nsWindowMemoryReporter observes window detachment and uses mDetachedWindows to remember when a window first met criteria (1) and (2). When we generate a memory report, we use this accounting to determine which windows are ghosts. We use the following memory reporter path for active and cached windows: explicit/window-objects/top(<top-outer-uri>, id=<top-outer-id>)/ <category>/window(<window-uri>)/... For detached and ghost windows, we use explicit/window-objects/top(none)/<category>/window(<window-uri>)/... Where - <category> is "active", "cached", "detached", or "ghost", as described above. - <top-outer-id> is the window id of the top outer window (i.e. the tab, or the top level chrome window). Exposing this ensures that each tab gets its own sub-tree, even if multiple tabs are showing the same URI. - <top-uri> is the URI of the top window. Excepting special windows (such as browser.xhtml or hiddenWindow.html) it's what the address bar shows for the tab. 6177
nsWindowRoot.cpp 13964
nsWindowRoot.h 3675
nsWindowSizes.h 6835
nsWrapperCache.cpp static 4562
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. 20453
nsWrapperCacheInlines.h nsWrapperCache_h___ 3362
ParentProcessMessageManager.cpp 1124
ParentProcessMessageManager.h Implementation for the WebIDL ParentProcessMessageManager interface. ParentProcessMessageManager is used in a parent process to communicate with all the child processes. 1692
PlacesBookmark.h 1561
PlacesBookmarkAddition.h 1994
PlacesBookmarkChanged.h 849
PlacesBookmarkGuid.h 1612
PlacesBookmarkMoved.h 1923
PlacesBookmarkRemoved.h 1978
PlacesBookmarkTags.h 1751
PlacesBookmarkTime.h 1728
PlacesBookmarkTitle.h 1745
PlacesBookmarkUrl.h 1593
PlacesEvent.cpp 1422
PlacesEvent.h 2760
PlacesFavicon.h 1605
PlacesHistoryCleared.h 1265
PlacesObservers.cpp 14125
PlacesObservers.h 2660
PlacesPurgeCaches.h 1214
PlacesRanking.h 1172
PlacesVisit.h 2183
PlacesVisitRemoved.h 2520
PlacesVisitTitle.h 1618
PlacesWeakCallbackWrapper.cpp 1733
PlacesWeakCallbackWrapper.h 1527
PointerLockManager.cpp static 14762
PointerLockManager.h Returns true if aContext and the current pointer locked document have common top BrowsingContext. Note that this method returns true only if caller is in the same process as pointer locked document. 2603
PopupBlocker.cpp static 13354
PopupBlocker.h 3922
Pose.cpp 2080
Pose.h 2532
PostMessageEvent.cpp 12363
PostMessageEvent.h Class used to represent events generated by calls to Window.postMessage, which asynchronously creates and dispatches events. 5002
ProcessMessageManager.cpp 1756
ProcessMessageManager.h ProcessMessageManager is used in a parent process to communicate with a child process (or with the process itself in a single-process scenario). 1868
ProcessSelector.jsm 2045
RadioGroupManager.cpp A struct that holds all the information about a radio group. 6046
RadioGroupManager.h 2084
RangeBoundary.h GetNextSiblingOfChildOffset() returns next sibling of a child at offset. If this refers after the last child or the container cannot have children, this returns nullptr with warning. 10781
RangeUtils.cpp 7336
RangeUtils.h GetRawRangeBoundaryBefore() and GetRawRangeBoundaryAfter() retrieve RawRangeBoundary which points before or after aNode. 4529
RemoteOuterWindowProxy.cpp RemoteOuterWindowProxy is the proxy handler for the WindowProxy objects for Window objects that live in a different process. RemoteOuterWindowProxy holds a BrowsingContext, which is cycle collected. This reference is declared to the cycle collector via NoteChildren(). 6346
ResizeObserver.cpp Returns the length of the parent-traversal path (in terms of the number of nodes) to an unparented/root node from aNode. An unparented/root node is considered to have a depth of 1, its children have a depth of 2, etc. aNode is expected to be non-null. Note: The shadow root is not part of the calculation because the caller, ResizeObserver, doesn't observe the shadow root, and only needs relative depths among all the observed targets. In other words, we calculate the depth of the flattened tree. However, these is a spec issue about how to handle shadow DOM case. We may need to update this function later: https://github.com/w3c/csswg-drafts/issues/3840 https://drafts.csswg.org/resize-observer/#calculate-depth-for-node-h 17653
ResizeObserver.h Returns whether the observed target element size differs from the saved mLastReportedSize. 10503
ResizeObserverController.cpp 8165
ResizeObserverController.h ResizeObserverNotificationHelper will trigger ResizeObserver notifications by registering with the Refresh Driver. 4009
ResponsiveImageSelector.cpp 22192
ResponsiveImageSelector.h 7670
rust 3
RustTypes.h 2095
SameProcessMessageQueue.cpp static 1830
SameProcessMessageQueue.h 1157
ScreenLuminance.cpp 815
ScreenLuminance.h 1507
ScreenOrientation.cpp 23957
ScreenOrientation.h 4257
ScriptableContentIterator.cpp 5473
ScriptableContentIterator.h 1117
ScrollingMetrics.cpp 3980
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. 1698
Selection.cpp Implementation of mozilla::dom::Selection 125483
Selection.h @param aFrameSelection can be nullptr. 41982
SelectionChangeEventDispatcher.cpp Implementation of mozilla::SelectionChangeEventDispatcher 6315
SelectionChangeEventDispatcher.h 2422
SerializedStackHolder.cpp 5156
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 26270
ShadowRoot.h Clones internal state, for example stylesheets, of aOther to 'this'. 10702
SlowScriptDebug.jsm 747
StaticRange.cpp static 5415
StaticRange.h The following Create() returns `nsRange` instance which is initialized only with aNode. The result is never positioned. 4918
StorageAccessPermissionRequest.cpp 4825
StorageAccessPermissionRequest.h 2137
StructuredCloneBlob.cpp static 6956
StructuredCloneBlob.h 2753
StructuredCloneHolder.cpp 48394
StructuredCloneHolder.h 14764
StructuredCloneTags.h 4841
StructuredCloneTester.cpp static 3218
StructuredCloneTester.h 1916
StyledRange.cpp 448
StyledRange.h 642
StyleSheetList.cpp virtual 1461
StyleSheetList.h 1860
SubtleCrypto.cpp 6316
SubtleCrypto.h 4699
SyncMessageSender.h 773
test 995
TestUtils.cpp shrinking 1923
TestUtils.h 851
Text.cpp static 4475
Text.h Method to see if the text node contains data that is useful for a translation: i.e., it consists of more than just whitespace, digits and punctuation. 1790
TextInputProcessor.cpp TextInputProcessorNotification **************************************************************************** 59103
TextInputProcessor.h TextInputProcessor manages modifier key state. E.g., when it dispatches a modifier keydown event, activates proper modifier state and when it dispatches a modifier keyup event, inactivates proper modifier state. This returns all active modifiers in the instance. 9879
ThirdPartyUtil.cpp 17461
ThirdPartyUtil.h 1570
Timeout.cpp 2896
Timeout.h Timeout struct that holds information about each script timeout. Holds a strong reference to an nsITimeoutHandler, which abstracts the language specific cruft. 5698
TimeoutBudgetManager.cpp static 1119
TimeoutBudgetManager.h 862
TimeoutExecutor.cpp 8425
TimeoutExecutor.h 2964
TimeoutHandler.cpp unused 6641
TimeoutHandler.h Utility class for implementing nsITimeoutHandlers, designed to be subclassed. 3516
TimeoutManager.cpp 48846
TimeoutManager.h 7958
TreeIterator.h A generic pre-order tree iterator on top of ChildIterator. See ChildIterator.h for the kind of iterators you can use as the template argument for this class. 4024
TreeOrderedArray.h 1210
TreeOrderedArrayInlines.h 1599
TreeWalker.cpp Implementation of DOM Traversal's TreeWalker 8347
TreeWalker.h Implementation of DOM Traversal's TreeWalker 2801
UIDirectionManager.cpp static 2769
UIDirectionManager.h 823
UseCounter.h 2749
UseCounters.conf 15547
usecounters.py 3357
UseCountersWorker.conf 2275
UserActivation.cpp static 3729
UserActivation.h Returns true if the current code is being executed as a result of user input or keyboard input. The former includes anything that is initiated by user, with the exception of page load events or mouse over events. And the latter returns true when one of the user inputs is an input from keyboard. If these methods are called from asynchronously executed code, such as during layout reflows, it will return false. 3111
ViewportMetaData.cpp Helper function for ViewportMetaData::ProcessViewportInfo. Handles a single key=value pair. If it corresponds to a valid viewport attribute, add it to the document header data. No validation is done on the value itself (this is done at display time). 3592
ViewportMetaData.h Process viewport META data. This gives us information for the scale and zoom of a page on mobile devices. We stick the information in the document header and use it later on after rendering. See Bug #436083 1607
VisualViewport.cpp virtual 10831
VisualViewport.h Visual Viewport API spec: https://wicg.github.io/visual-viewport/#the-visualviewport-interface 3868
WindowDestroyedEvent.cpp 5189
WindowDestroyedEvent.h 1061
WindowFeatures.cpp static 8242
WindowFeatures.h 4315
WindowNamedPropertiesHandler.cpp unused 10218
WindowNamedPropertiesHandler.h hasPrototype = 2683
WindowProxyHolder.h This class is used for passing arguments and the return value for WebIDL binding code that takes/returns a WindowProxy object and for WebIDL unions/dictionaries that contain a WindowProxy member. It should never contain null; if the value in WebIDL is nullable the binding code will use a Nullable<WindowProxyHolder>. 2657
XPathGenerator.cpp Check whether a character is a non-word character. A non-word character is a character that isn't in ('a'..'z') or in ('A'..'Z') or a number or an underscore. 5781
XPathGenerator.h Return a properly quoted string to insert into an XPath 918