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 |