[webkit-changes] [WebKit/WebKit] a7dabf: Simplify Element attributes iteration logic by lev...
Chris Dumez
noreply at github.com
Wed Jan 15 13:09:14 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a7dabfb4de43edd4cbaec8092ed5db4147a78aef
https://github.com/WebKit/WebKit/commit/a7dabfb4de43edd4cbaec8092ed5db4147a78aef
Author: Chris Dumez <cdumez at apple.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M Source/WebCore/css/SelectorChecker.cpp
M Source/WebCore/css/SelectorFilter.cpp
M Source/WebCore/dom/CustomElementReactionQueue.cpp
M Source/WebCore/dom/DatasetDOMStringMap.cpp
M Source/WebCore/dom/DocumentSharedObjectPool.cpp
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/dom/Element.idl
M Source/WebCore/dom/ElementData.cpp
M Source/WebCore/dom/ElementData.h
M Source/WebCore/dom/ElementInlines.h
M Source/WebCore/dom/Node.cpp
M Source/WebCore/dom/Node.h
M Source/WebCore/dom/SelectorQuery.cpp
M Source/WebCore/dom/StyledElement.cpp
M Source/WebCore/editing/MarkupAccumulator.cpp
M Source/WebCore/editing/ReplaceSelectionCommand.cpp
M Source/WebCore/editing/TextManipulationController.cpp
M Source/WebCore/editing/cocoa/EditorCocoa.mm
M Source/WebCore/editing/markup.cpp
M Source/WebCore/html/HTMLEmbedElement.cpp
M Source/WebCore/html/HTMLObjectElement.cpp
M Source/WebCore/html/LinkIconCollector.cpp
M Source/WebCore/inspector/DOMPatchSupport.cpp
M Source/WebCore/inspector/InspectorNodeFinder.cpp
M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
M Source/WebCore/page/ElementTargetingController.cpp
M Source/WebCore/page/PageSerializer.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/style/ElementRuleCollector.cpp
M Source/WebCore/xml/XPathNodeSet.cpp
M Source/WebCore/xml/XPathStep.cpp
M Source/WebCore/xml/parser/XMLDocumentParser.cpp
M Source/WebKitLegacy/mac/DOM/DOMNode.mm
Log Message:
-----------
Simplify Element attributes iteration logic by leveraging std::span
https://bugs.webkit.org/show_bug.cgi?id=285970
Reviewed by Geoffrey Garen.
* Source/WebCore/css/SelectorChecker.cpp:
(WebCore::anyAttributeMatches):
* Source/WebCore/css/SelectorFilter.cpp:
(WebCore::SelectorFilter::collectElementIdentifierHashes):
* Source/WebCore/dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueue::enqueuePostUpgradeReactions):
* Source/WebCore/dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::isSupportedPropertyName const):
(WebCore::DatasetDOMStringMap::supportedPropertyNames const):
(WebCore::DatasetDOMStringMap::item const):
* Source/WebCore/dom/DocumentSharedObjectPool.cpp:
(WebCore::DocumentSharedObjectPool::ShareableElementDataHash::hash):
(WebCore::DocumentSharedObjectPool::ShareableElementDataHash::equal):
(WebCore::AttributeSpanTranslator::equal):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::isNonceable const):
(WebCore::Element::attributesMap const):
(WebCore::Element::getAttributeNames const):
(WebCore::Element::detachAllAttrNodesFromElement):
(WebCore::Element::cloneAttributesFromElement):
(WebCore::Element::attributes const): Deleted.
* Source/WebCore/dom/Element.h:
* Source/WebCore/dom/Element.idl:
* Source/WebCore/dom/ElementData.cpp:
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::ShareableElementData::~ShareableElementData):
(WebCore::ElementData::isEquivalent const):
* Source/WebCore/dom/ElementData.h:
(WebCore::ShareableElementData::attributes):
(WebCore::ShareableElementData::attributes const):
(WebCore::UniqueElementData::attributes const):
(WebCore::ElementData::attributes const):
(WebCore::AttributeConstIterator::AttributeConstIterator): Deleted.
(WebCore::AttributeConstIterator::operator* const): Deleted.
(WebCore::AttributeConstIterator::operator-> const): Deleted.
(WebCore::AttributeConstIterator::operator++): Deleted.
(WebCore::AttributeConstIterator::operator--): Deleted.
(WebCore::AttributeConstIterator::operator== const): Deleted.
(WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor): Deleted.
(WebCore::AttributeIteratorAccessor::begin const): Deleted.
(WebCore::AttributeIteratorAccessor::end const): Deleted.
(WebCore::AttributeIteratorAccessor::size const): Deleted.
(WebCore::AttributeIteratorAccessor::attributeCount const): Deleted.
(WebCore::ShareableElementData::span): Deleted.
(WebCore::ShareableElementData::span const): Deleted.
(WebCore::ElementData::attributesIterator const): Deleted.
* Source/WebCore/dom/ElementInlines.h:
(WebCore::Element::attributes const):
(WebCore::Node::attributesMap const):
(WebCore::Element::attributesIterator const): Deleted.
(WebCore::Node::attributes const): Deleted.
* Source/WebCore/dom/Node.cpp:
(WebCore::locateDefaultNamespace):
(WebCore::locateNamespacePrefix):
(WebCore::Node::compareDocumentPosition):
* Source/WebCore/dom/Node.h:
* Source/WebCore/dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::executeSingleAttributeExactSelectorData const):
* Source/WebCore/dom/StyledElement.cpp:
(WebCore::StyledElement::rebuildPresentationalHintStyle):
* Source/WebCore/editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartTagWithURLReplacement):
(WebCore::MarkupAccumulator::appendStartTag):
(WebCore::isElementExcludedByRule):
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeContentsWithSideEffects):
* Source/WebCore/editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::observeParagraphs):
* Source/WebCore/editing/cocoa/EditorCocoa.mm:
(WebCore::maybeCopyNodeAttributesToFragment):
* Source/WebCore/editing/markup.cpp:
(WebCore::completeURLs):
(WebCore::replaceSubresourceURLs):
(WebCore::removeSubresourceURLAttributes):
(WebCore::StyledMarkupAccumulator::appendStartTag):
* Source/WebCore/html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* Source/WebCore/html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* Source/WebCore/html/LinkIconCollector.cpp:
(WebCore::LinkIconCollector::iconsOfTypes):
* Source/WebCore/inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):
* Source/WebCore/inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::matchesElement):
* Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
* Source/WebCore/page/ElementTargetingController.cpp:
(WebCore::computeTagAndAttributeSelector):
* Source/WebCore/page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode):
* Source/WebCore/page/Quirks.cpp:
(WebCore::isKinjaLoginAvatarElement):
* Source/WebCore/style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRules):
* Source/WebCore/xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort const):
* Source/WebCore/xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis const):
* Source/WebCore/xml/parser/XMLDocumentParser.cpp:
(WebCore::findXMLParsingNamespaces):
* Source/WebKitLegacy/mac/DOM/DOMNode.mm:
(-[DOMNode attributes]):
Canonical link: https://commits.webkit.org/288961@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list