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

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

Issue 70533005: More scaffolding, add class ServiceWorkerProviderHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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_context_core.cc
diff --git a/content/browser/service_worker/service_worker_context_core.cc b/content/browser/service_worker/service_worker_context_core.cc
index 9cb2cbecef8b2969c06f0e9e6302e0cd5b85cf09..22ae50070557838d6d3f29d6b7a80abf9bb36805 100644
--- a/content/browser/service_worker/service_worker_context_core.cc
+++ b/content/browser/service_worker/service_worker_context_core.cc
@@ -6,6 +6,7 @@
#include "base/command_line.h"
#include "base/files/file_path.h"
+#include "content/browser/service_worker/service_worker_provider_host.h"
#include "content/public/common/content_switches.h"
#include "webkit/browser/quota/quota_manager.h"
@@ -26,12 +27,44 @@ ServiceWorkerContextCore::ServiceWorkerContextCore(
path_ = user_data_directory.Append(kServiceWorkerDirectory);
}
+ServiceWorkerContextCore::~ServiceWorkerContextCore() {
+}
+
+ServiceWorkerProviderHost* ServiceWorkerContextCore::GetProviderHost(
+ int process_id, int provider_id) {
+ ProviderMap* map = GetProviderMapForProcess(process_id);
+ if (!map)
+ return NULL;
+ return map->Lookup(provider_id);
+}
+
+void ServiceWorkerContextCore::AddProviderHost(
+ scoped_ptr<ServiceWorkerProviderHost> host) {
+ ServiceWorkerProviderHost* host_ptr = host.release(); // we take ownership
+ ProviderMap* map = GetProviderMapForProcess(host_ptr->process_id());
+ if (!map) {
+ map = new ProviderMap;
+ providers_.AddWithID(map, host_ptr->process_id());
+ }
+ map->AddWithID(host_ptr, host_ptr->provider_id());
+}
+
+void ServiceWorkerContextCore::RemoveProviderHost(
+ int process_id, int provider_id) {
+ ProviderMap* map = GetProviderMapForProcess(process_id);
+ DCHECK(map);
+ map->Remove(provider_id);
+}
+
+void ServiceWorkerContextCore::RemoveAllProviderHostsForProcess(
+ int process_id) {
+ if (providers_.Lookup(process_id))
+ providers_.Remove(process_id);
+}
+
bool ServiceWorkerContextCore::IsEnabled() {
return CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableServiceWorker);
}
-ServiceWorkerContextCore::~ServiceWorkerContextCore() {
-}
-
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698