mirror of
https://github.com/RGBCube/serenity
synced 2025-05-25 22:45:06 +00:00
LibWeb: Rename Attribute to Attr
This name is not very good, but it's what the specification calls it.
This commit is contained in:
parent
3c3ae3a768
commit
530675993b
18 changed files with 85 additions and 85 deletions
|
@ -41,7 +41,7 @@ static bool is_wrappable_type(Type const& type)
|
|||
return true;
|
||||
if (type.name() == "Selection")
|
||||
return true;
|
||||
if (type.name() == "Attribute")
|
||||
if (type.name() == "Attr")
|
||||
return true;
|
||||
if (type.name() == "NamedNodeMap")
|
||||
return true;
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
#include <LibWeb/Bindings/AbortSignalPrototype.h>
|
||||
#include <LibWeb/Bindings/AbstractRangeConstructor.h>
|
||||
#include <LibWeb/Bindings/AbstractRangePrototype.h>
|
||||
#include <LibWeb/Bindings/AttributeConstructor.h>
|
||||
#include <LibWeb/Bindings/AttributePrototype.h>
|
||||
#include <LibWeb/Bindings/AttrConstructor.h>
|
||||
#include <LibWeb/Bindings/AttrPrototype.h>
|
||||
#include <LibWeb/Bindings/AudioConstructor.h>
|
||||
#include <LibWeb/Bindings/BlobConstructor.h>
|
||||
#include <LibWeb/Bindings/BlobPrototype.h>
|
||||
|
@ -402,7 +402,7 @@
|
|||
ADD_WINDOW_OBJECT_INTERFACE(AbortController) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(AbortSignal) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(AbstractRange) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(Attribute) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(Attr) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(Blob) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(CDATASection) \
|
||||
ADD_WINDOW_OBJECT_INTERFACE(CSSConditionRule) \
|
||||
|
|
|
@ -74,8 +74,8 @@ set(SOURCES
|
|||
DOM/AbortController.cpp
|
||||
DOM/AbortSignal.cpp
|
||||
DOM/AbstractRange.cpp
|
||||
DOM/Attribute.cpp
|
||||
DOM/Attribute.idl
|
||||
DOM/Attr.cpp
|
||||
DOM/Attr.idl
|
||||
DOM/CDATASection.cpp
|
||||
DOM/CharacterData.cpp
|
||||
DOM/CharacterData.idl
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/DOM/Attribute.h>
|
||||
#include <LibWeb/DOM/Attr.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOM/Element.h>
|
||||
#include <LibWeb/DOM/MutationType.h>
|
||||
|
@ -12,43 +12,43 @@
|
|||
|
||||
namespace Web::DOM {
|
||||
|
||||
JS::NonnullGCPtr<Attribute> Attribute::create(Document& document, FlyString local_name, String value, Element const* owner_element)
|
||||
JS::NonnullGCPtr<Attr> Attr::create(Document& document, FlyString local_name, String value, Element const* owner_element)
|
||||
{
|
||||
return *document.heap().allocate<Attribute>(document.realm(), document, move(local_name), move(value), owner_element);
|
||||
return *document.heap().allocate<Attr>(document.realm(), document, move(local_name), move(value), owner_element);
|
||||
}
|
||||
|
||||
Attribute::Attribute(Document& document, FlyString local_name, String value, Element const* owner_element)
|
||||
Attr::Attr(Document& document, FlyString local_name, String value, Element const* owner_element)
|
||||
: Node(document, NodeType::ATTRIBUTE_NODE)
|
||||
, m_qualified_name(move(local_name), {}, {})
|
||||
, m_value(move(value))
|
||||
, m_owner_element(owner_element)
|
||||
{
|
||||
set_prototype(&window().cached_web_prototype("Attribute"));
|
||||
set_prototype(&window().cached_web_prototype("Attr"));
|
||||
}
|
||||
|
||||
void Attribute::visit_edges(Cell::Visitor& visitor)
|
||||
void Attr::visit_edges(Cell::Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_owner_element.ptr());
|
||||
}
|
||||
|
||||
Element* Attribute::owner_element()
|
||||
Element* Attr::owner_element()
|
||||
{
|
||||
return m_owner_element.ptr();
|
||||
}
|
||||
|
||||
Element const* Attribute::owner_element() const
|
||||
Element const* Attr::owner_element() const
|
||||
{
|
||||
return m_owner_element.ptr();
|
||||
}
|
||||
|
||||
void Attribute::set_owner_element(Element const* owner_element)
|
||||
void Attr::set_owner_element(Element const* owner_element)
|
||||
{
|
||||
m_owner_element = owner_element;
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#set-an-existing-attribute-value
|
||||
void Attribute::set_value(String value)
|
||||
void Attr::set_value(String value)
|
||||
{
|
||||
// 1. If attribute’s element is null, then set attribute’s value to value.
|
||||
if (!owner_element()) {
|
||||
|
@ -66,7 +66,7 @@ void Attribute::set_value(String value)
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#handle-attribute-changes
|
||||
void Attribute::handle_attribute_changes(Element& element, String const& old_value, [[maybe_unused]] String const& new_value)
|
||||
void Attr::handle_attribute_changes(Element& element, String const& old_value, [[maybe_unused]] String const& new_value)
|
||||
{
|
||||
// 1. Queue a mutation record of "attributes" for element with attribute’s local name, attribute’s namespace, oldValue, « », « », null, and null.
|
||||
element.queue_mutation_record(MutationType::attributes, local_name(), namespace_uri(), old_value, StaticNodeList::create(window(), {}), StaticNodeList::create(window(), {}), nullptr, nullptr);
|
|
@ -14,13 +14,13 @@
|
|||
namespace Web::DOM {
|
||||
|
||||
// https://dom.spec.whatwg.org/#attr
|
||||
class Attribute final : public Node {
|
||||
WEB_PLATFORM_OBJECT(Attribute, Node);
|
||||
class Attr final : public Node {
|
||||
WEB_PLATFORM_OBJECT(Attr, Node);
|
||||
|
||||
public:
|
||||
static JS::NonnullGCPtr<Attribute> create(Document&, FlyString local_name, String value, Element const* = nullptr);
|
||||
static JS::NonnullGCPtr<Attr> create(Document&, FlyString local_name, String value, Element const* = nullptr);
|
||||
|
||||
virtual ~Attribute() override = default;
|
||||
virtual ~Attr() override = default;
|
||||
|
||||
virtual FlyString node_name() const override { return name(); }
|
||||
|
||||
|
@ -42,7 +42,7 @@ public:
|
|||
void handle_attribute_changes(Element&, String const& old_value, String const& new_value);
|
||||
|
||||
private:
|
||||
Attribute(Document&, FlyString local_name, String value, Element const*);
|
||||
Attr(Document&, FlyString local_name, String value, Element const*);
|
||||
|
||||
virtual void visit_edges(Cell::Visitor&) override;
|
||||
|
||||
|
@ -52,8 +52,8 @@ private:
|
|||
};
|
||||
|
||||
template<>
|
||||
inline bool Node::fast_is<Attribute>() const { return is_attribute(); }
|
||||
inline bool Node::fast_is<Attr>() const { return is_attribute(); }
|
||||
|
||||
}
|
||||
|
||||
WRAPPER_HACK(Attribute, Web::DOM)
|
||||
WRAPPER_HACK(Attr, Web::DOM)
|
|
@ -2,7 +2,7 @@
|
|||
#import <DOM/Element.idl>
|
||||
|
||||
[Exposed=Window]
|
||||
interface Attribute : Node {
|
||||
interface Attr : Node {
|
||||
readonly attribute DOMString? namespaceURI;
|
||||
readonly attribute DOMString? prefix;
|
||||
readonly attribute DOMString localName;
|
|
@ -98,7 +98,7 @@ ExceptionOr<void> Element::set_attribute(FlyString const& name, String const& va
|
|||
|
||||
// 4. If attribute is null, create an attribute whose local name is qualifiedName, value is value, and node document is this’s node document, then append this attribute to this, and then return.
|
||||
if (!attribute) {
|
||||
auto new_attribute = Attribute::create(document(), insert_as_lowercase ? name.to_lowercase() : name, value);
|
||||
auto new_attribute = Attr::create(document(), insert_as_lowercase ? name.to_lowercase() : name, value);
|
||||
m_attributes->append_attribute(new_attribute);
|
||||
|
||||
attribute = new_attribute.ptr();
|
||||
|
@ -208,7 +208,7 @@ DOM::ExceptionOr<bool> Element::toggle_attribute(FlyString const& name, Optional
|
|||
if (!attribute) {
|
||||
// 1. If force is not given or is true, create an attribute whose local name is qualifiedName, value is the empty string, and node document is this’s node document, then append this attribute to this, and then return true.
|
||||
if (!force.has_value() || force.value()) {
|
||||
auto new_attribute = Attribute::create(document(), insert_as_lowercase ? name.to_lowercase() : name, "");
|
||||
auto new_attribute = Attr::create(document(), insert_as_lowercase ? name.to_lowercase() : name, "");
|
||||
m_attributes->append_attribute(new_attribute);
|
||||
|
||||
parse_attribute(new_attribute->local_name(), "");
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#include <AK/String.h>
|
||||
#include <LibWeb/CSS/CSSStyleDeclaration.h>
|
||||
#include <LibWeb/CSS/StyleComputer.h>
|
||||
#include <LibWeb/DOM/Attribute.h>
|
||||
#include <LibWeb/DOM/Attr.h>
|
||||
#include <LibWeb/DOM/ChildNode.h>
|
||||
#include <LibWeb/DOM/ExceptionOr.h>
|
||||
#include <LibWeb/DOM/NamedNodeMap.h>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/DOM/Attribute.h>
|
||||
#include <LibWeb/DOM/Attr.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOM/NamedNodeMap.h>
|
||||
#include <LibWeb/Namespace.h>
|
||||
|
@ -63,7 +63,7 @@ Vector<String> NamedNodeMap::supported_property_names() const
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-namednodemap-item
|
||||
Attribute const* NamedNodeMap::item(u32 index) const
|
||||
Attr const* NamedNodeMap::item(u32 index) const
|
||||
{
|
||||
// 1. If index is equal to or greater than this’s attribute list’s size, then return null.
|
||||
if (index >= m_attributes.size())
|
||||
|
@ -74,19 +74,19 @@ Attribute const* NamedNodeMap::item(u32 index) const
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-namednodemap-getnameditem
|
||||
Attribute const* NamedNodeMap::get_named_item(StringView qualified_name) const
|
||||
Attr const* NamedNodeMap::get_named_item(StringView qualified_name) const
|
||||
{
|
||||
return get_attribute(qualified_name);
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-namednodemap-setnameditem
|
||||
ExceptionOr<Attribute const*> NamedNodeMap::set_named_item(Attribute& attribute)
|
||||
ExceptionOr<Attr const*> NamedNodeMap::set_named_item(Attr& attribute)
|
||||
{
|
||||
return set_attribute(attribute);
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-namednodemap-removenameditem
|
||||
ExceptionOr<Attribute const*> NamedNodeMap::remove_named_item(StringView qualified_name)
|
||||
ExceptionOr<Attr const*> NamedNodeMap::remove_named_item(StringView qualified_name)
|
||||
{
|
||||
// 1. Let attr be the result of removing an attribute given qualifiedName and element.
|
||||
auto const* attribute = remove_attribute(qualified_name);
|
||||
|
@ -100,13 +100,13 @@ ExceptionOr<Attribute const*> NamedNodeMap::remove_named_item(StringView qualifi
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
|
||||
Attribute* NamedNodeMap::get_attribute(StringView qualified_name, size_t* item_index)
|
||||
Attr* NamedNodeMap::get_attribute(StringView qualified_name, size_t* item_index)
|
||||
{
|
||||
return const_cast<Attribute*>(const_cast<NamedNodeMap const*>(this)->get_attribute(qualified_name, item_index));
|
||||
return const_cast<Attr*>(const_cast<NamedNodeMap const*>(this)->get_attribute(qualified_name, item_index));
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
|
||||
Attribute const* NamedNodeMap::get_attribute(StringView qualified_name, size_t* item_index) const
|
||||
Attr const* NamedNodeMap::get_attribute(StringView qualified_name, size_t* item_index) const
|
||||
{
|
||||
if (item_index)
|
||||
*item_index = 0;
|
||||
|
@ -133,7 +133,7 @@ Attribute const* NamedNodeMap::get_attribute(StringView qualified_name, size_t*
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-set
|
||||
ExceptionOr<Attribute const*> NamedNodeMap::set_attribute(Attribute& attribute)
|
||||
ExceptionOr<Attr const*> NamedNodeMap::set_attribute(Attr& attribute)
|
||||
{
|
||||
// 1. If attr’s element is neither null nor element, throw an "InUseAttributeError" DOMException.
|
||||
if ((attribute.owner_element() != nullptr) && (attribute.owner_element() != &associated_element()))
|
||||
|
@ -162,7 +162,7 @@ ExceptionOr<Attribute const*> NamedNodeMap::set_attribute(Attribute& attribute)
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-replace
|
||||
void NamedNodeMap::replace_attribute(Attribute& old_attribute, Attribute& new_attribute, size_t old_attribute_index)
|
||||
void NamedNodeMap::replace_attribute(Attr& old_attribute, Attr& new_attribute, size_t old_attribute_index)
|
||||
{
|
||||
// 1. Handle attribute changes for oldAttr with oldAttr’s element, oldAttr’s value, and newAttr’s value.
|
||||
VERIFY(old_attribute.owner_element());
|
||||
|
@ -180,7 +180,7 @@ void NamedNodeMap::replace_attribute(Attribute& old_attribute, Attribute& new_at
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-append
|
||||
void NamedNodeMap::append_attribute(Attribute& attribute)
|
||||
void NamedNodeMap::append_attribute(Attr& attribute)
|
||||
{
|
||||
// 1. Handle attribute changes for attribute with element, null, and attribute’s value.
|
||||
attribute.handle_attribute_changes(associated_element(), {}, attribute.value());
|
||||
|
@ -195,7 +195,7 @@ void NamedNodeMap::append_attribute(Attribute& attribute)
|
|||
// https://dom.spec.whatwg.org/#concept-element-attributes-remove
|
||||
void NamedNodeMap::remove_attribute_at_index(size_t attribute_index)
|
||||
{
|
||||
JS::NonnullGCPtr<Attribute> attribute = m_attributes.at(attribute_index);
|
||||
JS::NonnullGCPtr<Attr> attribute = m_attributes.at(attribute_index);
|
||||
|
||||
// 1. Handle attribute changes for attribute with attribute’s element, attribute’s value, and null.
|
||||
VERIFY(attribute->owner_element());
|
||||
|
@ -209,7 +209,7 @@ void NamedNodeMap::remove_attribute_at_index(size_t attribute_index)
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-remove-by-name
|
||||
Attribute const* NamedNodeMap::remove_attribute(StringView qualified_name)
|
||||
Attr const* NamedNodeMap::remove_attribute(StringView qualified_name)
|
||||
{
|
||||
size_t item_index = 0;
|
||||
|
||||
|
|
|
@ -33,18 +33,18 @@ public:
|
|||
bool is_empty() const { return m_attributes.is_empty(); }
|
||||
|
||||
// Methods defined by the spec for JavaScript:
|
||||
Attribute const* item(u32 index) const;
|
||||
Attribute const* get_named_item(StringView qualified_name) const;
|
||||
ExceptionOr<Attribute const*> set_named_item(Attribute& attribute);
|
||||
ExceptionOr<Attribute const*> remove_named_item(StringView qualified_name);
|
||||
Attr const* item(u32 index) const;
|
||||
Attr const* get_named_item(StringView qualified_name) const;
|
||||
ExceptionOr<Attr const*> set_named_item(Attr& attribute);
|
||||
ExceptionOr<Attr const*> remove_named_item(StringView qualified_name);
|
||||
|
||||
// Methods defined by the spec for internal use:
|
||||
Attribute* get_attribute(StringView qualified_name, size_t* item_index = nullptr);
|
||||
Attribute const* get_attribute(StringView qualified_name, size_t* item_index = nullptr) const;
|
||||
ExceptionOr<Attribute const*> set_attribute(Attribute& attribute);
|
||||
void replace_attribute(Attribute& old_attribute, Attribute& new_attribute, size_t old_attribute_index);
|
||||
void append_attribute(Attribute& attribute);
|
||||
Attribute const* remove_attribute(StringView qualified_name);
|
||||
Attr* get_attribute(StringView qualified_name, size_t* item_index = nullptr);
|
||||
Attr const* get_attribute(StringView qualified_name, size_t* item_index = nullptr) const;
|
||||
ExceptionOr<Attr const*> set_attribute(Attr& attribute);
|
||||
void replace_attribute(Attr& old_attribute, Attr& new_attribute, size_t old_attribute_index);
|
||||
void append_attribute(Attr& attribute);
|
||||
Attr const* remove_attribute(StringView qualified_name);
|
||||
|
||||
private:
|
||||
explicit NamedNodeMap(Element&);
|
||||
|
@ -57,7 +57,7 @@ private:
|
|||
void remove_attribute_at_index(size_t attribute_index);
|
||||
|
||||
JS::NonnullGCPtr<DOM::Element> m_element;
|
||||
Vector<JS::NonnullGCPtr<Attribute>> m_attributes;
|
||||
Vector<JS::NonnullGCPtr<Attr>> m_attributes;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#import <DOM/Attribute.idl>
|
||||
#import <DOM/Attr.idl>
|
||||
|
||||
[Exposed=Window, LegacyUnenumerableNamedProperties]
|
||||
interface NamedNodeMap {
|
||||
readonly attribute unsigned long length;
|
||||
|
||||
getter Attribute? item(unsigned long index);
|
||||
getter Attribute? getNamedItem(DOMString qualifiedName);
|
||||
// Attribute? getNamedItemNS(DOMString? namespace, DOMString localName);
|
||||
getter Attr? item(unsigned long index);
|
||||
getter Attr? getNamedItem(DOMString qualifiedName);
|
||||
// Attr? getNamedItemNS(DOMString? namespace, DOMString localName);
|
||||
|
||||
[CEReactions] Attribute? setNamedItem(Attribute attr);
|
||||
// [CEReactions] Attribute? setNamedItemNS(Attribute attr);
|
||||
[CEReactions] Attr? setNamedItem(Attr attr);
|
||||
// [CEReactions] Attr? setNamedItemNS(Attr attr);
|
||||
|
||||
[CEReactions] Attribute removeNamedItem(DOMString qualifiedName);
|
||||
// [CEReactions] Attribute removeNamedItemNS(DOMString? namespace, DOMString localName);
|
||||
[CEReactions] Attr removeNamedItem(DOMString qualifiedName);
|
||||
// [CEReactions] Attr removeNamedItemNS(DOMString? namespace, DOMString localName);
|
||||
};
|
||||
|
|
|
@ -188,8 +188,8 @@ String Node::node_value() const
|
|||
// The nodeValue getter steps are to return the following, switching on the interface this implements:
|
||||
|
||||
// If Attr, return this’s value.
|
||||
if (is<Attribute>(this)) {
|
||||
return verify_cast<Attribute>(this)->value();
|
||||
if (is<Attr>(this)) {
|
||||
return verify_cast<Attr>(this)->value();
|
||||
}
|
||||
|
||||
// If CharacterData, return this’s data.
|
||||
|
@ -208,8 +208,8 @@ void Node::set_node_value(String const& value)
|
|||
// and then do as described below, switching on the interface this implements:
|
||||
|
||||
// If Attr, set an existing attribute value with this and the given value.
|
||||
if (is<Attribute>(this)) {
|
||||
verify_cast<Attribute>(this)->set_value(value);
|
||||
if (is<Attr>(this)) {
|
||||
verify_cast<Attr>(this)->set_value(value);
|
||||
} else if (is<CharacterData>(this)) {
|
||||
// If CharacterData, replace data with node this, offset 0, count this’s length, and data the given value.
|
||||
verify_cast<CharacterData>(this)->set_data(value);
|
||||
|
@ -733,7 +733,7 @@ JS::NonnullGCPtr<Node> Node::clone_node(Document* document, bool clone_children)
|
|||
document_type_copy->set_public_id(document_type->public_id());
|
||||
document_type_copy->set_system_id(document_type->system_id());
|
||||
copy = move(document_type_copy);
|
||||
} else if (is<Attribute>(this)) {
|
||||
} else if (is<Attr>(this)) {
|
||||
// FIXME:
|
||||
// Attr
|
||||
// Set copy’s namespace, namespace prefix, local name, and value to those of node.
|
||||
|
@ -898,19 +898,19 @@ u16 Node::compare_document_position(JS::GCPtr<Node> other)
|
|||
Node* node2 = this;
|
||||
|
||||
// 3. Let attr1 and attr2 be null.
|
||||
Attribute* attr1;
|
||||
Attribute* attr2;
|
||||
Attr* attr1;
|
||||
Attr* attr2;
|
||||
|
||||
// 4. If node1 is an attribute, then set attr1 to node1 and node1 to attr1’s element.
|
||||
if (is<Attribute>(node1)) {
|
||||
attr1 = verify_cast<Attribute>(node1);
|
||||
if (is<Attr>(node1)) {
|
||||
attr1 = verify_cast<Attr>(node1);
|
||||
node1 = const_cast<Element*>(attr1->owner_element());
|
||||
}
|
||||
|
||||
// 5. If node2 is an attribute, then:
|
||||
if (is<Attribute>(node2)) {
|
||||
if (is<Attr>(node2)) {
|
||||
// 1. Set attr2 to node2 and node2 to attr2’s element.
|
||||
attr2 = verify_cast<Attribute>(node2);
|
||||
attr2 = verify_cast<Attr>(node2);
|
||||
node2 = const_cast<Element*>(attr2->owner_element());
|
||||
|
||||
// 2. If attr1 and node1 are non-null, and node2 is node1, then:
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
#include <AK/TypeCasts.h>
|
||||
#include <LibWeb/DOM/Attribute.h>
|
||||
#include <LibWeb/DOM/Attr.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOM/DocumentType.h>
|
||||
#include <LibWeb/DOM/ExceptionOr.h>
|
||||
|
@ -26,10 +26,10 @@ StaticRange::~StaticRange() = default;
|
|||
ExceptionOr<StaticRange*> StaticRange::create_with_global_object(HTML::Window& window, StaticRangeInit& init)
|
||||
{
|
||||
// 1. If init["startContainer"] or init["endContainer"] is a DocumentType or Attr node, then throw an "InvalidNodeTypeError" DOMException.
|
||||
if (is<DocumentType>(*init.start_container) || is<Attribute>(*init.start_container))
|
||||
if (is<DocumentType>(*init.start_container) || is<Attr>(*init.start_container))
|
||||
return DOM::InvalidNodeTypeError::create(window, "startContainer cannot be a DocumentType or Attribute node.");
|
||||
|
||||
if (is<DocumentType>(*init.end_container) || is<Attribute>(*init.end_container))
|
||||
if (is<DocumentType>(*init.end_container) || is<Attr>(*init.end_container))
|
||||
return DOM::InvalidNodeTypeError::create(window, "endContainer cannot be a DocumentType or Attribute node.");
|
||||
|
||||
// 2. Set this’s start to (init["startContainer"], init["startOffset"]) and end to (init["endContainer"], init["endOffset"]).
|
||||
|
|
|
@ -204,7 +204,7 @@ DOM::ExceptionOr<String> serialize_node_to_xml_string_impl(JS::NonnullGCPtr<DOM:
|
|||
return serialize_processing_instruction(static_cast<DOM::ProcessingInstruction&>(*root), require_well_formed);
|
||||
}
|
||||
|
||||
if (is<DOM::Attribute>(*root)) {
|
||||
if (is<DOM::Attr>(*root)) {
|
||||
// -> An Attr object
|
||||
// Return an empty string.
|
||||
return String::empty();
|
||||
|
|
|
@ -129,7 +129,7 @@ namespace Web::DOM {
|
|||
class AbstractRange;
|
||||
class AbortController;
|
||||
class AbortSignal;
|
||||
class Attribute;
|
||||
class Attr;
|
||||
class CDATASection;
|
||||
class CharacterData;
|
||||
class Comment;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include <AK/StringView.h>
|
||||
#include <AK/Utf8View.h>
|
||||
#include <LibTextCodec/Decoder.h>
|
||||
#include <LibWeb/DOM/Attribute.h>
|
||||
#include <LibWeb/DOM/Attr.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/HTML/Parser/HTMLEncodingDetection.h>
|
||||
#include <ctype.h>
|
||||
|
@ -96,7 +96,7 @@ Optional<StringView> extract_character_encoding_from_meta_element(String const&
|
|||
return TextCodec::get_standardized_encoding(encoding);
|
||||
}
|
||||
|
||||
JS::GCPtr<DOM::Attribute> prescan_get_attribute(DOM::Document& document, ByteBuffer const& input, size_t& position)
|
||||
JS::GCPtr<DOM::Attr> prescan_get_attribute(DOM::Document& document, ByteBuffer const& input, size_t& position)
|
||||
{
|
||||
if (!prescan_skip_whitespace_and_slashes(input, position))
|
||||
return {};
|
||||
|
@ -111,7 +111,7 @@ JS::GCPtr<DOM::Attribute> prescan_get_attribute(DOM::Document& document, ByteBuf
|
|||
} else if (input[position] == '\t' || input[position] == '\n' || input[position] == '\f' || input[position] == '\r' || input[position] == ' ')
|
||||
goto spaces;
|
||||
else if (input[position] == '/' || input[position] == '>')
|
||||
return *DOM::Attribute::create(document, attribute_name.to_string(), "");
|
||||
return *DOM::Attr::create(document, attribute_name.to_string(), "");
|
||||
else
|
||||
attribute_name.append_as_lowercase(input[position]);
|
||||
++position;
|
||||
|
@ -123,7 +123,7 @@ spaces:
|
|||
if (!prescan_skip_whitespace_and_slashes(input, position))
|
||||
return {};
|
||||
if (input[position] != '=')
|
||||
return DOM::Attribute::create(document, attribute_name.to_string(), "");
|
||||
return DOM::Attr::create(document, attribute_name.to_string(), "");
|
||||
++position;
|
||||
|
||||
value:
|
||||
|
@ -136,13 +136,13 @@ value:
|
|||
++position;
|
||||
for (; !prescan_should_abort(input, position); ++position) {
|
||||
if (input[position] == quote_character)
|
||||
return DOM::Attribute::create(document, attribute_name.to_string(), attribute_value.to_string());
|
||||
return DOM::Attr::create(document, attribute_name.to_string(), attribute_value.to_string());
|
||||
else
|
||||
attribute_value.append_as_lowercase(input[position]);
|
||||
}
|
||||
return {};
|
||||
} else if (input[position] == '>')
|
||||
return DOM::Attribute::create(document, attribute_name.to_string(), "");
|
||||
return DOM::Attr::create(document, attribute_name.to_string(), "");
|
||||
else
|
||||
attribute_value.append_as_lowercase(input[position]);
|
||||
|
||||
|
@ -152,7 +152,7 @@ value:
|
|||
|
||||
for (; !prescan_should_abort(input, position); ++position) {
|
||||
if (input[position] == '\t' || input[position] == '\n' || input[position] == '\f' || input[position] == '\r' || input[position] == ' ' || input[position] == '>')
|
||||
return DOM::Attribute::create(document, attribute_name.to_string(), attribute_value.to_string());
|
||||
return DOM::Attr::create(document, attribute_name.to_string(), attribute_value.to_string());
|
||||
else
|
||||
attribute_value.append_as_lowercase(input[position]);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ bool prescan_should_abort(ByteBuffer const& input, size_t const& position);
|
|||
bool prescan_is_whitespace_or_slash(u8 const& byte);
|
||||
bool prescan_skip_whitespace_and_slashes(ByteBuffer const& input, size_t& position);
|
||||
Optional<StringView> extract_character_encoding_from_meta_element(String const&);
|
||||
JS::GCPtr<DOM::Attribute> prescan_get_attribute(DOM::Document&, ByteBuffer const& input, size_t& position);
|
||||
JS::GCPtr<DOM::Attr> prescan_get_attribute(DOM::Document&, ByteBuffer const& input, size_t& position);
|
||||
Optional<String> run_prescan_byte_stream_algorithm(DOM::Document&, ByteBuffer const& input);
|
||||
String run_encoding_sniffing_algorithm(DOM::Document&, ByteBuffer const& input);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ libweb_js_wrapper(CSS/Screen)
|
|||
libweb_js_wrapper(CSS/StyleSheet)
|
||||
libweb_js_wrapper(CSS/StyleSheetList)
|
||||
libweb_js_wrapper(DOM/AbstractRange)
|
||||
libweb_js_wrapper(DOM/Attribute)
|
||||
libweb_js_wrapper(DOM/Attr)
|
||||
libweb_js_wrapper(DOM/AbortController)
|
||||
libweb_js_wrapper(DOM/AbortSignal)
|
||||
libweb_js_wrapper(DOM/CDATASection)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue