ladybird/Userland/Libraries/LibWeb/HTML/Parser
Timothy Flynn e01dfaac9a LibWeb: Implement Attribute closer to the spec and with an IDL file
Note our Attribute class is what the spec refers to as just "Attr". The
main differences between the existing implementation and the spec are
just that the spec defines more fields.

Attributes can contain namespace URIs and prefixes. However, note that
these are not parsed in HTML documents unless the document content-type
is XML. So for now, these are initialized to null. Web pages are able to
set the namespace via JavaScript (setAttributeNS), so these fields may
be filled in when the corresponding APIs are implemented.

The main change to be aware of is that an attribute is a node. This has
implications on how attributes are stored in the Element class. Nodes
are non-copyable and non-movable because these constructors are deleted
by the EventTarget base class. This means attributes cannot be stored in
a Vector or HashMap as these containers assume copyability / movability.
So for now, the Vector holding attributes is changed to hold RefPtrs to
attributes instead. This might change when attribute storage is
implemented according to the spec (by way of NamedNodeMap).
2021-10-17 13:51:10 +01:00
..
Entities.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Entities.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02: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: Implement Attribute closer to the spec and with an IDL file 2021-10-17 13:51:10 +01:00
HTMLParser.h LibWeb: Split out "The end" from the HTML parsing spec to a function 2021-09-26 00:04:33 +02: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: Rename HTMLDocumentParser => HTMLParser 2021-09-25 23:36:43 +02:00
HTMLTokenizer.h LibWeb: Rename HTMLDocumentParser => HTMLParser 2021-09-25 23:36:43 +02: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 HTMLDocumentParser => HTMLParser 2021-09-25 23:36:43 +02:00
StackOfOpenElements.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00