diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/chromium/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc b/chromium/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc index bcf226243cf..403cf2e9703 100644 --- a/chromium/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc +++ b/chromium/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc @@ -110,7 +110,7 @@ class InspectorRevalidateDOMTask final void ScheduleStyleAttrRevalidationFor(Element*); void Reset() { timer_.Stop(); } void OnTimer(TimerBase*); - void Trace(Visitor*); + void Trace(Visitor*) const; private: Member<InspectorDOMAgent> dom_agent_; @@ -143,7 +143,7 @@ void InspectorRevalidateDOMTask::OnTimer(TimerBase*) { style_attr_invalidated_elements_.clear(); } -void InspectorRevalidateDOMTask::Trace(Visitor* visitor) { +void InspectorRevalidateDOMTask::Trace(Visitor* visitor) const { visitor->Trace(dom_agent_); visitor->Trace(style_attr_invalidated_elements_); } @@ -1673,18 +1673,14 @@ std::unique_ptr<protocol::Array<protocol::DOM::Node>> InspectorDOMAgent::BuildArrayForPseudoElements(Element* element, NodeToIdMap* nodes_map) { protocol::Array<protocol::DOM::Node> pseudo_elements; - if (element->GetPseudoElement(kPseudoIdBefore)) { - pseudo_elements.emplace_back(BuildObjectForNode( - element->GetPseudoElement(kPseudoIdBefore), 0, false, nodes_map)); - } - if (element->GetPseudoElement(kPseudoIdAfter)) { - pseudo_elements.emplace_back(BuildObjectForNode( - element->GetPseudoElement(kPseudoIdAfter), 0, false, nodes_map)); - } - if (element->GetPseudoElement(kPseudoIdMarker) && - RuntimeEnabledFeatures::CSSMarkerPseudoElementEnabled()) { - pseudo_elements.emplace_back(BuildObjectForNode( - element->GetPseudoElement(kPseudoIdMarker), 0, false, nodes_map)); + for (PseudoId pseudo_id : + {kPseudoIdBefore, kPseudoIdAfter, kPseudoIdMarker}) { + if (!PseudoElement::IsWebExposed(pseudo_id, element)) + continue; + if (PseudoElement* pseudo_element = element->GetPseudoElement(pseudo_id)) { + pseudo_elements.emplace_back( + BuildObjectForNode(pseudo_element, 0, false, nodes_map)); + } } if (pseudo_elements.empty()) return nullptr; @@ -2096,13 +2092,11 @@ void InspectorDOMAgent::FrameOwnerContentUpdated( } void InspectorDOMAgent::PseudoElementCreated(PseudoElement* pseudo_element) { - if (pseudo_element->IsMarkerPseudoElement() && - !RuntimeEnabledFeatures::CSSMarkerPseudoElementEnabled()) { - return; - } Element* parent = pseudo_element->ParentOrShadowHostElement(); if (!parent) return; + if (!PseudoElement::IsWebExposed(pseudo_element->GetPseudoId(), parent)) + return; int parent_id = document_node_to_id_map_->at(parent); if (!parent_id) return; @@ -2379,7 +2373,7 @@ Response InspectorDOMAgent::getFileInfo(const String& object_id, String* path) { return Response::Success(); } -void InspectorDOMAgent::Trace(Visitor* visitor) { +void InspectorDOMAgent::Trace(Visitor* visitor) const { visitor->Trace(dom_listener_); visitor->Trace(inspected_frames_); visitor->Trace(document_node_to_id_map_); |