Name Description Size Coverage
jArray.h 4164 100 %
java -
javasrc -
moz.build 4684 -
nsAHtml5TreeBuilderState.h Interface for exposing the internal state of the HTML5 tree builder. For more documentation, please see https://hg.mozilla.org/projects/htmlparser/file/tip/src/nu/validator/htmlparser/impl/StateSnapshot.java 1413 100 %
nsAHtml5TreeOpSink.h The purpose of this interface is to connect a tree op executor (main-thread case), a tree op stage (non-speculative off-the-main-thread case) or a speculation (speculative case). 876 -
nsHtml5ArrayCopy.h 2539 100 %
nsHtml5AtomTable.cpp 1520 100 %
nsHtml5AtomTable.h nsHtml5AtomTable provides an atom cache for nsHtml5Parser and nsHtml5StreamParser. An instance of nsHtml5AtomTable that belongs to an nsHtml5Parser is only accessed from the main thread. An instance of nsHtml5AtomTable that belongs to an nsHtml5StreamParser is accessed both from the main thread and from the thread that executes the runnables of the nsHtml5StreamParser instance. However, the threads never access the nsHtml5AtomTable instance concurrently in the nsHtml5StreamParser case. Methods on the atoms obtained from nsHtml5AtomTable may be called on any thread, although they only need to be called on the main thread or on the thread working for the nsHtml5StreamParser when nsHtml5AtomTable belongs to an nsHtml5StreamParser. Atoms cached by nsHtml5AtomTable are released when Clear() is called or when the nsHtml5AtomTable itself is destructed, which happens when the owner nsHtml5Parser or nsHtml5StreamParser is destructed. 2214 100 %
nsHtml5AttributeEntry.h 4747 100 %
nsHtml5AttributeName.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit AttributeName.java instead and regenerate. 167522 100 %
nsHtml5AttributeName.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit AttributeName.java instead and regenerate. 31575 100 %
nsHtml5AutoPauseUpdate.h 772 100 %
nsHtml5ByteReadable.h A weak reference wrapper around a byte array. 677 -
nsHtml5ContentCreatorFunction.h 546 -
nsHtml5DependentUTF16Buffer.cpp 1060 94 %
nsHtml5DependentUTF16Buffer.h Wraps a string without taking ownership of the buffer. aToWrap MUST NOT go away or be shortened while nsHtml5DependentUTF16Buffer is in use. 1120 -
nsHtml5DocumentBuilder.cpp 3220 100 %
nsHtml5DocumentBuilder.h Marks this parser as broken and tells the stream parser (if any) to terminate. @return aReason for convenience 3716 97 %
nsHtml5DocumentMode.h 382 -
nsHtml5ElementName.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit ElementName.java instead and regenerate. 71603 100 %
nsHtml5ElementName.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit ElementName.java instead and regenerate. 16192 99 %
nsHtml5Highlighter.cpp 25912 86 %
nsHtml5Highlighter.h A state machine for generating HTML for display in View Source based on the transitions the tokenizer makes on the source being viewed. 10827 -
nsHtml5HtmlAttributes.cpp 4538 100 %
nsHtml5HtmlAttributes.h 3663 100 %
nsHtml5Macros.h nsHtml5Macros_h 1299 -
nsHtml5Module.cpp 2832 88 %
nsHtml5Module.h 727 -
nsHtml5NamedCharacters.cpp To avoid having lots of pointers in the |charData| array, below, which would cause us to have to do lots of relocations at library load time, store all the string data for the names in one big array. Then use tricks with enums to help us build an array that contains the positions of each within the big arrays. 3979 100 %
nsHtml5NamedCharacters.h 1725 -
nsHtml5NamedCharactersAccel.cpp 20851 -
nsHtml5NamedCharactersAccel.h 501 -
nsHtml5NamedCharactersInclude.inc Data generated from the table of named character references found at http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references Files that #include this file must #define NAMED_CHARACTER_REFERENCE as a macro of four parameters: 1. a unique integer N identifying the Nth [0,1,..] macro expansion in this file, 2. a comma-separated sequence of characters comprising the character name, without the first two letters or 0 if the sequence would be empty. See Tokenizer.java. 3. the length of this sequence of characters, 4. placeholder flag (0 if argument #is not a placeholder and 1 if it is), 5. a comma-separated sequence of char16_t literals corresponding to the code-point(s) of the named character. The macro expansion doesn't have to refer to all or any of these parameters, but common sense dictates that it should involve at least one of them. 260123 -
nsHtml5OplessBuilder.cpp 1006 100 %
nsHtml5OplessBuilder.h This class implements a minimal subclass of nsHtml5DocumentBuilder that works when tree operation queues that are part of the off-the-main-thread parsing machinery are not used and, therefore, nsHtml5TreeOpExecutor is not used. This class is mostly responsible for wrapping tree building in an update batch and resetting various fields in nsContentSink upon finishing. 1411 100 %
nsHtml5OwningUTF16Buffer.cpp 1737 91 %
nsHtml5OwningUTF16Buffer.h Passes a buffer and its length to the superclass constructor. 1497 100 %
nsHtml5Parser.cpp 28554 88 %
nsHtml5Parser.h Start nsIParser 10041 89 %
nsHtml5PlainTextUtils.cpp 1327 100 %
nsHtml5PlainTextUtils.h 491 -
nsHtml5Portability.cpp 3136 65 %
nsHtml5Portability.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit Portability.java instead and regenerate. 3270 -
nsHtml5PortabilityHSupplement.h 636 100 %
nsHtml5Speculation.cpp 1156 100 %
nsHtml5Speculation.h Flush the operations from the tree operations from the argument queue unconditionally. 1896 100 %
nsHtml5SpeculativeLoad.cpp 5587 98 %
nsHtml5SpeculativeLoad.h 17866 100 %
nsHtml5StackNode.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StackNode.java instead and regenerate. 7073 100 %
nsHtml5StackNode.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StackNode.java instead and regenerate. 3768 100 %
nsHtml5StateSnapshot.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StateSnapshot.java instead and regenerate. 3858 95 %
nsHtml5StateSnapshot.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StateSnapshot.java instead and regenerate. 3415 100 %
nsHtml5StreamListener.cpp 3492 94 %
nsHtml5StreamListener.h The purpose of this class is to reconcile the problem that nsHtml5StreamParser is a cycle collection participant, which means that it can only be refcounted on the main thread, but nsIThreadRetargetableStreamListener can be refcounted from another thread, so nsHtml5StreamParser being an nsIThreadRetargetableStreamListener was a memory corruption problem. mDelegate is an nsHtml5StreamParserPtr, which releases the object that it points to from a runnable on the main thread. DropDelegate() is only called on the main thread. This call will finish before the main-thread derefs the nsHtml5StreamListener itself, so there is no risk of another thread making the refcount of nsHtml5StreamListener go to zero and running the destructor concurrently. Other than that, the thread-safe nsISupports implementation takes care of the destructor not running concurrently from different threads, so there is no need to have a mutex around nsHtml5StreamParserPtr to prevent it from double-releasing nsHtml5StreamParser. 2610 100 %
nsHtml5StreamParser.cpp Note that nsHtml5StreamParser implements cycle collecting AddRef and Release. Therefore, nsHtml5StreamParser must never be refcounted from the parser thread! To work around this limitation, runnables posted by the main thread to the parser thread hold their reference to the stream parser in an nsHtml5StreamParserPtr. Upon creation, nsHtml5StreamParserPtr addrefs the object it holds just like a regular nsRefPtr. This is OK, since the creation of the runnable and the nsHtml5StreamParserPtr happens on the main thread. When the runnable is done on the parser thread, the destructor of nsHtml5StreamParserPtr runs there. It doesn't call Release on the held object directly. Instead, it posts another runnable back to the main thread where that runnable calls Release on the wrapped object. When posting runnables in the other direction, the runnables have to be created on the main thread when nsHtml5StreamParser is instantiated and held for the lifetime of the nsHtml5StreamParser. This works, because the same runnabled can be dispatched multiple times and currently runnables posted from the parser thread to main thread don't need to wrap any runnable-specific data. (In the other direction, the runnables most notably wrap the byte data of the stream.) 107286 86 %
nsHtml5StreamParser.h Parse a document normally as HTML. 20943 96 %
nsHtml5StreamParserPtr.h Like nsRefPtr except release is proxied to the main thread. Mostly copied from nsRefPtr. 7013 89 %
nsHtml5StreamParserReleaser.h 712 100 %
nsHtml5String.cpp 6302 74 %
nsHtml5String.h A pass-by-value type that can represent * nullptr * empty string * Non-empty string as exactly-sized (capacity is length) `StringBuffer*` * Non-empty string as an nsAtom* Holding or passing this type is as unsafe as holding or passing `StringBuffer*`/`nsAtom*`. 5020 100 %
nsHtml5StringParser.cpp https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 6741 97 %
nsHtml5StringParser.h Constructor for use ONLY by nsContentUtils. Others, please call the nsContentUtils statics that wrap this. 3824 100 %
nsHtml5SVGLoadDispatcher.cpp 1436 100 %
nsHtml5SVGLoadDispatcher.h 628 100 %
nsHtml5Tokenizer.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit Tokenizer.java instead and regenerate. 34774 81 %
nsHtml5Tokenizer.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit Tokenizer.java instead and regenerate. 160075 82 %
nsHtml5TokenizerALU.cpp 1754 0 %
nsHtml5TokenizerALUStubs.cpp 1490 -
nsHtml5TokenizerCppSupplement.h 14080 41 %
nsHtml5TokenizerHSupplement.h Makes sure the buffers are large enough to be able to tokenize aLength UTF-16 code units before having to make the buffers larger. @param aLength the number of UTF-16 code units to be tokenized before the next call to this method. @return true if successful; false if out of memory 5986 100 %
nsHtml5TokenizerLoopPoliciesALU.h This policy does not report tokenizer transitions anywhere and does not track line and column numbers. To be used for innerHTML. Non-SIMD version. 10135 0 %
nsHtml5TokenizerLoopPoliciesSIMD.h This policy does not report tokenizer transitions anywhere and does not track line and column numbers. To be used for innerHTML. This the SIMD version for aarch64, SSSE3-enabled x86/x86_64, and LSX-enabled loongarch64. 24545 88 %
nsHtml5TokenizerSIMD.cpp 1776 100 %
nsHtml5TokenizerSIMDStubs.cpp 1505 -
nsHtml5TreeBuilder.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit TreeBuilder.java instead and regenerate. 158490 93 %
nsHtml5TreeBuilder.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit TreeBuilder.java instead and regenerate. 20901 100 %
nsHtml5TreeBuilderCppSupplement.h 103319 83 %
nsHtml5TreeBuilderHSupplement.h Whether to actually generate speculative load operations that actually represent speculative loads as opposed to other operations traveling in the same queue. True for normal loads and false for XHR, plain text, and View Source. Needed, because we can't just null-check mSpeculativeLoadStage, since it is used for transferring encoding information even in the XHR/plain text/View Source cases. 15144 77 %
nsHtml5TreeOperation.cpp Helper class that opens a notification batch if the current doc is different from the executor doc. 62152 93 %
nsHtml5TreeOperation.h 25242 97 %
nsHtml5TreeOpExecutor.cpp 50571 83 %
nsHtml5TreeOpExecutor.h Whether EOF needs to be suppressed 9271 82 %
nsHtml5TreeOpStage.cpp 1755 96 %
nsHtml5TreeOpStage.h Flush the operations from the tree operations from the argument queue unconditionally. 1781 100 %
nsHtml5UTF16Buffer.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit UTF16Buffer.java instead and regenerate. 2229 100 %
nsHtml5UTF16Buffer.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit UTF16Buffer.java instead and regenerate. 2345 -
nsHtml5UTF16BufferCppSupplement.h 851 100 %
nsHtml5UTF16BufferHSupplement.h For working around the privacy of |buffer| in the generated code. 509 -
nsHtml5ViewSourceUtils.cpp 2121 100 %
nsHtml5ViewSourceUtils.h 556 -
nsIContentHandle.h 362 -
nsIParserUtils.idl Non-Web HTML parser functionality to Firefox extensions and XULRunner apps. Don't use this from within Gecko--use nsContentUtils, nsTreeSanitizer, etc. directly instead. 5429 -
nsParserUtils.cpp 4249 91 %
nsParserUtils.h 452 -