summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc61
1 files changed, 36 insertions, 25 deletions
diff --git a/chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc b/chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
index 45c81c83fb4..68112cb646e 100644
--- a/chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
+++ b/chromium/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
@@ -179,14 +179,12 @@ class ClientMessageLoopAdapter : public MainThreadDebugger::ClientMessageLoop {
}
}
- bool QuitForPageWait() {
- if (running_for_page_wait_) {
- running_for_page_wait_ = false;
- if (!running_for_debug_break_)
- DoQuit();
- return true;
- }
- return false;
+ void RunIfWaitingForDebugger(LocalFrame* frame) override {
+ if (!running_for_page_wait_)
+ return;
+ running_for_page_wait_ = false;
+ if (!running_for_debug_break_)
+ DoQuit();
}
void DoQuit() {
@@ -198,12 +196,6 @@ class ClientMessageLoopAdapter : public MainThreadDebugger::ClientMessageLoop {
WebFrameWidgetBase::SetIgnoreInputEvents(false);
}
- void RunIfWaitingForDebugger(LocalFrame* frame) override {
- // If we've paused for Page.waitForDebugger, handle it ourselves.
- if (QuitForPageWait())
- return;
- }
-
bool running_for_debug_break_;
bool running_for_page_wait_;
std::unique_ptr<Platform::NestedMessageLoopRunner> message_loop_;
@@ -252,6 +244,10 @@ void WebDevToolsAgentImpl::AttachSession(DevToolsSession* session,
session->V8Session());
session->Append(dom_debugger_agent);
+ InspectorPerformanceAgent* performance_agent =
+ MakeGarbageCollected<InspectorPerformanceAgent>(inspected_frames);
+ session->Append(performance_agent);
+
session->Append(MakeGarbageCollected<InspectorDOMSnapshotAgent>(
inspected_frames, dom_debugger_agent));
@@ -261,9 +257,6 @@ void WebDevToolsAgentImpl::AttachSession(DevToolsSession* session,
session->Append(MakeGarbageCollected<InspectorMemoryAgent>(inspected_frames));
session->Append(
- MakeGarbageCollected<InspectorPerformanceAgent>(inspected_frames));
-
- session->Append(
MakeGarbageCollected<InspectorApplicationCacheAgent>(inspected_frames));
auto* page_agent = MakeGarbageCollected<InspectorPageAgent>(
@@ -284,7 +277,9 @@ void WebDevToolsAgentImpl::AttachSession(DevToolsSession* session,
session->Append(
MakeGarbageCollected<InspectorIOAgent>(isolate, session->V8Session()));
- session->Append(MakeGarbageCollected<InspectorAuditsAgent>(network_agent));
+ session->Append(MakeGarbageCollected<InspectorAuditsAgent>(
+ network_agent,
+ &inspected_frames->Root()->GetPage()->GetInspectorIssueStorage()));
session->Append(MakeGarbageCollected<InspectorMediaAgent>(inspected_frames));
@@ -343,7 +338,7 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
WebDevToolsAgentImpl::~WebDevToolsAgentImpl() {}
-void WebDevToolsAgentImpl::Trace(blink::Visitor* visitor) {
+void WebDevToolsAgentImpl::Trace(Visitor* visitor) {
visitor->Trace(agent_);
visitor->Trace(network_agents_);
visitor->Trace(page_agents_);
@@ -379,11 +374,12 @@ void WebDevToolsAgentImpl::DetachSession(DevToolsSession* session) {
Thread::Current()->RemoveTaskObserver(this);
}
-void WebDevToolsAgentImpl::InspectElement(const WebPoint& point_in_local_root) {
- WebFloatRect rect(point_in_local_root.x, point_in_local_root.y, 0, 0);
+void WebDevToolsAgentImpl::InspectElement(
+ const gfx::Point& point_in_local_root) {
+ WebFloatRect rect(point_in_local_root.x(), point_in_local_root.y(), 0, 0);
web_local_frame_impl_->FrameWidgetImpl()->Client()->ConvertWindowToViewport(
&rect);
- WebPoint point(rect.x, rect.y);
+ gfx::PointF point(rect.x, rect.y);
HitTestRequest::HitTestRequestType hit_type =
HitTestRequest::kMove | HitTestRequest::kReadOnly |
@@ -392,7 +388,7 @@ void WebDevToolsAgentImpl::InspectElement(const WebPoint& point_in_local_root) {
WebMouseEvent dummy_event(WebInputEvent::kMouseDown,
WebInputEvent::kNoModifiers,
base::TimeTicks::Now());
- dummy_event.SetPositionInWidget(point.x, point.y);
+ dummy_event.SetPositionInWidget(point);
IntPoint transformed_point = FlooredIntPoint(
TransformWebMouseEvent(web_local_frame_impl_->GetFrameView(), dummy_event)
.PositionInRootFrame());
@@ -414,9 +410,13 @@ void WebDevToolsAgentImpl::InspectElement(const WebPoint& point_in_local_root) {
}
}
-void WebDevToolsAgentImpl::DebuggerTaskStarted() {}
+void WebDevToolsAgentImpl::DebuggerTaskStarted() {
+ probe::WillStartDebuggerTask(probe_sink_);
+}
-void WebDevToolsAgentImpl::DebuggerTaskFinished() {}
+void WebDevToolsAgentImpl::DebuggerTaskFinished() {
+ probe::DidFinishDebuggerTask(probe_sink_);
+}
void WebDevToolsAgentImpl::DidCommitLoadForLocalFrame(LocalFrame* frame) {
resource_container_->DidCommitLoadForLocalFrame(frame);
@@ -436,6 +436,17 @@ void WebDevToolsAgentImpl::PageLayoutInvalidated(bool resized) {
it.value->PageLayoutInvalidated(resized);
}
+void WebDevToolsAgentImpl::DidShowNewWindow() {
+ if (!wait_for_debugger_when_shown_)
+ return;
+ wait_for_debugger_when_shown_ = false;
+ WaitForDebugger();
+}
+
+void WebDevToolsAgentImpl::WaitForDebuggerWhenShown() {
+ wait_for_debugger_when_shown_ = true;
+}
+
void WebDevToolsAgentImpl::WaitForDebugger() {
ClientMessageLoopAdapter::PauseForPageWait(web_local_frame_impl_);
}