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

Unified Diff: content/browser/service_worker/service_worker_context_watcher.cc

Issue 2365053002: Notify ServiceWorkerContextWatcher about routing ids of ServiceWorkerVersion and their updates. (Closed)
Patch Set: live updates 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
Index: content/browser/service_worker/service_worker_context_watcher.cc
diff --git a/content/browser/service_worker/service_worker_context_watcher.cc b/content/browser/service_worker/service_worker_context_watcher.cc
index 4309b0a18de01ea68a51504c15185edcbfc67ac2..69b992f7e536386799185f2db9a6a5520449b022 100644
--- a/content/browser/service_worker/service_worker_context_watcher.cc
+++ b/content/browser/service_worker/service_worker_context_watcher.cc
@@ -165,20 +165,17 @@ void ServiceWorkerContextWatcher::OnNewLiveRegistration(int64_t registration_id,
ServiceWorkerRegistrationInfo::IS_NOT_DELETED);
}
-void ServiceWorkerContextWatcher::OnNewLiveVersion(int64_t version_id,
- int64_t registration_id,
- const GURL& script_url) {
+void ServiceWorkerContextWatcher::OnNewLiveVersion(
+ const ServiceWorkerVersionInfo& version_info) {
+ int64_t version_id = version_info.version_id;
if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id)) {
- DCHECK_EQ(version->registration_id, registration_id);
- DCHECK_EQ(version->script_url, script_url);
+ DCHECK_EQ(version->registration_id, version_info.registration_id);
+ DCHECK_EQ(version->script_url, version_info.script_url);
return;
}
std::unique_ptr<ServiceWorkerVersionInfo> version(
- new ServiceWorkerVersionInfo());
- version->version_id = version_id;
- version->registration_id = registration_id;
- version->script_url = script_url;
+ new ServiceWorkerVersionInfo(version_info));
SendVersionInfo(*version);
if (!IsStoppedAndRedundant(*version))
version_info_map_.set(version_id, std::move(version));
@@ -210,6 +207,23 @@ void ServiceWorkerContextWatcher::OnVersionStateChanged(
version_info_map_.erase(version_id);
}
+void ServiceWorkerContextWatcher::OnVersionRoutingIdsChanged(
horo 2016/09/26 01:30:05 OnVersionDevToolsRoutingIdChanged
dgozman 2016/09/26 15:49:12 Done.
+ int64_t version_id,
+ int process_id,
+ int devtools_agent_route_id) {
+ ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
+ DCHECK(version);
+ if (version->process_id == process_id &&
+ version->devtools_agent_route_id == devtools_agent_route_id) {
+ return;
+ }
+ version->process_id = process_id;
+ version->devtools_agent_route_id = devtools_agent_route_id;
+ SendVersionInfo(*version);
+ if (IsStoppedAndRedundant(*version))
+ version_info_map_.erase(version_id);
+}
+
void ServiceWorkerContextWatcher::OnMainScriptHttpResponseInfoSet(
int64_t version_id,
base::Time script_response_time,

Powered by Google App Engine
This is Rietveld 408576698