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

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

Issue 2835843002: Revert of [DevTools] Consolidate overlay-related functionality in Overlay domain (Closed)
Patch Set: 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
« no previous file with comments | « third_party/WebKit/Source/web/BUILD.gn ('k') | third_party/WebKit/Source/web/InspectorOverlay.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/web/InspectorOverlay.h
diff --git a/third_party/WebKit/Source/web/InspectorOverlay.h b/third_party/WebKit/Source/web/InspectorOverlay.h
new file mode 100644
index 0000000000000000000000000000000000000000..6cc0a65135893c29a84184d732aba2f407628b6b
--- /dev/null
+++ b/third_party/WebKit/Source/web/InspectorOverlay.h
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef InspectorOverlay_h
+#define InspectorOverlay_h
+
+#include <v8-inspector.h>
+#include <memory>
+#include "core/inspector/InspectorDOMAgent.h"
+#include "core/inspector/InspectorOverlayHost.h"
+#include "core/inspector/protocol/Forward.h"
+#include "platform/Timer.h"
+#include "platform/geometry/FloatQuad.h"
+#include "platform/geometry/LayoutRect.h"
+#include "platform/graphics/Color.h"
+#include "platform/heap/Handle.h"
+#include "platform/wtf/RefPtr.h"
+#include "platform/wtf/text/WTFString.h"
+#include "public/platform/WebInputEvent.h"
+
+namespace blink {
+
+class Color;
+class LocalFrame;
+class Node;
+class Page;
+class PageOverlay;
+class WebGestureEvent;
+class WebMouseEvent;
+class WebLocalFrameImpl;
+class WebTouchEvent;
+
+namespace protocol {
+class Value;
+}
+
+class InspectorOverlay final
+ : public GarbageCollectedFinalized<InspectorOverlay>,
+ public InspectorDOMAgent::Client,
+ public InspectorOverlayHost::Listener {
+ USING_GARBAGE_COLLECTED_MIXIN(InspectorOverlay);
+
+ public:
+ explicit InspectorOverlay(WebLocalFrameImpl*);
+ ~InspectorOverlay() override;
+ DECLARE_TRACE();
+
+ void Init(v8_inspector::V8InspectorSession*, InspectorDOMAgent*);
+
+ void Clear();
+ void Suspend();
+ void Resume();
+ 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&);
+
+ private:
+ class InspectorOverlayChromeClient;
+ class InspectorPageOverlayDelegate;
+
+ // 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();
+ void DrawPausedInDebuggerMessage();
+ void DrawViewSize();
+
+ float WindowToViewportScale() const;
+
+ Page* OverlayPage();
+ LocalFrame* OverlayMainFrame();
+ void Reset(const IntSize& viewport_size,
+ const IntPoint& document_scroll_offset);
+ void EvaluateInOverlay(const String& method, const String& argument);
+ void EvaluateInOverlay(const String& method,
+ std::unique_ptr<protocol::Value> argument);
+ void OnTimer(TimerBase*);
+ void RebuildOverlayPage();
+ void Invalidate();
+ void ScheduleUpdate();
+ void ClearInternal();
+
+ bool HandleMouseDown();
+ bool HandleMouseUp();
+ bool HandleGestureEvent(const WebGestureEvent&);
+ bool HandleTouchEvent(const WebTouchEvent&);
+ bool HandleMouseMove(const WebMouseEvent&);
+ bool ShouldSearchForNode();
+ void Inspect(Node*);
+
+ Member<WebLocalFrameImpl> frame_impl_;
+ String paused_in_debugger_message_;
+ Member<Node> highlight_node_;
+ Member<Node> event_target_node_;
+ InspectorHighlightConfig node_highlight_config_;
+ std::unique_ptr<FloatQuad> highlight_quad_;
+ Member<Page> overlay_page_;
+ Member<InspectorOverlayChromeClient> overlay_chrome_client_;
+ Member<InspectorOverlayHost> overlay_host_;
+ InspectorHighlightConfig quad_highlight_config_;
+ bool draw_view_size_;
+ bool resize_timer_active_;
+ bool omit_tooltip_;
+ TaskRunnerTimer<InspectorOverlay> timer_;
+ bool suspended_;
+ bool show_reloading_blanket_;
+ bool in_layout_;
+ bool needs_update_;
+ v8_inspector::V8InspectorSession* v8_session_;
+ Member<InspectorDOMAgent> dom_agent_;
+ std::unique_ptr<PageOverlay> page_overlay_;
+ Member<Node> hovered_node_for_inspect_mode_;
+ bool swallow_next_mouse_up_;
+ InspectorDOMAgent::SearchMode inspect_mode_;
+ std::unique_ptr<InspectorHighlightConfig> inspect_mode_highlight_config_;
+};
+
+} // namespace blink
+
+#endif // InspectorOverlay_h
« no previous file with comments | « third_party/WebKit/Source/web/BUILD.gn ('k') | third_party/WebKit/Source/web/InspectorOverlay.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698