Name Description Size
AbstractRange.cpp 7777
AbstractRange.h Called when the process is shutting down. 4136
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. 4929
AnonymousContent.cpp 7106
AnonymousContent.h 3369
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
AutoPrintEventDispatcher.h 1582
AutoSuppressEventHandlingAndSuspend.h Suppresses event handling and suspends the active inner window for all in-process documents in a BrowsingContextGroup. This should be used while spinning the event loop for a synchronous operation (like `window.open()`) which affects operations in any other window in the same BrowsingContext group. 1338
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
BarProps.cpp 5976
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) 4001
BindContext.cpp 1394
BindContext.h State that is passed down to BindToTree. 3619
BodyConsumer.cpp Called on successfully reading the complete stream. 24154
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. 4612
BodyStream.cpp static 16446
BodyStream.h 5025
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. 14830
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). 1194
CCGCScheduler.h 19670
CORSMode.h The default of not using CORS to validate cross-origin loads. 916
CallState.h 746
CharacterData.cpp Base class for DOM Core's Comment, DocumentType, Text, CDATASection and ProcessingInstruction nodes. 19456
CharacterData.h Base class for DOM Core's Comment, DocumentType, Text, CDATASection, and ProcessingInstruction nodes. 7955
ChildIterator.cpp 10461
ChildIterator.h Iterates over the children on a node. If a child is an insertion point, iterates over the children inserted there instead, or the default content if no children are inserted there. The FlattenedChildIterator expands any anonymous content bound from an XBL binding's <xbl:content> element. 10448
ChildProcessMessageManager.h 1339
ChromeMessageBroadcaster.cpp 777
ChromeMessageBroadcaster.h Implementation for the WebIDL ChromeMessageBroadcaster interface. Used for window and group message managers. 2143
ChromeMessageSender.cpp 735
ChromeMessageSender.h 1676
ChromeNodeList.cpp 1839
ChromeNodeList.h 1058
ChromeUtils.cpp static 46711
ChromeUtils.h 9889
Comment.cpp Implementations of DOM Core's Comment node. 2036
Comment.h 1901
ContentAreaDropListener.jsm 11527
ContentFrameMessageManager.cpp 894
ContentFrameMessageManager.h Base class for implementing the WebIDL ContentFrameMessageManager class. 2193
ContentIterator.cpp 33962
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. 9151
ContentProcessMessageManager.cpp 4216
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. 3401
Crypto.cpp virtual 2812
Crypto.h 1349
CustomElementRegistry.cpp 52251
CustomElementRegistry.h 22035
DOMArena.h 2002
DOMException.cpp DOM4 errors from http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception 12306
DOMException.h unused 5519
DOMImplementation.cpp 7076
DOMImplementation.h 2399
DOMIntersectionObserver.cpp 28744
DOMIntersectionObserver.h 5785
DOMMatrix.cpp 32431
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. 3797
DOMParser.cpp 11032
DOMParser.h 3423
DOMPoint.cpp 4642
DOMPoint.h MOZILLA_DOMPOINT_H_ 3673
DOMQuad.cpp 5362
DOMQuad.h MOZILLA_DOMRECT_H_ 3071
DOMRect.cpp 5721
DOMRect.h 5486
DOMRequest.cpp virtual 8557
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. 9693
DOMStringList.cpp 1034
DOMStringList.h mozilla_dom_DOMStringList_h 2404
DOMTokenListSupportedTokens.h Definitions of supported tokens data types for nsDOMTokenList. This is in a separate header so Element.h can include it too. 1233
DirectionalityUtils.cpp 47767
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 6376
DispatcherTrait.cpp 1021
DispatcherTrait.h 1673
DocGroup.cpp static 13533
DocGroup.h 5667
Document.cpp Base class for all our document implementations. 572513
Document.h 189979
DocumentFragment.cpp Implementation of DOM Core's DocumentFragment. 3702
DocumentFragment.h 3663
DocumentInlines.h 2134
DocumentOrShadowRoot.cpp 29415
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. 11244
DocumentType.cpp Implementation of DOM Core's DocumentType node. 2853
DocumentType.h Implementation of DOM Core's DocumentType node. 2495
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. 153458
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. 82128
ElementInlines.h 1390
EventSource.cpp 62229
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". 2907
EventSourceEventService.cpp static 9546
EventSourceEventService.h Casting EventSourceEventService to nsISupports is ambiguous. This method handles that. 2416
FilteredNodeIterator.h Implementation of a generic filtered iterator over nodes. 1360
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 11065
FormData.h 5073
FragmentOrElement.cpp Base class for all element classes and DocumentFragment. 67143
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. 9439
FromParser.h Constants for passing as aFromParser 732
FullscreenChange.h Struct for holding fullscreen request. 5474
FuzzingFunctions.cpp static 12726
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. 2774
GeneratedImageContent.cpp 1402
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. 1823
HTMLSplitOnSpacesTokenizer.h 584
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. 6285
IdentifierMapEntry.h Entry for the Document or ShadowRoot's identifier map. 7531
IdleDeadline.cpp 2500
IdleDeadline.h 1653
IdleRequest.cpp 2075
IdleRequest.h 1544
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. 1938
ImageEncoder.cpp 16339
ImageEncoder.h The callback interface of ExtractDataAsync and ExtractDataFromLayersImageAsync. ReceiveBlobImpl() is called on main thread when encoding is complete. 5225
ImageTracker.cpp table of images used in a document, for batch locking/unlocking and animating 5027
ImageTracker.h table of images used in a document, for batch locking/unlocking and animating 2216
InProcessBrowserChildMessageManager.cpp static 10095
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. 4395
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. 7040
IntlUtils.cpp 4026
IntlUtils.h 1561
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. 9102
JSExecutionContext.h 5864
Link.cpp 15830
Link.h This is the base class for all link classes. 5731
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). 11034
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. 8774
Location.cpp 16807
Location.h 4764
LocationBase.cpp 9128
LocationBase.h 2185
LocationHelper.jsm Shared utility functions for modules dealing with Location Services. 1383
MaybeCrossOriginObject.cpp static 19800
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. 14423
MessageBroadcaster.cpp 1315
MessageBroadcaster.h Implementation for the WebIDL MessageBroadcaster interface. Base class for window and process broadcaster message managers. 1768
MessageListenerManager.cpp 2075
MessageListenerManager.h Implementation for the WebIDL MessageListenerManager interface. Base class for message managers that are exposed to script. 1747
MessageManagerCallback.h 2221
MessageManagerGlobal.cpp 1448
MessageManagerGlobal.h Base class for implementing the WebIDL MessageManagerGlobal class. 4057
MessageSender.cpp 965
MessageSender.h Implementation for the WebIDL MessageSender interface. Base class for frame and child process message managers. 1073
MimeType.cpp static 9608
MimeType.h 2578
MozQueryInterface.cpp static 2796
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 9998
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 6591
NameSpaceConstants.h 1272
Navigator.cpp 67050
Navigator.h // Navigator: Script "navigator" object //***************************************************************************** namespace mozilla { namespace dom { class Permissions; namespace battery { class BatteryManager; } // namespace battery class Promise; class Gamepad; class GamepadServiceTest; class NavigatorUserMediaSuccessCallback; class NavigatorUserMediaErrorCallback; class MozGetUserMediaDevicesSuccessCallback; struct MIDIOptions; namespace network { class Connection; } // namespace network class Presentation; 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; } void RefreshMIMEArray(); size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; /** For use during document.write where our inner window changes. 10557
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. 5969
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. 9801
NodeInfoInlines.h mozilla_dom_NodeInfoInlines_h___ 4462
NodeIterator.cpp Implementation of DOM Traversal's NodeIterator 5502
NodeIterator.h Implementation of DOM Traversal's NodeIterator 2657
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. 2852
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. 1718
PlacesBookmark.h 1561
PlacesBookmarkAddition.h 1994
PlacesBookmarkRemoved.h 1866
PlacesEvent.cpp 1462
PlacesEvent.h 1781
PlacesFavicon.h 1605
PlacesObservers.cpp 11888
PlacesObservers.h 2612
PlacesVisit.h 2183
PlacesWeakCallbackWrapper.cpp 1772
PlacesWeakCallbackWrapper.h 1553
PopupBlocker.cpp static 14523
PopupBlocker.h 4534
Pose.cpp 2978
Pose.h 2483
PostMessageEvent.cpp 12226
PostMessageEvent.h Class used to represent events generated by calls to Window.postMessage, which asynchronously creates and dispatches events. 4876
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). 1894
ProcessSelector.jsm 2045
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. 10223
RangeUtils.cpp 7278
RangeUtils.h GetRawRangeBoundaryBefore() and GetRawRangeBoundaryAfter() retrieve RawRangeBoundary which points before or after aNode. 4481
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(). 6050
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 11471
ResizeObserver.h Returns whether the observed target element size differs from the saved mLastReportedSize. 9398
ResizeObserverController.cpp 7603
ResizeObserverController.h ResizeObserverNotificationHelper will trigger ResizeObserver notifications by registering with the Refresh Driver. 4137
ResponsiveImageSelector.cpp 22191
ResponsiveImageSelector.h 7696
SameProcessMessageQueue.cpp static 1830
SameProcessMessageQueue.h 1183
ScreenLuminance.cpp 815
ScreenLuminance.h 1533
ScreenOrientation.cpp 20832
ScreenOrientation.h 3886
ScriptableContentIterator.cpp 5473
ScriptableContentIterator.h 1117
Selection.cpp Implementation of mozilla::dom::Selection 120719
Selection.h @param aFrameSelection can be nullptr. 38062
SelectionChangeEventDispatcher.cpp Implementation of mozilla::SelectionChangeEventDispatcher 5754
SelectionChangeEventDispatcher.h 2368
SerializedStackHolder.cpp 4882
SerializedStackHolder.h 3469
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. 3603
ShadowRoot.cpp 21871
ShadowRoot.h Clones internal state, for example stylesheets, of aOther to 'this'. 9927
SlowScriptDebug.jsm 765
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 4343
StorageAccessPermissionRequest.h 1956
StructuredCloneBlob.cpp static 6647
StructuredCloneBlob.h 2726
StructuredCloneHolder.cpp 42686
StructuredCloneHolder.h 14829
StructuredCloneTags.h 4758
StructuredCloneTester.cpp static 3218
StructuredCloneTester.h 1916
StyleSheetList.cpp virtual 1461
StyleSheetList.h 1860
StyledRange.cpp 448
StyledRange.h 642
SubtleCrypto.cpp 6316
SubtleCrypto.h 4725
SyncMessageSender.h 799
Text.cpp static 4459
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 **************************************************************************** 57005
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. 9400
ThirdPartyUtil.cpp 17487
ThirdPartyUtil.h 1578
Timeout.cpp 2902
Timeout.h Timeout struct that holds information about each script timeout. Holds a strong reference to an nsITimeoutHandler, which abstracts the language specific cruft. 5751
TimeoutBudgetManager.cpp static 1119
TimeoutBudgetManager.h 888
TimeoutExecutor.cpp 8425
TimeoutExecutor.h 2990
TimeoutHandler.cpp unused 6641
TimeoutHandler.h Utility class for implementing nsITimeoutHandlers, designed to be subclassed. 3542
TimeoutManager.cpp 49379
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 1236
TreeOrderedArrayInlines.h 1625
TreeWalker.cpp Implementation of DOM Traversal's TreeWalker 8347
TreeWalker.h Implementation of DOM Traversal's TreeWalker 2827
UIDirectionManager.cpp static 2172
UIDirectionManager.h 599
UseCounter.h 2749
UseCounters.conf 11661
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. 3137
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 1634
VisualViewport.cpp virtual 10464
VisualViewport.h Visual Viewport API spec: https://wicg.github.io/visual-viewport/#the-visualviewport-interface 3830
WindowDestroyedEvent.cpp 4914
WindowDestroyedEvent.h 1061
WindowFeatures.cpp static 8174
WindowFeatures.h 4341
WindowNamedPropertiesHandler.cpp unused 10140
WindowNamedPropertiesHandler.h hasPrototype = 2702
WindowOrientationObserver.cpp This class is used by nsGlobalWindowInner to implement window.orientation and window.onorientationchange. This class is defined in its own file because Hal.h pulls in windows.h and can't be included from nsGlobalWindow.cpp 1808
WindowOrientationObserver.h 1092
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>. 2683
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
components.conf 1302
crashtests 283
domerr.msg 15524
gen-usecounters.py #ifndef %(name)s #define %(name)s(interface_, name_) // nothing #define DEFINED_%(name)s #endif 2189
moz.build 14944
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
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. 59348
nsAttrValue.h A struct that represents the value (type and actual data) of an attribute. 20561
nsAttrValueInlines.h Implementation of inline methods 8391
nsAttrValueOrString.cpp 801
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
nsCCUncollectableMarker.cpp static 15961
nsCCUncollectableMarker.h Inits a global nsCCUncollectableMarker. Should only be called once. 1310
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
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 34497
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 3569
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). 2536
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). 33412
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). 21807
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. 2487
nsContentPermissionHelper.cpp 26148
nsContentPermissionHelper.h 7077
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... 12753
nsContentSink.cpp Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 47625
nsContentSink.h Base class for the XML and HTML content sinks, which construct a DOM based on information from the parser. 11687
nsContentTypeParser.cpp 958
nsContentTypeParser.h 687
nsContentUtils.cpp A namespace class for static layout utilities. 347563
nsContentUtils.h A namespace class for static content utilities. 140747
nsCopySupport.cpp 32135
nsCopySupport.h @param aDoc Needs to be not nullptr. 4714
nsDOMAttributeMap.cpp Implementation of the |attributes| property of DOM Core's Element object. 12890
nsDOMAttributeMap.h Implementation of the |attributes| property of DOM Core's Element object. 5072
nsDOMCID.h 9eb760f0-4380-11d2-b328-00805f8a3859 1058
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) 2987
nsDOMDataChannel.cpp virtual 15504
nsDOMDataChannel.h 4495
nsDOMDataChannelDeclarations.h 880
nsDOMJSUtils.h 1063
nsDOMMutationObserver.cpp 37353
nsDOMMutationObserver.h 27634
nsDOMNavigationTiming.cpp 25443
nsDOMNavigationTiming.h 8797
nsDOMSerializer.cpp 3064
nsDOMSerializer.h 1356
nsDOMString.h nsDOMString_h___ 598
nsDOMTokenList.cpp Implementation of DOMTokenList specified by HTML5. 10492
nsDOMTokenList.h Implementation of DOMTokenList specified by HTML5. 3497
nsDOMWindowUtils.cpp 136847
nsDOMWindowUtils.h 3564
nsDataDocumentContentPolicy.cpp Content policy implementation that prevents all loads of images, subframes, etc from documents loaded as data (eg documents loaded via XMLHttpRequest). 6833
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*. 2780
nsDocElementCreatedNotificationRunner.h nsRunnable 1036
nsDocumentEncoder.cpp Object that can be used to serialize selections, ranges, or nodes to strings in a gazillion different ways. 69765
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
nsFocusManager.cpp 187756
nsFocusManager.h The focus manager keeps track of where the focus is, that is, the node which receives key events. 40489
nsFrameLoader.cpp Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 132889
nsFrameLoader.h Class for managing loading of a subframe (creation of the docshell, handling of loads in it, recursion-checking). 19722
nsFrameLoaderOwner.cpp 10406
nsFrameLoaderOwner.h 4291
nsFrameMessageManager.cpp 53952
nsFrameMessageManager.h 13544
nsGlobalWindow.h nsGlobalWindow_h___ 697
nsGlobalWindowCommands.cpp 45294
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 1326
nsGlobalWindowInner.cpp 252153
nsGlobalWindowInner.h 59339
nsGlobalWindowOuter.cpp 267429
nsGlobalWindowOuter.h 46751
nsHTMLContentSerializer.cpp nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert an HTML (not XHTML!) DOM to an HTML string that could be parsed into more or less the original DOM. 15217
nsHTMLContentSerializer.h nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert an HTML (not XHTML!) DOM to an HTML string that could be parsed into more or less the original DOM. 1910
nsHistory.cpp 8605
nsHistory.h nsHistory_h___ 2848
nsIAnimationObserver.h 2330
nsIContent.h A node of content in a document's content model. This interface is supported by all content objects. 29469
nsIContentInlines.h 6751
nsIContentPolicy.idl The type of nsIContentPolicy::TYPE_* 18132
nsIContentSerializer.h @param aOutput The `Append*` methods will append to this string. The reference to it will be dropped with `Finish`. 3459
nsIDOMRequestService.idl 817
nsIDocumentEncoder.idl Create a fixed up version of a node. This method is called before each node in a document is about to be persisted. The implementor may return a new node with fixed up attributes or null. If null is returned the node should be used as-is. @param aNode Node to fixup. @param [OUT] aSerializeCloneKids True if the document encoder should apply recursive serialization to the children of the fixed up node instead of the children of the original node. @return The resulting fixed up node. 12668
nsIDocumentObserver.h Notify that a content model update is beginning. This call can be nested. 4514
nsIDroppedLinkHandler.idl Returns the URL of the link. 4311
nsIEventSourceEventService.idl 1472
nsIGlobalObject.cpp 10430
nsIGlobalObject.h This check is added to deal with Promise microtask queues. On the main thread, we do not impose restrictions about when script stops running or when runnables can no longer be dispatched to the main thread. This means it is possible for a Promise chain to keep resolving an infinite chain of promises, preventing the browser from shutting down. See Bug 1058695. To prevent this, the nsGlobalWindow subclass sets this flag when it is closed. The Promise implementation checks this and prohibits new runnables from being dispatched. We pair this with checks during processing the promise microtask queue that pops up the slow script dialog when the Promise queue is preventing a window from going away. 8080
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. 6290
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). 16386
nsINode.cpp Base class for all DOM nodes. 113987
nsINode.h @return true if aChar is what the WHATWG defines as a 'ascii whitespace'. https://infra.spec.whatwg.org/#ascii-whitespace 86320
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. 6616
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. 3007
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. 3136
nsIScriptObjectPrincipal.h JS Object Principal information. 1221
nsIScriptableContentIterator.idl nsIScriptableContentIterator is designed to testing concrete classes of ContentIteratorBase. 2364
nsISelectionController.idl SetDisplaySelection will set the display mode for the selection. OFF,ON,DISABLED 14517
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 928
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
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). 58741
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). 22869
nsJSEnvironment.cpp 81741
nsJSEnvironment.h 7561
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. 8283
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. 8564
nsLineBreaker.cpp NBSP 18602
nsLineBreaker.h A receiver of line break data. 11319
nsMappedAttributeElement.cpp 1355
nsMappedAttributeElement.h nsMappedAttributeElement is the base for elements supporting style mapped attributes via nsMappedAttributes (HTML and MathML). 1703
nsMappedAttributes.cpp A unique per-element set of attributes that is used as an nsIStyleRule; used to implement presentational attributes. 8415
nsMappedAttributes.h A unique per-element set of attributes that is used as an nsIStyleRule; used to implement presentational attributes. 4077
nsMimeTypeArray.cpp 5657
nsMimeTypeArray.h nsMimeTypeArray_h___ 3209
nsNameSpaceManager.cpp A class for managing namespace IDs and mapping back and forth between namespace IDs and namespace URIs. 9277
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. 3036
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). 2923
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. 13303
nsNodeInfoManager.h A class for handing out nodeinfos and ensuring sharing of them as needed. 5821
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). 120524
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). 26134
nsOpenURIInFrameParams.cpp 2873
nsOpenURIInFrameParams.h 1322
nsPIDOMWindow.h 37554
nsPIDOMWindowInlines.h 2177
nsPIWindowRoot.h @param aForVisibleWindow true if caller needs controller which is associated with visible window. 2648
nsPlainTextSerializer.cpp nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert a DOM into plaintext in a nice way (eg for copy/paste as plaintext). 62820
nsPlainTextSerializer.h nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert a DOM into plaintext in a nice way (eg for copy/paste as plaintext). 12976
nsPluginArray.cpp 14965
nsPluginArray.h A separate list of click-to-play plugins that we don't tell content about but keep track of so we can still prompt the user to click to play. 4135
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. 9404
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. 6616
nsQueryContentEventResult.cpp Is*PropertyAvailable() methods which check if the property is available (valid) with the event message. **************************************************************************** 7576
nsQueryContentEventResult.h 1221
nsRange.cpp Implementation of the DOM Range object. 106071
nsRange.h Implementation of the DOM Range object. 18430
nsSandboxFlags.h Constant flags that describe how a document is sandboxed according to the HTML5 spec. 4250
nsScreen.cpp static 10045
nsScreen.h nsScreen_h___ 3719
nsStructuredCloneContainer.cpp 4738
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. 890
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. 2564
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* 15241
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* 10046
nsTextFragmentImpl.h 1357
nsTextFragmentSSE2.cpp 2211
nsTextFragmentVMX.cpp 3292
nsTextNode.cpp Implementation of DOM Core's Text node. 8637
nsTextNode.h Implementation of DOM Core's Text node. 1964
nsTraversal.cpp destructor code 1986
nsTraversal.h Implementation of common traversal methods for TreeWalker and NodeIterator. 1454
nsTreeSanitizer.cpp 57837
nsTreeSanitizer.h See the documentation of nsIParserUtils::sanitize for documentation about the default behavior and the configuration options of this sanitizer. 8355
nsViewportInfo.cpp 1752
nsViewportInfo.h Default values for the nsViewportInfo class. 5146
nsWindowMemoryReporter.cpp Don't trigger a ghost window check when a DOM window is detached if we've run it this recently. 35443
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. 6179
nsWindowRoot.cpp 14205
nsWindowRoot.h 3644
nsWindowSizes.h 6405
nsWrapperCache.cpp static 4508
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. 17366
nsWrapperCacheInlines.h nsWrapperCache_h___ 3362
nsXHTMLContentSerializer.cpp nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert an XHTML (not HTML!) DOM to an XHTML string that could be parsed into more or less the original DOM. 24784
nsXHTMLContentSerializer.h nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert an XHTML (not HTML!) DOM to an XHTML string that could be parsed into more or less the original DOM. 5470
nsXMLContentSerializer.cpp nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert an XML DOM to an XML string that could be parsed into more or less the original DOM. 60700
nsXMLContentSerializer.h nsIContentSerializer implementation that can be used with an nsIDocumentEncoder to convert an XML DOM to an XML string that could be parsed into more or less the original DOM. 16376
test 880
usecounters.py 3413