Name Description Size
jArray.h 4128
java
javasrc
metrics.yaml 867
moz.build 2619
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 1405
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 2567
nsHtml5AtomTable.cpp 989
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. 2231
nsHtml5AttributeEntry.h 2153
nsHtml5AttributeName.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit AttributeName.java instead and regenerate. 167123
nsHtml5AttributeName.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit AttributeName.java instead and regenerate. 29041
nsHtml5AutoPauseUpdate.h 887
nsHtml5ByteReadable.h A weak reference wrapper around a byte array. 657
nsHtml5ContentCreatorFunction.h 546
nsHtml5DependentUTF16Buffer.cpp 1060
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 3584
nsHtml5DocumentBuilder.h Marks this parser as broken and tells the stream parser (if any) to terminate. @return aReason for convenience 3951
nsHtml5DocumentMode.h 382
nsHtml5ElementName.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit ElementName.java instead and regenerate. 71732
nsHtml5ElementName.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit ElementName.java instead and regenerate. 14360
nsHtml5Highlighter.cpp 25891
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 7428
nsHtml5HtmlAttributes.h 3425
nsHtml5Macros.h nsHtml5Macros_h 1299
nsHtml5Module.cpp 3907
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. 4003
nsHtml5NamedCharacters.h 1725
nsHtml5NamedCharactersAccel.cpp 20322
nsHtml5NamedCharactersAccel.h 501
nsHtml5NamedCharactersInclude.h 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 1022
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. 1075
nsHtml5OwningUTF16Buffer.cpp 1737
nsHtml5OwningUTF16Buffer.h Passes a buffer and its length to the superclass constructor. 1497
nsHtml5Parser.cpp 25634
nsHtml5Parser.h Start nsIParser 9219
nsHtml5PlainTextUtils.cpp 1366
nsHtml5PlainTextUtils.h 491
nsHtml5Portability.cpp 3352
nsHtml5Portability.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit Portability.java instead and regenerate. 3268
nsHtml5Speculation.cpp 1156
nsHtml5Speculation.h Flush the operations from the tree operations from the argument queue unconditionally. 1928
nsHtml5SpeculativeLoad.cpp 5545
nsHtml5SpeculativeLoad.h 17651
nsHtml5StackNode.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StackNode.java instead and regenerate. 7073
nsHtml5StackNode.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StackNode.java instead and regenerate. 3768
nsHtml5StateSnapshot.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StateSnapshot.java instead and regenerate. 3858
nsHtml5StateSnapshot.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit StateSnapshot.java instead and regenerate. 3415
nsHtml5StreamListener.cpp 3492
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
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.) 106738
nsHtml5StreamParser.h Parse a document normally as HTML. 20831
nsHtml5StreamParserPtr.h Like nsRefPtr except release is proxied to the main thread. Mostly copied from nsRefPtr. 7063
nsHtml5StreamParserReleaser.h 792
nsHtml5String.cpp 5611
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*`. 3457
nsHtml5StringParser.cpp 4894
nsHtml5StringParser.h Constructor for use ONLY by nsContentUtils. Others, please call the nsContentUtils statics that wrap this. 3175
nsHtml5SVGLoadDispatcher.cpp 1436
nsHtml5SVGLoadDispatcher.h 628
nsHtml5Tokenizer.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit Tokenizer.java instead and regenerate. 172462
nsHtml5Tokenizer.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit Tokenizer.java instead and regenerate. 13108
nsHtml5TokenizerCppSupplement.h 13876
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 3845
nsHtml5TokenizerLoopPolicies.h This policy does not report tokenizer transitions anywhere and does not track line and column numbers. To be used for innerHTML. 4346
nsHtml5TreeBuilder.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit TreeBuilder.java instead and regenerate. 159424
nsHtml5TreeBuilder.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit TreeBuilder.java instead and regenerate. 21063
nsHtml5TreeBuilderCppSupplement.h 81415
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. 9445
nsHtml5TreeOperation.cpp Helper class that opens a notification batch if the current doc is different from the executor doc. 44331
nsHtml5TreeOperation.h 22686
nsHtml5TreeOpExecutor.cpp 46676
nsHtml5TreeOpExecutor.h Whether EOF needs to be suppressed 8960
nsHtml5TreeOpStage.cpp 1883
nsHtml5TreeOpStage.h Flush the operations from the tree operations from the argument queue unconditionally. 1733
nsHtml5UTF16Buffer.cpp THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit UTF16Buffer.java instead and regenerate. 2229
nsHtml5UTF16Buffer.h THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. Please edit UTF16Buffer.java instead and regenerate. 2345
nsHtml5UTF16BufferCppSupplement.h 818
nsHtml5UTF16BufferHSupplement.h For working around the privacy of |buffer| in the generated code. 509
nsHtml5ViewSourceUtils.cpp 2127
nsHtml5ViewSourceUtils.h 556
nsIContentHandle.h 237
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 4338
nsParserUtils.h 556