diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-07-16 11:45:35 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-07-17 08:59:23 +0000 |
commit | 552906b0f222c5d5dd11b9fd73829d510980461a (patch) | |
tree | 3a11e6ed0538a81dd83b20cf3a4783e297f26d91 /chromium/third_party/blink/renderer/core/html/custom | |
parent | 1b05827804eaf047779b597718c03e7d38344261 (diff) | |
download | qtwebengine-chromium-552906b0f222c5d5dd11b9fd73829d510980461a.tar.gz |
BASELINE: Update Chromium to 83.0.4103.122
Change-Id: Ie3a82f5bb0076eec2a7c6a6162326b4301ee291e
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/html/custom')
14 files changed, 104 insertions, 46 deletions
diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element.cc b/chromium/third_party/blink/renderer/core/html/custom/custom_element.cc index d21c582052c..1a031cecfab 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element.cc @@ -56,8 +56,7 @@ Vector<AtomicString>& CustomElement::EmbedderCustomElementNames() { void CustomElement::AddEmbedderCustomElementName(const AtomicString& name) { DCHECK_EQ(name, name.LowerASCII()); DCHECK(Document::IsValidName(name)) << name; - DCHECK_EQ(HTMLElementType::kHTMLUnknownElement, htmlElementTypeForTag(name)) - << name; + DCHECK(!IsKnownBuiltinTagName(name)) << name; DCHECK(!IsValidName(name, false)) << name; if (EmbedderCustomElementNames().Contains(name)) @@ -69,8 +68,7 @@ void CustomElement::AddEmbedderCustomElementNameForTesting( const AtomicString& name, ExceptionState& exception_state) { if (name != name.LowerASCII() || !Document::IsValidName(name) || - HTMLElementType::kHTMLUnknownElement != htmlElementTypeForTag(name) || - IsValidName(name, false)) { + IsKnownBuiltinTagName(name) || IsValidName(name, false)) { exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError, "Name cannot be used"); return; @@ -105,14 +103,16 @@ bool CustomElement::ShouldCreateCustomElement(const QualifiedName& tag_name) { } bool CustomElement::ShouldCreateCustomizedBuiltinElement( - const AtomicString& local_name) { - return htmlElementTypeForTag(local_name) != + const AtomicString& local_name, + const Document& document) { + return htmlElementTypeForTag(local_name, &document) != HTMLElementType::kHTMLUnknownElement; } bool CustomElement::ShouldCreateCustomizedBuiltinElement( - const QualifiedName& tag_name) { - return ShouldCreateCustomizedBuiltinElement(tag_name.LocalName()) && + const QualifiedName& tag_name, + const Document& document) { + return ShouldCreateCustomizedBuiltinElement(tag_name.LocalName(), document) && tag_name.NamespaceURI() == html_names::xhtmlNamespaceURI; } @@ -205,7 +205,8 @@ Element* CustomElement::CreateUncustomizedOrUndefinedElement( HTMLElement* CustomElement::CreateFailedElement(Document& document, const QualifiedName& tag_name) { - DCHECK(ShouldCreateCustomElement(tag_name)); + CHECK(ShouldCreateCustomElement(tag_name)) + << "HTMLUnknownElement with built-in tag name: " << tag_name; // "create an element for a token": // https://html.spec.whatwg.org/C/#create-an-element-for-the-token diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element.h b/chromium/third_party/blink/renderer/core/html/custom/custom_element.h index 172a3dc7eb8..16e077eb151 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element.h +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element.h @@ -77,8 +77,10 @@ class CORE_EXPORT CustomElement { static bool ShouldCreateCustomElement(const AtomicString& local_name); static bool ShouldCreateCustomElement(const QualifiedName&); static bool ShouldCreateCustomizedBuiltinElement( - const AtomicString& local_name); - static bool ShouldCreateCustomizedBuiltinElement(const QualifiedName&); + const AtomicString& local_name, + const Document&); + static bool ShouldCreateCustomizedBuiltinElement(const QualifiedName&, + const Document&); // Look up a definition, and create an autonomous custom element if // it's found. diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.cc b/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.cc index 6126e0d04c4..c5e4a121416 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.cc @@ -112,7 +112,7 @@ HTMLElement* CustomElementDefinition::CreateElementForConstructor( document); } // TODO(davaajav): write this as one call to setCustomElementState instead of - // two + // two. element->SetCustomElementState(CustomElementState::kUndefined); element->SetCustomElementDefinition(this); return element; @@ -123,8 +123,9 @@ HTMLElement* CustomElementDefinition::CreateElement( Document& document, const QualifiedName& tag_name, CreateElementFlags flags) { - DCHECK(CustomElement::ShouldCreateCustomElement(tag_name) || - CustomElement::ShouldCreateCustomizedBuiltinElement(tag_name)) + DCHECK( + CustomElement::ShouldCreateCustomElement(tag_name) || + CustomElement::ShouldCreateCustomizedBuiltinElement(tag_name, document)) << tag_name; // 5. If definition is non-null, and definition’s name is not equal to @@ -142,14 +143,19 @@ HTMLElement* CustomElementDefinition::CreateElement( result->SetCustomElementState(CustomElementState::kUndefined); result->SetIsValue(Descriptor().GetName()); - // 5.3. If the synchronous custom elements flag is set, upgrade - // element using definition. - // 5.4. Otherwise, enqueue a custom element upgrade reaction given - // result and definition. - if (!flags.IsAsyncCustomElements()) + if (!flags.IsAsyncCustomElements()) { + // 5.3 If the synchronous custom elements flag is set, then run this step + // while catching any exceptions: + // 1. Upgrade element using definition. + // If this step threw an exception, then: + // 1. Report the exception. + // 2. Set result's custom element state to "failed". Upgrade(*result); - else + } else { + // 5.4. Otherwise, enqueue a custom element upgrade reaction given + // result and definition. EnqueueUpgradeReaction(*result); + } return To<HTMLElement>(result); } @@ -175,7 +181,7 @@ HTMLElement* CustomElementDefinition::CreateElement( CustomElementDefinition::ConstructionStackScope::ConstructionStackScope( CustomElementDefinition& definition, Element& element) - : construction_stack_(definition.construction_stack_), element_(element) { + : construction_stack_(definition.construction_stack_), element_(&element) { // Push the construction stack. construction_stack_.push_back(&element); depth_ = construction_stack_.size(); @@ -190,21 +196,39 @@ CustomElementDefinition::ConstructionStackScope::~ConstructionStackScope() { // https://html.spec.whatwg.org/C/#concept-upgrade-an-element void CustomElementDefinition::Upgrade(Element& element) { - DCHECK_EQ(element.GetCustomElementState(), CustomElementState::kUndefined); + // 4.13.5.1 If element is custom, then return. + // 4.13.5.2 If element's custom element state is "failed", then return. + if (element.GetCustomElementState() == CustomElementState::kCustom || + element.GetCustomElementState() == CustomElementState::kFailed) { + return; + } + + // 4.13.5.3. Set element's custom element state to "failed". + element.SetCustomElementState(CustomElementState::kFailed); + // 4.13.5.4: For each attribute in element's attribute list, in order, enqueue + // a custom element callback reaction with element, callback name + // "attributeChangedCallback", and an argument list containing attribute's + // local name, null, attribute's value, and attribute's namespace. if (!observed_attributes_.IsEmpty()) EnqueueAttributeChangedCallbackForAllAttributes(element); + // 4.13.5.5: If element is connected, then enqueue a custom element callback + // reaction with element, callback name "connectedCallback", and an empty + // argument list. if (element.isConnected() && HasConnectedCallback()) EnqueueConnectedCallback(element); bool succeeded = false; { + // 4.13.5.6: Add element to the end of definition's construction stack. ConstructionStackScope construction_stack_scope(*this, element); + // 4.13.5.8: Run the constructor, catching exceptions. succeeded = RunConstructor(element); } if (!succeeded) { - element.SetCustomElementState(CustomElementState::kFailed); + // 4.13.5.?: If the above steps threw an exception, then element's custom + // element state will remain "failed". CustomElementReactionStack::Current().ClearQueue(element); return; } diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.h b/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.h index e2c73857658..a3610a2c26f 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.h +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_definition.h @@ -136,7 +136,7 @@ class CORE_EXPORT CustomElementDefinition private: ConstructionStack& construction_stack_; - Member<Element> element_; + Element* element_; size_t depth_; }; diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_reaction_test_helpers.h b/chromium/third_party/blink/renderer/core/html/custom/custom_element_reaction_test_helpers.h index d2f544c3fb2..6450df0d6ec 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_reaction_test_helpers.h +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_reaction_test_helpers.h @@ -143,8 +143,8 @@ class ResetCustomElementReactionStackForTest final { CustomElementReactionStack& Stack() { return *stack_; } private: - Member<CustomElementReactionStack> stack_; - Member<CustomElementReactionStack> old_stack_; + CustomElementReactionStack* stack_; + CustomElementReactionStack* old_stack_; DISALLOW_COPY_AND_ASSIGN(ResetCustomElementReactionStackForTest); }; diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.cc b/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.cc index 216efea305a..59e806f5309 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.cc @@ -11,9 +11,9 @@ #include "third_party/blink/renderer/bindings/core/v8/script_custom_element_definition_builder.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_element_definition_options.h" #include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/dom/element.h" -#include "third_party/blink/renderer/core/dom/element_definition_options.h" #include "third_party/blink/renderer/core/dom/element_traversal.h" #include "third_party/blink/renderer/core/dom/shadow_root.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" @@ -150,7 +150,7 @@ CustomElementDefinition* CustomElementRegistry::DefineInternal( if (ThrowIfValidName(AtomicString(options->extends()), exception_state)) return nullptr; // 7.2. If element interface is undefined element, throw exception - if (htmlElementTypeForTag(extends) == + if (htmlElementTypeForTag(extends, owner_->document()) == HTMLElementType::kHTMLUnknownElement) { exception_state.ThrowDOMException( DOMExceptionCode::kNotSupportedError, diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.idl b/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.idl index 986991b7968..144566b51d2 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.idl +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.idl @@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// https://html.spec.whatwg.org/C/custom-elements.html#customelementregistry +// https://html.spec.whatwg.org/C/#customelementregistry [Exposed=Window] interface CustomElementRegistry { - [CallWith=ScriptState, CEReactions, CustomElementCallbacks, RaisesException, MeasureAs=CustomElementRegistryDefine] void define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options); + [CallWith=ScriptState, CEReactions, CustomElementCallbacks, RaisesException, MeasureAs=CustomElementRegistryDefine] void define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {}); any get(DOMString name); [CallWith=ScriptState,RaisesException] Promise<void> whenDefined(DOMString name); [CEReactions] void upgrade(Node root); diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry_test.cc b/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry_test.cc index c2b430f64f2..c50d69d521f 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry_test.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry_test.cc @@ -8,13 +8,13 @@ #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/public/web/web_custom_element.h" #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h" -#include "third_party/blink/renderer/core/css/css_style_sheet_init.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_css_style_sheet_init.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_element_definition_options.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_shadow_root_init.h" #include "third_party/blink/renderer/core/css/style_sheet_contents.h" #include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/dom/element.h" -#include "third_party/blink/renderer/core/dom/element_definition_options.h" #include "third_party/blink/renderer/core/dom/shadow_root.h" -#include "third_party/blink/renderer/core/dom/shadow_root_init.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/core/html/custom/ce_reactions_scope.h" #include "third_party/blink/renderer/core/html/custom/custom_element.h" diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_test.cc b/chromium/third_party/blink/renderer/core/html/custom/custom_element_test.cc index 1ea5764c0cd..d28b73f5cbc 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_test.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_test.cc @@ -9,6 +9,7 @@ #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_element_definition_options.h" #include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/core/html/custom/custom_element_definition.h" @@ -159,7 +160,7 @@ TEST(CustomElementTest, StateByParser) { "<font-face id=v0></font-face>"; auto page_holder = std::make_unique<DummyPageHolder>(); Document& document = page_holder->GetDocument(); - document.body()->SetInnerHTMLFromString(String::FromUTF8(body_content)); + document.body()->setInnerHTML(String::FromUTF8(body_content)); struct { const char* id; @@ -234,7 +235,7 @@ TEST(CustomElementTest, // create an element with an uppercase tag name Document& document = holder->GetDocument(); - EXPECT_TRUE(document.IsHTMLDocument()) + EXPECT_TRUE(IsA<HTMLDocument>(document)) << "this test requires a HTML document"; Element* element = document.CreateElementForBinding("A-A", should_not_throw); EXPECT_EQ(definition, element->GetCustomElementDefinition()); diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_test_helpers.h b/chromium/third_party/blink/renderer/core/html/custom/custom_element_test_helpers.h index af5cc4358fe..915324b0e8b 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_test_helpers.h +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_test_helpers.h @@ -8,7 +8,6 @@ #include "base/macros.h" #include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/dom/element.h" -#include "third_party/blink/renderer/core/dom/element_definition_options.h" #include "third_party/blink/renderer/core/dom/qualified_name.h" #include "third_party/blink/renderer/core/html/custom/ce_reactions_scope.h" #include "third_party/blink/renderer/core/html/custom/custom_element_definition.h" @@ -153,7 +152,7 @@ class CreateElement { } operator Element*() const { - Document* document = document_.Get(); + Document* document = document_; if (!document) document = MakeGarbageCollected<HTMLDocument>(); NonThrowableExceptionState no_exceptions; @@ -166,7 +165,7 @@ class CreateElement { } private: - Member<Document> document_; + Document* document_ = nullptr; AtomicString namespace_uri_; AtomicString local_name_; AtomicString is_value_; diff --git a/chromium/third_party/blink/renderer/core/html/custom/custom_element_upgrade_sorter_test.cc b/chromium/third_party/blink/renderer/core/html/custom/custom_element_upgrade_sorter_test.cc index 8f03e5412f5..f82ce78f372 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/custom_element_upgrade_sorter_test.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/custom_element_upgrade_sorter_test.cc @@ -7,10 +7,10 @@ #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/renderer/bindings/core/v8/string_or_element_creation_options.h" #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_shadow_root_init.h" #include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/dom/element.h" #include "third_party/blink/renderer/core/dom/shadow_root.h" -#include "third_party/blink/renderer/core/dom/shadow_root_init.h" #include "third_party/blink/renderer/core/html/html_document.h" #include "third_party/blink/renderer/core/html_names.h" #include "third_party/blink/renderer/core/testing/page_test_base.h" diff --git a/chromium/third_party/blink/renderer/core/html/custom/element_internals.cc b/chromium/third_party/blink/renderer/core/html/custom/element_internals.cc index 946528c5dbd..d207f394d88 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/element_internals.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/element_internals.cc @@ -4,13 +4,13 @@ #include "third_party/blink/renderer/core/html/custom/element_internals.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_validity_state_flags.h" #include "third_party/blink/renderer/core/accessibility/ax_object_cache.h" #include "third_party/blink/renderer/core/dom/dom_token_list.h" #include "third_party/blink/renderer/core/dom/node_lists_node_data.h" #include "third_party/blink/renderer/core/fileapi/file.h" #include "third_party/blink/renderer/core/html/custom/custom_element.h" #include "third_party/blink/renderer/core/html/custom/custom_element_registry.h" -#include "third_party/blink/renderer/core/html/custom/validity_state_flags.h" #include "third_party/blink/renderer/core/html/forms/form_controller.h" #include "third_party/blink/renderer/core/html/forms/form_data.h" #include "third_party/blink/renderer/core/html/forms/html_form_element.h" @@ -47,7 +47,6 @@ class CustomStatesTokenList : public DOMTokenList { }; ElementInternals::ElementInternals(HTMLElement& target) : target_(target) { - value_.SetUSVString(String()); } void ElementInternals::Trace(Visitor* visitor) { @@ -301,6 +300,27 @@ Element* ElementInternals::GetElementAttribute(const QualifiedName& name) { return element_vector->at(0); } +base::Optional<HeapVector<Member<Element>>> +ElementInternals::GetElementArrayAttribute(const QualifiedName& name) const { + const auto& iter = explicitly_set_attr_elements_map_.find(name); + if (iter != explicitly_set_attr_elements_map_.end()) { + return *(iter->value); + } + return base::nullopt; +} + +void ElementInternals::SetElementArrayAttribute( + const QualifiedName& name, + const base::Optional<HeapVector<Member<Element>>>& elements) { + if (elements) { + explicitly_set_attr_elements_map_.Set( + name, + MakeGarbageCollected<HeapVector<Member<Element>>>(elements.value())); + } else { + explicitly_set_attr_elements_map_.erase(name); + } +} + HeapVector<Member<Element>> ElementInternals::GetElementArrayAttribute( const QualifiedName& name, bool is_null) { @@ -328,8 +348,13 @@ void ElementInternals::SetElementArrayAttribute( bool ElementInternals::IsTargetFormAssociated() const { if (Target().IsFormAssociatedCustomElement()) return true; - if (Target().GetCustomElementState() != CustomElementState::kUndefined) + // Custom element could be in the process of upgrading here, during which + // it will have state kFailed according to: + // https://html.spec.whatwg.org/multipage/custom-elements.html#upgrades + if (Target().GetCustomElementState() != CustomElementState::kUndefined && + Target().GetCustomElementState() != CustomElementState::kFailed) { return false; + } // An element is in "undefined" state in its constructor JavaScript code. // ElementInternals needs to handle elements to be form-associated same as // form-associated custom elements because web authors want to call diff --git a/chromium/third_party/blink/renderer/core/html/custom/element_internals.h b/chromium/third_party/blink/renderer/core/html/custom/element_internals.h index 1b5185eb781..dc4133e64e7 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/element_internals.h +++ b/chromium/third_party/blink/renderer/core/html/custom/element_internals.h @@ -7,6 +7,7 @@ #include "third_party/blink/renderer/bindings/core/v8/file_or_usv_string_or_form_data.h" #include "third_party/blink/renderer/core/dom/qualified_name.h" +#include "third_party/blink/renderer/core/html/forms/labels_node_list.h" #include "third_party/blink/renderer/core/html/forms/listed_element.h" #include "third_party/blink/renderer/platform/bindings/script_wrappable.h" #include "third_party/blink/renderer/platform/wtf/casting.h" @@ -15,7 +16,6 @@ namespace blink { class DOMTokenList; class HTMLElement; -class LabelsNodeList; class ValidityStateFlags; class CORE_EXPORT ElementInternals : public ScriptWrappable, @@ -62,12 +62,18 @@ class CORE_EXPORT ElementInternals : public ScriptWrappable, void SetElementAttribute(const QualifiedName& name, Element* element); Element* GetElementAttribute(const QualifiedName& name); + base::Optional<HeapVector<Member<Element>>> GetElementArrayAttribute( + const QualifiedName& name) const; + void SetElementArrayAttribute( + const QualifiedName& name, + const base::Optional<HeapVector<Member<Element>>>& elements); + // TODO(crbug.com/1060971): Remove |is_null| version. HeapVector<Member<Element>> GetElementArrayAttribute( const QualifiedName& name, - bool is_null); + bool is_null); // DEPRECATED void SetElementArrayAttribute(const QualifiedName&, HeapVector<Member<Element>>, - bool is_null); + bool is_null); // DEPRECATED bool HasAttribute(const QualifiedName& attribute) const; const HashMap<QualifiedName, AtomicString>& GetAttributes() const; diff --git a/chromium/third_party/blink/renderer/core/html/custom/v0_custom_element_microtask_resolution_step.cc b/chromium/third_party/blink/renderer/core/html/custom/v0_custom_element_microtask_resolution_step.cc index 546036951ef..22b212dbb61 100644 --- a/chromium/third_party/blink/renderer/core/html/custom/v0_custom_element_microtask_resolution_step.cc +++ b/chromium/third_party/blink/renderer/core/html/custom/v0_custom_element_microtask_resolution_step.cc @@ -59,7 +59,7 @@ void V0CustomElementMicrotaskResolutionStep::Trace(Visitor* visitor) { #if !defined(NDEBUG) void V0CustomElementMicrotaskResolutionStep::Show(unsigned indent) { fprintf(stderr, "%*sResolution: ", indent, ""); - element_->OuterHTMLAsString().Show(); + element_->outerHTML().Show(); } #endif |