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

Unified Diff: content/browser/service_worker/service_worker_register_job.h

Issue 62203007: Implement memory-persistent registration (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Working version Created 7 years, 1 month 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_register_job.h
diff --git a/content/browser/service_worker/service_worker_register_job.h b/content/browser/service_worker/service_worker_register_job.h
new file mode 100644
index 0000000000000000000000000000000000000000..34940b9772b27231fa2953eb5572bfef7565e0ef
--- /dev/null
+++ b/content/browser/service_worker/service_worker_register_job.h
@@ -0,0 +1,49 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_H_
+#define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_H_
+
+#include "base/memory/weak_ptr.h"
+#include "content/browser/service_worker/service_worker_storage.h"
+
+namespace content {
+
+class ServiceWorkerRegisterJob {
kinuko 2013/11/25 08:17:10 It feels this job's basically providing implementa
alecflett 2013/11/26 00:19:14 Not exactly... There may be one or more ServiceWor
kinuko 2013/11/26 08:02:00 Ok, the class structure (storage class starts this
+ public:
+ typedef base::Callback<
+ void(ServiceWorkerRegisterJob*, ServiceWorkerRegistration*)>
+ RegistrationCompleteCallback;
+
+ ServiceWorkerRegisterJob(const base::WeakPtr<ServiceWorkerStorage>& storage,
+ const RegistrationCompleteCallback& callback);
+ ~ServiceWorkerRegisterJob();
+ void StartRegister(const GURL& pattern, const GURL& script_url);
+ void StartUnregister(const GURL& pattern);
+
+ private:
+ void RegisterPatternAndContinue(
+ const GURL& pattern,
+ const GURL& script_url,
+ const ServiceWorkerStorage::ResponseCallback callback);
+
+ void UnregisterPatternAndContinue(
+ const GURL& pattern,
+ const GURL& script_url,
+ const base::Closure& callback,
+ const scoped_refptr<ServiceWorkerRegistration>& previous_registration);
+
+ void UnregisterComplete();
+ void RegisterComplete(
+ const scoped_refptr<ServiceWorkerRegistration>& registration);
+
+ const base::WeakPtr<ServiceWorkerStorage> storage_;
+ const RegistrationCompleteCallback callback_;
+ base::WeakPtrFactory<ServiceWorkerRegisterJob> weak_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(ServiceWorkerRegisterJob);
+};
+} // namespace content
+
+#endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_H_

Powered by Google App Engine
This is Rietveld 408576698