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

Side by Side 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, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/service_worker/service_worker_context_watcher.h" 5 #include "content/browser/service_worker/service_worker_context_watcher.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/containers/scoped_ptr_hash_map.h" 10 #include "base/containers/scoped_ptr_hash_map.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 158 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
159 base::Bind(version_callback_, versions)); 159 base::Bind(version_callback_, versions));
160 } 160 }
161 161
162 void ServiceWorkerContextWatcher::OnNewLiveRegistration(int64_t registration_id, 162 void ServiceWorkerContextWatcher::OnNewLiveRegistration(int64_t registration_id,
163 const GURL& pattern) { 163 const GURL& pattern) {
164 SendRegistrationInfo(registration_id, pattern, 164 SendRegistrationInfo(registration_id, pattern,
165 ServiceWorkerRegistrationInfo::IS_NOT_DELETED); 165 ServiceWorkerRegistrationInfo::IS_NOT_DELETED);
166 } 166 }
167 167
168 void ServiceWorkerContextWatcher::OnNewLiveVersion(int64_t version_id, 168 void ServiceWorkerContextWatcher::OnNewLiveVersion(
169 int64_t registration_id, 169 const ServiceWorkerVersionInfo& version_info) {
170 const GURL& script_url) { 170 int64_t version_id = version_info.version_id;
171 if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id)) { 171 if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id)) {
172 DCHECK_EQ(version->registration_id, registration_id); 172 DCHECK_EQ(version->registration_id, version_info.registration_id);
173 DCHECK_EQ(version->script_url, script_url); 173 DCHECK_EQ(version->script_url, version_info.script_url);
174 return; 174 return;
175 } 175 }
176 176
177 std::unique_ptr<ServiceWorkerVersionInfo> version( 177 std::unique_ptr<ServiceWorkerVersionInfo> version(
178 new ServiceWorkerVersionInfo()); 178 new ServiceWorkerVersionInfo(version_info));
179 version->version_id = version_id;
180 version->registration_id = registration_id;
181 version->script_url = script_url;
182 SendVersionInfo(*version); 179 SendVersionInfo(*version);
183 if (!IsStoppedAndRedundant(*version)) 180 if (!IsStoppedAndRedundant(*version))
184 version_info_map_.set(version_id, std::move(version)); 181 version_info_map_.set(version_id, std::move(version));
185 } 182 }
186 183
187 void ServiceWorkerContextWatcher::OnRunningStateChanged( 184 void ServiceWorkerContextWatcher::OnRunningStateChanged(
188 int64_t version_id, 185 int64_t version_id,
189 content::EmbeddedWorkerStatus running_status) { 186 content::EmbeddedWorkerStatus running_status) {
190 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id); 187 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
191 DCHECK(version); 188 DCHECK(version);
(...skipping 11 matching lines...) Expand all
203 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id); 200 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
204 DCHECK(version); 201 DCHECK(version);
205 if (version->status == status) 202 if (version->status == status)
206 return; 203 return;
207 version->status = status; 204 version->status = status;
208 SendVersionInfo(*version); 205 SendVersionInfo(*version);
209 if (IsStoppedAndRedundant(*version)) 206 if (IsStoppedAndRedundant(*version))
210 version_info_map_.erase(version_id); 207 version_info_map_.erase(version_id);
211 } 208 }
212 209
210 void ServiceWorkerContextWatcher::OnVersionRoutingIdsChanged(
horo 2016/09/26 01:30:05 OnVersionDevToolsRoutingIdChanged
dgozman 2016/09/26 15:49:12 Done.
211 int64_t version_id,
212 int process_id,
213 int devtools_agent_route_id) {
214 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
215 DCHECK(version);
216 if (version->process_id == process_id &&
217 version->devtools_agent_route_id == devtools_agent_route_id) {
218 return;
219 }
220 version->process_id = process_id;
221 version->devtools_agent_route_id = devtools_agent_route_id;
222 SendVersionInfo(*version);
223 if (IsStoppedAndRedundant(*version))
224 version_info_map_.erase(version_id);
225 }
226
213 void ServiceWorkerContextWatcher::OnMainScriptHttpResponseInfoSet( 227 void ServiceWorkerContextWatcher::OnMainScriptHttpResponseInfoSet(
214 int64_t version_id, 228 int64_t version_id,
215 base::Time script_response_time, 229 base::Time script_response_time,
216 base::Time script_last_modified) { 230 base::Time script_last_modified) {
217 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id); 231 ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
218 DCHECK(version); 232 DCHECK(version);
219 version->script_response_time = script_response_time; 233 version->script_response_time = script_response_time;
220 version->script_last_modified = script_last_modified; 234 version->script_last_modified = script_last_modified;
221 SendVersionInfo(*version); 235 SendVersionInfo(*version);
222 } 236 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 ServiceWorkerRegistrationInfo::IS_NOT_DELETED); 292 ServiceWorkerRegistrationInfo::IS_NOT_DELETED);
279 } 293 }
280 294
281 void ServiceWorkerContextWatcher::OnRegistrationDeleted(int64_t registration_id, 295 void ServiceWorkerContextWatcher::OnRegistrationDeleted(int64_t registration_id,
282 const GURL& pattern) { 296 const GURL& pattern) {
283 SendRegistrationInfo(registration_id, pattern, 297 SendRegistrationInfo(registration_id, pattern,
284 ServiceWorkerRegistrationInfo::IS_DELETED); 298 ServiceWorkerRegistrationInfo::IS_DELETED);
285 } 299 }
286 300
287 } // namespace content 301 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698