Chromium Code Reviews| Index: Source/web/InspectorOverlayImpl.cpp |
| diff --git a/Source/web/InspectorOverlayImpl.cpp b/Source/web/InspectorOverlayImpl.cpp |
| index 3845661139a00460cfb68d79f9c338205c3cf0bb..37a697eb3ced166198cdd00f7d45d01b1e4a528a 100644 |
| --- a/Source/web/InspectorOverlayImpl.cpp |
| +++ b/Source/web/InspectorOverlayImpl.cpp |
| @@ -109,6 +109,7 @@ public: |
| void suspendUpdates() override { } |
| void resumeUpdates() override { } |
| void clear() override { } |
| + void setCSSAgent(InspectorCSSAgent*) override { } |
| }; |
| DEFINE_TRACE(InspectorOverlayStub) |
| @@ -134,8 +135,9 @@ InspectorOverlayImpl::InspectorOverlayImpl(WebViewImpl* webViewImpl) |
| , m_timer(this, &InspectorOverlayImpl::onTimer) |
| , m_suspendCount(0) |
| , m_updating(false) |
| + , m_layoutEditor(nullptr) |
|
dgozman
2015/06/25 12:31:00
Not needed.
sergeyv
2015/06/25 12:54:31
Done.
|
| { |
| - m_overlayHost->setListener(this); |
| + m_overlayHost->setDebuggerListener(this); |
| } |
| InspectorOverlayImpl::~InspectorOverlayImpl() |
| @@ -177,8 +179,9 @@ void InspectorOverlayImpl::invalidate() |
| bool InspectorOverlayImpl::handleInputEvent(const WebInputEvent& inputEvent) |
| { |
| + bool handled = false; |
| if (isEmpty()) |
| - return false; |
| + return handled; |
| if (WebInputEvent::isGestureEventType(inputEvent.type) && inputEvent.type == WebInputEvent::GestureTap) { |
| // Only let GestureTab in (we only need it and we know PlatformGestureEventBuilder supports it). |
| @@ -189,11 +192,11 @@ bool InspectorOverlayImpl::handleInputEvent(const WebInputEvent& inputEvent) |
| // PlatformMouseEventBuilder does not work with MouseEnter type, so we filter it out manually. |
| PlatformMouseEvent mouseEvent = PlatformMouseEventBuilder(m_webViewImpl->mainFrameImpl()->frameView(), static_cast<const WebMouseEvent&>(inputEvent)); |
| if (mouseEvent.type() == PlatformEvent::MouseMoved) |
| - overlayMainFrame()->eventHandler().handleMouseMoveEvent(mouseEvent); |
| + handled = overlayMainFrame()->eventHandler().handleMouseMoveEvent(mouseEvent); |
| if (mouseEvent.type() == PlatformEvent::MousePressed) |
| - overlayMainFrame()->eventHandler().handleMousePressEvent(mouseEvent); |
| + handled = overlayMainFrame()->eventHandler().handleMousePressEvent(mouseEvent); |
| if (mouseEvent.type() == PlatformEvent::MouseReleased) |
| - overlayMainFrame()->eventHandler().handleMouseReleaseEvent(mouseEvent); |
| + handled = overlayMainFrame()->eventHandler().handleMouseReleaseEvent(mouseEvent); |
| } |
| if (WebInputEvent::isTouchEventType(inputEvent.type)) { |
| PlatformTouchEvent touchEvent = PlatformTouchEventBuilder(m_webViewImpl->mainFrameImpl()->frameView(), static_cast<const WebTouchEvent&>(inputEvent)); |
| @@ -204,8 +207,7 @@ bool InspectorOverlayImpl::handleInputEvent(const WebInputEvent& inputEvent) |
| overlayMainFrame()->eventHandler().keyEvent(keyboardEvent); |
| } |
| - // Overlay should not consume events. |
| - return false; |
| + return handled; |
| } |
| void InspectorOverlayImpl::setPausedInDebuggerMessage(const String* message) |
| @@ -222,10 +224,11 @@ void InspectorOverlayImpl::setInspectModeEnabled(bool enabled) |
| void InspectorOverlayImpl::hideHighlight() |
| { |
| + if (m_layoutEditor) |
| + m_layoutEditor->setNode(nullptr); |
| m_highlightNode.clear(); |
| m_eventTargetNode.clear(); |
| m_highlightQuad.clear(); |
| - m_layoutEditor.clear(); |
| update(); |
| } |
| @@ -234,7 +237,7 @@ void InspectorOverlayImpl::highlightNode(Node* node, Node* eventTarget, const In |
| m_nodeHighlightConfig = highlightConfig; |
| m_highlightNode = node; |
| if (highlightConfig.showLayoutEditor) |
|
dgozman
2015/06/25 12:31:00
&& m_layoutEditor
sergeyv
2015/06/25 12:54:31
Done.
|
| - m_layoutEditor = LayoutEditor::create(node); |
| + m_layoutEditor->setNode(node); |
| m_eventTargetNode = eventTarget; |
| m_omitTooltip = omitTooltip; |
| update(); |
| @@ -484,4 +487,15 @@ void InspectorOverlayImpl::resumeUpdates() |
| --m_suspendCount; |
| } |
| +void InspectorOverlayImpl::setCSSAgent(InspectorCSSAgent* cssAgent) |
| +{ |
| + if (cssAgent) |
| + m_layoutEditor = LayoutEditor::create(cssAgent); |
| + else |
| + m_layoutEditor.clear(); |
| + |
| + m_overlayHost->setLayoutEditorListener(m_layoutEditor.get()); |
| +} |
| + |
| + |
| } // namespace blink |