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

Unified Diff: Source/web/InspectorOverlayImpl.h

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/core/testing/Internals.cpp ('k') | Source/web/InspectorOverlayImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/InspectorOverlayImpl.h
diff --git a/Source/web/InspectorOverlayImpl.h b/Source/web/InspectorOverlayImpl.h
index d3db7c6bb344ead30eb3cc5c304110d8d4a31dc7..0a439e0eefb9081a81347fe15275cc7ae5cd6cbd 100644
--- a/Source/web/InspectorOverlayImpl.h
+++ b/Source/web/InspectorOverlayImpl.h
@@ -30,8 +30,11 @@
#define InspectorOverlayImpl_h
#include "core/InspectorTypeBuilder.h"
-#include "core/inspector/InspectorOverlay.h"
+#include "core/inspector/InspectorDOMAgent.h"
+#include "core/inspector/InspectorHighlight.h"
#include "core/inspector/InspectorOverlayHost.h"
+#include "core/inspector/InspectorPageAgent.h"
+#include "core/inspector/InspectorProfilerAgent.h"
#include "platform/Timer.h"
#include "platform/geometry/FloatQuad.h"
#include "platform/geometry/LayoutRect.h"
@@ -50,6 +53,8 @@ class EmptyChromeClient;
class LocalFrame;
class GraphicsContext;
class GraphicsLayer;
+class InspectorCSSAgent;
+class InspectorDebuggerAgent;
class JSONValue;
class LayoutEditor;
class Node;
@@ -57,13 +62,15 @@ class Page;
class PageOverlay;
class WebViewImpl;
-class InspectorOverlayImpl final : public NoBaseWillBeGarbageCollectedFinalized<InspectorOverlayImpl>, public InspectorOverlay, public InspectorOverlayHost::DebuggerListener {
+class InspectorOverlayImpl final
+ : public NoBaseWillBeGarbageCollectedFinalized<InspectorOverlayImpl>
+ , public InspectorDOMAgent::Client
+ , public InspectorPageAgent::Client
+ , public InspectorProfilerAgent::Client
+ , public InspectorOverlayHost::DebuggerListener {
WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(InspectorOverlayImpl);
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(InspectorOverlayImpl);
public:
- // FIXME: remove this once overlay works for non-main frame.
- static PassOwnPtrWillBeRawPtr<InspectorOverlay> createEmpty();
-
static PassOwnPtrWillBeRawPtr<InspectorOverlayImpl> create(WebViewImpl* webViewImpl)
{
return adoptPtrWillBeNoop(new InspectorOverlayImpl(webViewImpl));
@@ -72,31 +79,38 @@ public:
~InspectorOverlayImpl() override;
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 { m_listener = listener; }
- void suspendUpdates() override;
- void resumeUpdates() override;
- void clear() override;
- void setLayoutEditor(PassOwnPtrWillBeRawPtr<LayoutEditor>) override;
+ void init(InspectorCSSAgent*, InspectorDebuggerAgent*);
+ void update();
+ void clear();
bool handleInputEvent(const WebInputEvent&);
void layout();
PageOverlay* pageOverlay() { return m_pageOverlay.get(); };
+
private:
explicit InspectorOverlayImpl(WebViewImpl*);
class InspectorOverlayChromeClient;
class InspectorPageOverlayDelegate;
+
// InspectorOverlayHost::DebuggerListener implementation.
void overlayResumed() override;
void overlaySteppedOver() override;
+ // InspectorProfilerAgent::Client implementation.
+ void profilingStarted() override;
+ void profilingStopped() override;
+
+ // InspectorPageAgent::Client implementation.
+ void pageLayoutInvalidated(bool resized) override;
+ void setShowViewportSizeOnResize(bool show, bool showGrid) override;
+ void setPausedInDebuggerMessage(const String*) override;
+
+ // InspectorDOMAgent::Client implementation.
+ void setInspectModeEnabled(bool) override;
+ void hideHighlight() override;
+ void highlightNode(Node*, Node* eventTarget, const InspectorHighlightConfig&, bool omitTooltip) override;
+ void highlightQuad(PassOwnPtr<FloatQuad>, const InspectorHighlightConfig&) override;
+
bool isEmpty();
void drawNodeHighlight();
void drawQuadHighlight();
@@ -125,12 +139,13 @@ private:
InspectorHighlightConfig m_quadHighlightConfig;
bool m_drawViewSize;
bool m_drawViewSizeWithGrid;
+ bool m_resizeTimerActive;
bool m_omitTooltip;
Timer<InspectorOverlayImpl> m_timer;
int m_suspendCount;
bool m_inLayout;
bool m_needsUpdate;
- RawPtrWillBeMember<InspectorOverlay::Listener> m_listener;
+ RawPtrWillBeMember<InspectorDebuggerAgent> m_debuggerAgent;
OwnPtrWillBeMember<LayoutEditor> m_layoutEditor;
OwnPtr<PageOverlay> m_pageOverlay;
};
« no previous file with comments | « Source/core/testing/Internals.cpp ('k') | Source/web/InspectorOverlayImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698