Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1905)

Unified Diff: Source/web/InspectorOverlayImpl.cpp

Issue 1315283002: [DevTools] Reverse dependencies between InspectorOverlay and agents. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: more compile Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/web/InspectorOverlayImpl.h ('k') | Source/web/WebDevToolsAgentImpl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/InspectorOverlayImpl.cpp
diff --git a/Source/web/InspectorOverlayImpl.cpp b/Source/web/InspectorOverlayImpl.cpp
index 8dbf0ba632e7200523dffa4d6dcfbaebf10ae1df..0d6cfcb24cc21b8d0eaa67729f3abaf46f88cacd 100644
--- a/Source/web/InspectorOverlayImpl.cpp
+++ b/Source/web/InspectorOverlayImpl.cpp
@@ -37,6 +37,7 @@
#include "core/frame/LocalFrame.h"
#include "core/frame/Settings.h"
#include "core/input/EventHandler.h"
+#include "core/inspector/InspectorDebuggerAgent.h"
#include "core/inspector/InspectorOverlayHost.h"
#include "core/inspector/LayoutEditor.h"
#include "core/loader/EmptyClients.h"
@@ -57,37 +58,6 @@
namespace blink {
-namespace {
-
-class InspectorOverlayStub : public NoBaseWillBeGarbageCollectedFinalized<InspectorOverlayStub>, public InspectorOverlay {
- WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(InspectorOverlayStub);
- WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(InspectorOverlayStub);
-public:
- InspectorOverlayStub() { }
- DECLARE_TRACE();
-
- // InspectorOverlay implementation.
- void update() override { }
- void setPausedInDebuggerMessage(const String*) override { }
- void setInspectModeEnabled(bool) override { }
- void hideHighlight() override { }
- void highlightNode(Node*, Node* eventTarget, const InspectorHighlightConfig&, bool omitTooltip) override { }
- void highlightQuad(PassOwnPtr<FloatQuad>, const InspectorHighlightConfig&) override { }
- void showAndHideViewSize(bool showGrid) override { }
- void setListener(InspectorOverlay::Listener* listener) override { }
- void suspendUpdates() override { }
- void resumeUpdates() override { }
- void clear() override { }
- void setLayoutEditor(PassOwnPtrWillBeRawPtr<LayoutEditor>) override { }
-};
-
-DEFINE_TRACE(InspectorOverlayStub)
-{
- InspectorOverlay::trace(visitor);
-}
-
-} // anonymous namespace
-
class InspectorOverlayImpl::InspectorPageOverlayDelegate final : public PageOverlay::Delegate {
public:
explicit InspectorPageOverlayDelegate(InspectorOverlayImpl& overlay)
@@ -164,18 +134,13 @@ private:
};
-// static
-PassOwnPtrWillBeRawPtr<InspectorOverlay> InspectorOverlayImpl::createEmpty()
-{
- return adoptPtrWillBeNoop(new InspectorOverlayStub());
-}
-
InspectorOverlayImpl::InspectorOverlayImpl(WebViewImpl* webViewImpl)
: m_webViewImpl(webViewImpl)
, m_inspectModeEnabled(false)
, m_overlayHost(InspectorOverlayHost::create())
, m_drawViewSize(false)
, m_drawViewSizeWithGrid(false)
+ , m_resizeTimerActive(false)
, m_omitTooltip(false)
, m_timer(this, &InspectorOverlayImpl::onTimer)
, m_suspendCount(0)
@@ -197,9 +162,15 @@ DEFINE_TRACE(InspectorOverlayImpl)
visitor->trace(m_overlayPage);
visitor->trace(m_overlayChromeClient);
visitor->trace(m_overlayHost);
- visitor->trace(m_listener);
visitor->trace(m_layoutEditor);
- InspectorOverlay::trace(visitor);
+}
+
+void InspectorOverlayImpl::init(InspectorCSSAgent* cssAgent, InspectorDebuggerAgent* debuggerAgent)
+{
+ m_layoutEditor = LayoutEditor::create(cssAgent);
+ // TODO(dgozman): overlay should be a listener, not layout editor.
+ m_overlayHost->setLayoutEditorListener(m_layoutEditor.get());
+ m_debuggerAgent = debuggerAgent;
}
void InspectorOverlayImpl::invalidate()
@@ -297,19 +268,11 @@ void InspectorOverlayImpl::highlightQuad(PassOwnPtr<FloatQuad> quad, const Inspe
update();
}
-void InspectorOverlayImpl::showAndHideViewSize(bool showGrid)
-{
- m_drawViewSize = true;
- m_drawViewSizeWithGrid = showGrid;
- update();
- m_timer.startOneShot(1, FROM_HERE);
-}
-
bool InspectorOverlayImpl::isEmpty()
{
if (m_suspendCount)
return true;
- bool hasAlwaysVisibleElements = m_highlightNode || m_eventTargetNode || m_highlightQuad || m_drawViewSize;
+ bool hasAlwaysVisibleElements = m_highlightNode || m_eventTargetNode || m_highlightQuad || (m_resizeTimerActive && m_drawViewSize);
bool hasInvisibleInInspectModeElements = !m_pausedInDebuggerMessage.isNull();
return !(hasAlwaysVisibleElements || (hasInvisibleInInspectModeElements && !m_inspectModeEnabled));
}
@@ -388,7 +351,7 @@ void InspectorOverlayImpl::drawPausedInDebuggerMessage()
void InspectorOverlayImpl::drawViewSize()
{
- if (m_drawViewSize)
+ if (m_resizeTimerActive && m_drawViewSize)
evaluateInOverlay("drawViewSize", m_drawViewSizeWithGrid ? "true" : "false");
}
@@ -492,7 +455,7 @@ void InspectorOverlayImpl::evaluateInOverlay(const String& method, PassRefPtr<JS
void InspectorOverlayImpl::onTimer(Timer<InspectorOverlayImpl>*)
{
- m_drawViewSize = false;
+ m_resizeTimerActive = false;
update();
}
@@ -503,7 +466,7 @@ void InspectorOverlayImpl::clear()
m_overlayPage.clear();
m_overlayChromeClient.clear();
}
- m_drawViewSize = false;
+ m_resizeTimerActive = false;
m_pausedInDebuggerMessage = String();
m_inspectModeEnabled = false;
m_timer.stop();
@@ -512,31 +475,44 @@ void InspectorOverlayImpl::clear()
void InspectorOverlayImpl::overlayResumed()
{
- if (m_listener)
- m_listener->overlayResumed();
+ if (m_debuggerAgent) {
+ ErrorString error;
+ m_debuggerAgent->resume(&error);
+ }
}
void InspectorOverlayImpl::overlaySteppedOver()
{
- if (m_listener)
- m_listener->overlaySteppedOver();
+ if (m_debuggerAgent) {
+ ErrorString error;
+ m_debuggerAgent->stepOver(&error);
+ }
}
-void InspectorOverlayImpl::suspendUpdates()
+void InspectorOverlayImpl::profilingStarted()
{
if (!m_suspendCount++)
clear();
}
-void InspectorOverlayImpl::resumeUpdates()
+void InspectorOverlayImpl::profilingStopped()
{
--m_suspendCount;
}
-void InspectorOverlayImpl::setLayoutEditor(PassOwnPtrWillBeRawPtr<LayoutEditor> layoutEditor)
+void InspectorOverlayImpl::pageLayoutInvalidated(bool resized)
{
- m_layoutEditor = layoutEditor;
- m_overlayHost->setLayoutEditorListener(m_layoutEditor.get());
+ if (resized && m_drawViewSize) {
+ m_resizeTimerActive = true;
+ m_timer.startOneShot(1, FROM_HERE);
+ }
+ update();
+}
+
+void InspectorOverlayImpl::setShowViewportSizeOnResize(bool show, bool showGrid)
+{
+ m_drawViewSize = show;
+ m_drawViewSizeWithGrid = showGrid;
}
} // namespace blink
« no previous file with comments | « Source/web/InspectorOverlayImpl.h ('k') | Source/web/WebDevToolsAgentImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698