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

Unified Diff: third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp

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
Index: third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
diff --git a/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp b/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
index b2577a4286afab7cfab5beb6f83f126df13c4adf..3609203d4b69af7d0ef0375603657efcfdb5d76f 100644
--- a/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
+++ b/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
@@ -84,7 +84,8 @@
#include "public/web/WebSettings.h"
#include "web/DevToolsEmulator.h"
#include "web/InspectorEmulationAgent.h"
-#include "web/InspectorOverlayAgent.h"
+#include "web/InspectorOverlay.h"
+#include "web/InspectorRenderingAgent.h"
#include "web/WebFrameWidgetImpl.h"
#include "web/WebInputEventConversion.h"
#include "web/WebLocalFrameImpl.h"
@@ -232,9 +233,11 @@
WebDevToolsAgentImpl* WebDevToolsAgentImpl::Create(
WebLocalFrameImpl* frame,
WebDevToolsAgentClient* client) {
+ InspectorOverlay* overlay = new InspectorOverlay(frame);
+
if (!IsMainFrame(frame)) {
WebDevToolsAgentImpl* agent =
- new WebDevToolsAgentImpl(frame, client, false);
+ new WebDevToolsAgentImpl(frame, client, overlay, false);
if (frame->FrameWidget())
agent->LayerTreeViewChanged(
ToWebFrameWidgetImpl(frame->FrameWidget())->LayerTreeView());
@@ -242,7 +245,8 @@
}
WebViewImpl* view = frame->ViewImpl();
- WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, true);
+ WebDevToolsAgentImpl* agent =
+ new WebDevToolsAgentImpl(frame, client, overlay, true);
agent->LayerTreeViewChanged(view->LayerTreeView());
return agent;
}
@@ -250,6 +254,7 @@
WebDevToolsAgentImpl::WebDevToolsAgentImpl(
WebLocalFrameImpl* web_local_frame_impl,
WebDevToolsAgentClient* client,
+ InspectorOverlay* overlay,
bool include_view_agents)
: client_(client),
web_local_frame_impl_(web_local_frame_impl),
@@ -257,15 +262,16 @@
web_local_frame_impl_->GetFrame()->InstrumentingAgents()),
resource_content_loader_(InspectorResourceContentLoader::Create(
web_local_frame_impl_->GetFrame())),
+ overlay_(overlay),
inspected_frames_(
InspectedFrames::Create(web_local_frame_impl_->GetFrame())),
resource_container_(new InspectorResourceContainer(inspected_frames_)),
+ dom_agent_(nullptr),
page_agent_(nullptr),
network_agent_(nullptr),
layer_tree_agent_(nullptr),
tracing_agent_(nullptr),
trace_events_agent_(new InspectorTraceEvents()),
- overlay_agent_(nullptr),
include_view_agents_(include_view_agents),
layer_tree_id_(0) {
DCHECK(IsMainThread());
@@ -281,14 +287,15 @@
visitor->Trace(web_local_frame_impl_);
visitor->Trace(instrumenting_agents_);
visitor->Trace(resource_content_loader_);
+ visitor->Trace(overlay_);
visitor->Trace(inspected_frames_);
visitor->Trace(resource_container_);
+ visitor->Trace(dom_agent_);
visitor->Trace(page_agent_);
visitor->Trace(network_agent_);
visitor->Trace(layer_tree_agent_);
visitor->Trace(tracing_agent_);
visitor->Trace(trace_events_agent_);
- visitor->Trace(overlay_agent_);
visitor->Trace(session_);
}
@@ -316,7 +323,8 @@
main_thread_debugger->ContextGroupId(inspected_frames_->Root()), state);
InspectorDOMAgent* dom_agent = new InspectorDOMAgent(
- isolate, inspected_frames_.Get(), session_->V8Session());
+ isolate, inspected_frames_.Get(), session_->V8Session(), overlay_.Get());
+ dom_agent_ = dom_agent;
session_->Append(dom_agent);
InspectorLayerTreeAgent* layer_tree_agent =
@@ -330,7 +338,7 @@
session_->Append(network_agent);
InspectorCSSAgent* css_agent = InspectorCSSAgent::Create(
- dom_agent, inspected_frames_.Get(), network_agent_,
+ dom_agent_, inspected_frames_.Get(), network_agent_,
resource_content_loader_.Get(), resource_container_.Get());
session_->Append(css_agent);
@@ -354,8 +362,8 @@
tracing_agent_ = tracing_agent;
session_->Append(tracing_agent);
- session_->Append(
- new InspectorDOMDebuggerAgent(isolate, dom_agent, session_->V8Session()));
+ session_->Append(new InspectorDOMDebuggerAgent(isolate, dom_agent_,
+ session_->V8Session()));
session_->Append(InspectorInputAgent::Create(inspected_frames_.Get()));
@@ -372,12 +380,6 @@
session_->Append(
new DeviceOrientationInspectorAgent(inspected_frames_.Get()));
- InspectorOverlayAgent* overlay_agent =
- new InspectorOverlayAgent(web_local_frame_impl_, inspected_frames_.Get(),
- session_->V8Session(), dom_agent);
- overlay_agent_ = overlay_agent;
- session_->Append(overlay_agent);
-
tracing_agent_->SetLayerTreeId(layer_tree_id_);
network_agent_->SetHostId(host_id);
@@ -385,26 +387,34 @@
// TODO(dgozman): we should actually pass the view instead of frame, but
// during remote->local transition we cannot access mainFrameImpl() yet, so
// we have to store the frame which will become the main frame later.
+ session_->Append(
+ InspectorRenderingAgent::Create(web_local_frame_impl_, overlay_.Get()));
session_->Append(
InspectorEmulationAgent::Create(web_local_frame_impl_, this));
// TODO(dgozman): migrate each of the following agents to frame once module
// is ready.
Page* page = web_local_frame_impl_->ViewImpl()->GetPage();
session_->Append(InspectorDatabaseAgent::Create(page));
- session_->Append(new InspectorAccessibilityAgent(page, dom_agent));
+ session_->Append(new InspectorAccessibilityAgent(page, dom_agent_));
session_->Append(InspectorDOMStorageAgent::Create(page));
session_->Append(InspectorCacheStorageAgent::Create());
}
+ if (overlay_)
+ overlay_->Init(session_->V8Session(), dom_agent_);
+
Platform::Current()->CurrentThread()->AddTaskObserver(this);
}
void WebDevToolsAgentImpl::DestroySession() {
- overlay_agent_.Clear();
+ if (overlay_)
+ overlay_->Clear();
+
tracing_agent_.Clear();
layer_tree_agent_.Clear();
network_agent_.Clear();
page_agent_.Clear();
+ dom_agent_.Clear();
session_->Dispose();
session_.Clear();
@@ -487,13 +497,13 @@
}
void WebDevToolsAgentImpl::ShowReloadingBlanket() {
- if (overlay_agent_)
- overlay_agent_->ShowReloadingBlanket();
+ if (overlay_)
+ overlay_->ShowReloadingBlanket();
}
void WebDevToolsAgentImpl::HideReloadingBlanket() {
- if (overlay_agent_)
- overlay_agent_->HideReloadingBlanket();
+ if (overlay_)
+ overlay_->HideReloadingBlanket();
}
void WebDevToolsAgentImpl::SetCPUThrottlingRate(double rate) {
@@ -527,7 +537,7 @@
void WebDevToolsAgentImpl::InspectElementAt(
int session_id,
const WebPoint& point_in_root_frame) {
- if (!overlay_agent_ || !session_ || session_->SessionId() != session_id)
+ if (!dom_agent_ || !session_ || session_->SessionId() != session_id)
return;
HitTestRequest::HitTestRequestType hit_type =
HitTestRequest::kMove | HitTestRequest::kReadOnly |
@@ -547,7 +557,7 @@
Node* node = result.InnerNode();
if (!node && web_local_frame_impl_->GetFrame()->GetDocument())
node = web_local_frame_impl_->GetFrame()->GetDocument()->documentElement();
- overlay_agent_->Inspect(node);
+ dom_agent_->Inspect(node);
}
void WebDevToolsAgentImpl::FailedToRequestDevTools() {
@@ -564,8 +574,19 @@
}
void WebDevToolsAgentImpl::PageLayoutInvalidated(bool resized) {
- if (overlay_agent_)
- overlay_agent_->PageLayoutInvalidated(resized);
+ if (overlay_)
+ overlay_->PageLayoutInvalidated(resized);
+}
+
+void WebDevToolsAgentImpl::ConfigureOverlay(bool suspended,
+ const String& message) {
+ if (!overlay_)
+ return;
+ overlay_->SetPausedInDebuggerMessage(message);
+ if (suspended)
+ overlay_->Suspend();
+ else
+ overlay_->Resume();
}
void WebDevToolsAgentImpl::WaitForCreateWindow(LocalFrame* frame) {
@@ -578,10 +599,10 @@
WebString WebDevToolsAgentImpl::EvaluateInWebInspectorOverlay(
const WebString& script) {
- if (!overlay_agent_)
+ if (!overlay_)
return WebString();
- return overlay_agent_->EvaluateInOverlayForTest(script);
+ return overlay_->EvaluateInOverlayForTest(script);
}
bool WebDevToolsAgentImpl::CacheDisabled() {
« no previous file with comments | « third_party/WebKit/Source/web/WebDevToolsAgentImpl.h ('k') | third_party/WebKit/Source/web/WebFrameWidgetImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698