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

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

Issue 1940993002: DevTools: simplify Service Workers panel UI, remove non-actionable data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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_wrapper.cc
diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc
index c326aa5d89586e431b918e4e394c031b4297a53f..5f9b030747c43d9926e09f51790d50cf1ca38272 100644
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
@@ -70,6 +70,18 @@ void StartActiveWorkerOnIO(
base::Bind(callback, SERVICE_WORKER_ERROR_NOT_FOUND));
}
+void SkipWaitingWorkerOnIO(
+ ServiceWorkerStatusCode status,
+ const scoped_refptr<ServiceWorkerRegistration>& registration) {
+ DCHECK_CURRENTLY_ON(BrowserThread::IO);
+ if (status == SERVICE_WORKER_OK) {
+ if (registration->waiting_version()) {
caseq 2016/05/05 01:09:21 nit: if (status != SERVICE_WORKER_ON || !registrat
pfeldman 2016/05/05 02:21:41 Done.
+ registration->waiting_version()->set_skip_waiting(true);
+ registration->ActivateWaitingVersionWhenReady();
+ }
+ }
+}
+
} // namespace
void ServiceWorkerContext::AddExcludedHeadersForFetchEvent(
@@ -291,6 +303,20 @@ void ServiceWorkerContextWrapper::StartServiceWorker(
base::Bind(&StartActiveWorkerOnIO, callback));
}
+void ServiceWorkerContextWrapper::SkipWaitingWorker(const GURL& pattern) {
+ if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) {
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(&ServiceWorkerContextWrapper::SkipWaitingWorker, this,
+ pattern));
+ return;
+ }
+ if (!context_core_)
+ return;
+ context_core_->storage()->FindRegistrationForPattern(
caseq 2016/05/05 01:09:21 Let's extract something like dispatchOnRegistratio
pfeldman 2016/05/05 02:21:41 It is a common pattern that SW uses to hop between
+ net::SimplifyUrlForRequest(pattern), base::Bind(&SkipWaitingWorkerOnIO));
+}
+
void ServiceWorkerContextWrapper::SetForceUpdateOnPageLoad(
bool force_update_on_page_load) {
if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) {

Powered by Google App Engine
This is Rietveld 408576698