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

Unified Diff: content/browser/devtools/protocol/target_handler.cc

Issue 2387773003: [DevTools] Support Target.setWaitForDebuggerOnStart. (Closed)
Patch Set: cleanup Created 4 years, 3 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 | « content/browser/devtools/protocol/target_handler.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/protocol/target_handler.cc
diff --git a/content/browser/devtools/protocol/target_handler.cc b/content/browser/devtools/protocol/target_handler.cc
index ffd83ae259e574e3336dd500d12faa608a4bf1d3..d8f88d2098ff74edc2b9294ffeabd1c547deb819 100644
--- a/content/browser/devtools/protocol/target_handler.cc
+++ b/content/browser/devtools/protocol/target_handler.cc
@@ -87,6 +87,7 @@ ServiceWorkerDevToolsAgentHost::Map GetMatchingServiceWorkers(
TargetHandler::TargetHandler()
: enabled_(false),
+ wait_for_debugger_on_start_(false),
render_frame_host_(nullptr) {
}
@@ -107,6 +108,10 @@ void TargetHandler::Detached() {
}
void TargetHandler::UpdateServiceWorkers() {
+ UpdateServiceWorkers(false);
+}
+
+void TargetHandler::UpdateServiceWorkers(bool waiting_for_debugger) {
if (!enabled_)
return;
@@ -135,7 +140,7 @@ void TargetHandler::UpdateServiceWorkers() {
for (const auto& pair : new_hosts) {
if (old_hosts.find(pair.first) == old_hosts.end())
- AttachToTargetInternal(pair.second.get(), true);
+ AttachToTargetInternal(pair.second.get(), waiting_for_debugger);
}
}
@@ -177,6 +182,7 @@ Response TargetHandler::Disable() {
if (!enabled_)
return Response::OK();
enabled_ = false;
+ wait_for_debugger_on_start_ = false;
ServiceWorkerDevToolsManager::GetInstance()->RemoveObserver(this);
for (const auto& pair : attached_hosts_)
pair.second->DetachClient(this);
@@ -185,7 +191,7 @@ Response TargetHandler::Disable() {
}
Response TargetHandler::SetWaitForDebuggerOnStart(bool value) {
- // TODO(dgozman): implement this.
+ wait_for_debugger_on_start_ = value;
return Response::OK();
}
@@ -255,7 +261,7 @@ void TargetHandler::WorkerCreated(
browser_context = render_frame_host_->GetProcess()->GetBrowserContext();
auto hosts = GetMatchingServiceWorkers(browser_context, frame_urls_);
if (hosts.find(host->GetId()) != hosts.end() && !host->IsAttached() &&
- !host->IsPausedForDebugOnStart()) {
+ !host->IsPausedForDebugOnStart() && wait_for_debugger_on_start_) {
host->PauseForDebugOnStart();
}
}
@@ -268,7 +274,7 @@ void TargetHandler::WorkerReadyForInspection(
// be opened in ServiceWorkerDevToolsManager::WorkerReadyForInspection.
return;
}
- UpdateServiceWorkers();
+ UpdateServiceWorkers(host->IsPausedForDebugOnStart());
}
void TargetHandler::WorkerVersionInstalled(
« no previous file with comments | « content/browser/devtools/protocol/target_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698