ladybird/Userland/Libraries/LibWeb/HTML/Parser
Lorenz Steinert db789813c9 LibWeb: Add basic support for dynamic markup insertion
This implements basic support for dynamic markup insertion, adding
 * Document::open()
 * Document::write(Vector<String> const&)
 * Document::writeln(Vector<String> const&)
 * Document::close()

The HTMLParser is modified to make it possible to create a
script-created parser which initially only contains a HTMLTokenizer
without any data. Aditionally the HTMLParser::run method gains an
overload which does not modify the Document and does not run
HTMLParser::the_end() so that we can reenter the parser at a later time.
Furthermore all FIXMEs that consern the insertion point are implemented
wich is defined in the HTMLTokenizer. Additionally the following
member-variables of the HTMLParser are now exposed by getter funcions:
 * m_tokenizer
 * m_aborted
 * m_script_nesting_level

The HTMLTokenizer is modified so that it contains an insertion
point which keeps track of where the next input from the Document::write
functions will be inserted. The insertion point is implemented as the
charakter offset into m_decoded_input and a boolean describing if the
insertion point is defined. Functions to update, check and {re}store the
insertion point are also added.
The function HTMLTokenizer::insert_eof is added to tell a script-created
parser that document::close was called and HTMLParser::the_end() should
be called.
Lastly an explicit default constructor is added to HTMLTokenizer to
create a empty HTMLTokenizer into which data can be inserted.
2022-02-21 18:26:43 +01:00
..
Entities.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Entities.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
HTMLEncodingDetection.cpp LibWeb: Implement Attribute closer to the spec and with an IDL file 2021-10-17 13:51:10 +01:00
HTMLEncodingDetection.h LibWeb: Implement Attribute closer to the spec and with an IDL file 2021-10-17 13:51:10 +01:00
HTMLParser.cpp LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
HTMLParser.h LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
HTMLToken.cpp LibWeb: Change HTMLToken storage architecture 2021-07-17 16:24:57 +04:30
HTMLToken.h Libraries: Use AK::Variant default initialization where appropriate 2021-09-21 04:22:52 +04:30
HTMLTokenizer.cpp LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
HTMLTokenizer.h LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
ListOfActiveFormattingElements.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ListOfActiveFormattingElements.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StackOfOpenElements.cpp LibWeb: Rename element_before() => element_immediately_above() 2022-02-15 02:05:53 +01:00
StackOfOpenElements.h LibWeb: Add spec comments to the StackOfOpenElements class 2022-02-15 02:05:53 +01:00