Index: Source/web/InspectorOverlayImpl.cpp |
diff --git a/Source/web/InspectorOverlayImpl.cpp b/Source/web/InspectorOverlayImpl.cpp |
index 4c5a11ce3cc0c2a2ae69f613361c10af1ad703be..4ed693cbfccad1a8cd245a6984e26995c291b83c 100644 |
--- a/Source/web/InspectorOverlayImpl.cpp |
+++ b/Source/web/InspectorOverlayImpl.cpp |
@@ -164,9 +164,9 @@ DEFINE_TRACE(InspectorOverlayImpl) |
visitor->trace(m_layoutEditor); |
} |
-void InspectorOverlayImpl::init(InspectorCSSAgent* cssAgent, InspectorDebuggerAgent* debuggerAgent) |
+void InspectorOverlayImpl::init(InspectorCSSAgent* cssAgent, InspectorDebuggerAgent* debuggerAgent, InspectorDOMAgent* domAgent) |
{ |
- m_layoutEditor = LayoutEditor::create(cssAgent); |
+ m_layoutEditor = LayoutEditor::create(cssAgent, domAgent); |
m_debuggerAgent = debuggerAgent; |
m_overlayHost->setListener(this); |
} |
@@ -239,20 +239,20 @@ void InspectorOverlayImpl::setInspectModeEnabled(bool enabled) |
void InspectorOverlayImpl::hideHighlight() |
{ |
- if (m_layoutEditor) |
- m_layoutEditor->setNode(nullptr); |
m_highlightNode.clear(); |
m_eventTargetNode.clear(); |
m_highlightQuad.clear(); |
- update(); |
+ |
+ if (m_layoutEditor && m_layoutEditor->node()) |
+ highlightNode(m_layoutEditor->node(), 0, m_layoutEditor->highlightConfig(), false); |
+ else |
+ update(); |
} |
void InspectorOverlayImpl::highlightNode(Node* node, Node* eventTarget, const InspectorHighlightConfig& highlightConfig, bool omitTooltip) |
{ |
m_nodeHighlightConfig = highlightConfig; |
m_highlightNode = node; |
- if (m_layoutEditor && highlightConfig.showLayoutEditor) |
- m_layoutEditor->setNode(node); |
m_eventTargetNode = eventTarget; |
m_omitTooltip = omitTooltip; |
update(); |
@@ -324,7 +324,7 @@ void InspectorOverlayImpl::drawNodeHighlight() |
RefPtr<JSONObject> highlightJSON = highlight.asJSONObject(); |
evaluateInOverlay("drawHighlight", highlightJSON.release()); |
- if (m_layoutEditor && m_nodeHighlightConfig.showLayoutEditor) { |
+ if (m_layoutEditor && m_layoutEditor->node() == m_highlightNode) { |
RefPtr<JSONObject> layoutEditorInfo = m_layoutEditor->buildJSONInfo(); |
if (layoutEditorInfo) |
evaluateInOverlay("showLayoutEditor", layoutEditorInfo.release()); |
@@ -502,6 +502,11 @@ void InspectorOverlayImpl::overlayEndedPropertyChange() |
m_layoutEditor->overlayEndedPropertyChange(); |
} |
+void InspectorOverlayImpl::clearSelection(bool commitChanges) |
+{ |
+ m_layoutEditor->clearSelection(commitChanges); |
+} |
+ |
void InspectorOverlayImpl::profilingStarted() |
{ |
if (!m_suspendCount++) |
@@ -528,4 +533,14 @@ void InspectorOverlayImpl::setShowViewportSizeOnResize(bool show, bool showGrid) |
m_drawViewSizeWithGrid = showGrid; |
} |
+void InspectorOverlayImpl::showLayoutEditorForNode(Node* node, const InspectorHighlightConfig& highlightConfig) |
+{ |
+ if (!m_layoutEditor) |
+ return; |
+ |
+ m_layoutEditor->setNode(node); |
+ m_layoutEditor->setHighlightConfig(highlightConfig); |
+} |
+ |
+ |
} // namespace blink |