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

Unified Diff: third_party/WebKit/Source/web/InspectorOverlayAgent.h

Issue 2819183002: [DevTools] Consolidate overlay-related functionality in Overlay domain (Closed)
Patch Set: rebased bad merge Created 3 years, 8 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
Index: third_party/WebKit/Source/web/InspectorOverlayAgent.h
diff --git a/third_party/WebKit/Source/web/InspectorOverlay.h b/third_party/WebKit/Source/web/InspectorOverlayAgent.h
similarity index 55%
rename from third_party/WebKit/Source/web/InspectorOverlay.h
rename to third_party/WebKit/Source/web/InspectorOverlayAgent.h
index 6cc0a65135893c29a84184d732aba2f407628b6b..b61ccd555401d000b997e570a5447c15538f41ff 100644
--- a/third_party/WebKit/Source/web/InspectorOverlay.h
+++ b/third_party/WebKit/Source/web/InspectorOverlayAgent.h
@@ -26,14 +26,15 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef InspectorOverlay_h
-#define InspectorOverlay_h
+#ifndef InspectorOverlayAgent_h
+#define InspectorOverlayAgent_h
#include <v8-inspector.h>
#include <memory>
-#include "core/inspector/InspectorDOMAgent.h"
+#include "core/inspector/InspectorBaseAgent.h"
+#include "core/inspector/InspectorHighlight.h"
#include "core/inspector/InspectorOverlayHost.h"
-#include "core/inspector/protocol/Forward.h"
+#include "core/inspector/protocol/Overlay.h"
#include "platform/Timer.h"
#include "platform/geometry/FloatQuad.h"
#include "platform/geometry/LayoutRect.h"
@@ -46,6 +47,8 @@
namespace blink {
class Color;
+class InspectedFrames;
+class InspectorDOMAgent;
class LocalFrame;
class Node;
class Page;
@@ -55,36 +58,70 @@ class WebMouseEvent;
class WebLocalFrameImpl;
class WebTouchEvent;
-namespace protocol {
-class Value;
-}
-
-class InspectorOverlay final
- : public GarbageCollectedFinalized<InspectorOverlay>,
- public InspectorDOMAgent::Client,
+class InspectorOverlayAgent final
+ : public InspectorBaseAgent<protocol::Overlay::Metainfo>,
public InspectorOverlayHost::Listener {
- USING_GARBAGE_COLLECTED_MIXIN(InspectorOverlay);
+ WTF_MAKE_NONCOPYABLE(InspectorOverlayAgent);
+ USING_GARBAGE_COLLECTED_MIXIN(InspectorOverlayAgent);
public:
- explicit InspectorOverlay(WebLocalFrameImpl*);
- ~InspectorOverlay() override;
+ InspectorOverlayAgent(WebLocalFrameImpl*,
+ InspectedFrames*,
+ v8_inspector::V8InspectorSession*,
+ InspectorDOMAgent*);
+ ~InspectorOverlayAgent() override;
DECLARE_TRACE();
- void Init(v8_inspector::V8InspectorSession*, InspectorDOMAgent*);
+ // protocol::Dispatcher::OverlayCommandHandler implementation.
+ protocol::Response enable() override;
+ protocol::Response disable() override;
+ protocol::Response setShowPaintRects(bool) override;
+ protocol::Response setShowDebugBorders(bool) override;
+ protocol::Response setShowFPSCounter(bool) override;
+ protocol::Response setShowScrollBottleneckRects(bool) override;
+ protocol::Response setShowViewportSizeOnResize(bool) override;
+ protocol::Response setPausedInDebuggerMessage(
+ protocol::Maybe<String>) override;
+ protocol::Response setSuspended(bool) override;
+ protocol::Response setInspectMode(
+ const String& mode,
+ protocol::Maybe<protocol::Overlay::HighlightConfig>) override;
+ protocol::Response highlightRect(
+ int x,
+ int y,
+ int width,
+ int height,
+ protocol::Maybe<protocol::DOM::RGBA> color,
+ protocol::Maybe<protocol::DOM::RGBA> outline_color) override;
+ protocol::Response highlightQuad(
+ std::unique_ptr<protocol::Array<double>> quad,
+ protocol::Maybe<protocol::DOM::RGBA> color,
+ protocol::Maybe<protocol::DOM::RGBA> outline_color) override;
+ protocol::Response highlightNode(
+ std::unique_ptr<protocol::Overlay::HighlightConfig>,
+ protocol::Maybe<int> node_id,
+ protocol::Maybe<int> backend_node_id,
+ protocol::Maybe<String> object_id) override;
+ protocol::Response hideHighlight() override;
+ protocol::Response highlightFrame(
+ const String& frame_id,
+ protocol::Maybe<protocol::DOM::RGBA> content_color,
+ protocol::Maybe<protocol::DOM::RGBA> content_outline_color) override;
+ protocol::Response getHighlightObjectForTest(
+ int node_id,
+ std::unique_ptr<protocol::DictionaryValue>* highlight) override;
+
+ // InspectorBaseAgent overrides.
+ void Restore() override;
+ void Dispose() override;
- void Clear();
- void Suspend();
- void Resume();
+ void Inspect(Node*);
bool HandleInputEvent(const WebInputEvent&);
void PageLayoutInvalidated(bool resized);
- void SetShowViewportSizeOnResize(bool);
void ShowReloadingBlanket();
void HideReloadingBlanket();
- void SetPausedInDebuggerMessage(const String&);
-
// Does not yet include paint.
void UpdateAllLifecyclePhases();
-
PageOverlay* GetPageOverlay() { return page_overlay_.get(); };
String EvaluateInOverlayForTest(const String&);
@@ -92,24 +129,16 @@ class InspectorOverlay final
class InspectorOverlayChromeClient;
class InspectorPageOverlayDelegate;
+ enum SearchMode {
+ kNotSearching,
+ kSearchingForNormal,
+ kSearchingForUAShadow,
+ };
+
// InspectorOverlayHost::Listener implementation.
void OverlayResumed() override;
void OverlaySteppedOver() override;
- // InspectorDOMAgent::Client implementation.
- void HideHighlight() override;
- void HighlightNode(Node*,
- const InspectorHighlightConfig&,
- bool omit_tooltip) override;
- void HighlightQuad(std::unique_ptr<FloatQuad>,
- const InspectorHighlightConfig&) override;
- void SetInspectMode(InspectorDOMAgent::SearchMode,
- std::unique_ptr<InspectorHighlightConfig>) override;
-
- void HighlightNode(Node*,
- Node* event_target,
- const InspectorHighlightConfig&,
- bool omit_tooltip);
bool IsEmpty();
void DrawNodeHighlight();
void DrawQuadHighlight();
@@ -136,10 +165,30 @@ class InspectorOverlay final
bool HandleGestureEvent(const WebGestureEvent&);
bool HandleTouchEvent(const WebTouchEvent&);
bool HandleMouseMove(const WebMouseEvent&);
+
+ protocol::Response CompositingEnabled();
+
bool ShouldSearchForNode();
- void Inspect(Node*);
+ void NodeHighlightRequested(Node*);
+ protocol::Response SetSearchingForNode(
+ SearchMode,
+ protocol::Maybe<protocol::Overlay::HighlightConfig>);
+ protocol::Response HighlightConfigFromInspectorObject(
+ protocol::Maybe<protocol::Overlay::HighlightConfig>
+ highlight_inspector_object,
+ std::unique_ptr<InspectorHighlightConfig>*);
+ void InnerHighlightQuad(std::unique_ptr<FloatQuad>,
+ protocol::Maybe<protocol::DOM::RGBA> color,
+ protocol::Maybe<protocol::DOM::RGBA> outline_color);
+ void InnerHighlightNode(Node*,
+ Node* event_target,
+ const InspectorHighlightConfig&,
+ bool omit_tooltip);
+ void InnerHideHighlight();
Member<WebLocalFrameImpl> frame_impl_;
+ Member<InspectedFrames> inspected_frames_;
+ bool enabled_;
String paused_in_debugger_message_;
Member<Node> highlight_node_;
Member<Node> event_target_node_;
@@ -148,11 +197,12 @@ class InspectorOverlay final
Member<Page> overlay_page_;
Member<InspectorOverlayChromeClient> overlay_chrome_client_;
Member<InspectorOverlayHost> overlay_host_;
- InspectorHighlightConfig quad_highlight_config_;
+ Color quad_content_color_;
+ Color quad_content_outline_color_;
bool draw_view_size_;
bool resize_timer_active_;
bool omit_tooltip_;
- TaskRunnerTimer<InspectorOverlay> timer_;
+ TaskRunnerTimer<InspectorOverlayAgent> timer_;
bool suspended_;
bool show_reloading_blanket_;
bool in_layout_;
@@ -162,10 +212,11 @@ class InspectorOverlay final
std::unique_ptr<PageOverlay> page_overlay_;
Member<Node> hovered_node_for_inspect_mode_;
bool swallow_next_mouse_up_;
- InspectorDOMAgent::SearchMode inspect_mode_;
+ SearchMode inspect_mode_;
std::unique_ptr<InspectorHighlightConfig> inspect_mode_highlight_config_;
+ int backend_node_id_to_inspect_;
};
} // namespace blink
-#endif // InspectorOverlay_h
+#endif // InspectorOverlayAgent_h
« no previous file with comments | « third_party/WebKit/Source/web/InspectorOverlay.cpp ('k') | third_party/WebKit/Source/web/InspectorOverlayAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698