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

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

Issue 1294243004: PlzNavigate: Make ServiceWorker work with PlzNavigate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments Created 5 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 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 8e3752ef4be61496dac3b264fb6115ebc10960a0..0660981bde837cf40757a5bdc6b7a7e9c413e252 100644
--- a/content/browser/service_worker/service_worker_context_core.cc
+++ b/content/browser/service_worker/service_worker_context_core.cc
@@ -31,6 +31,7 @@
#include "url/gurl.h"
namespace content {
+
namespace {
void SuccessCollectorCallback(const base::Closure& done_closure,
@@ -276,6 +277,33 @@ ServiceWorkerContextCore::GetClientProviderHostIterator(const GURL& origin) {
providers_.get(), base::Bind(IsSameOriginClientProviderHost, origin)));
}
+// PlzNavigate
+void ServiceWorkerContextCore::AddNavigationProviderHost(
+ scoped_ptr<ServiceWorkerProviderHost> provider_host) {
+ linked_ptr<ServiceWorkerProviderHost> host_link(provider_host.release());
+ auto result = navigation_provider_host_map_.insert(
+ std::make_pair(host_link->provider_id(), host_link));
+ DCHECK(result.second) << "Inserting a duplicate item.";
+}
+
+// PlzNavigate
+scoped_ptr<ServiceWorkerProviderHost>
+ServiceWorkerContextCore::TakeNavigationProviderHost(int provider_id) {
+ auto iter = navigation_provider_host_map_.find(provider_id);
+ if (iter == navigation_provider_host_map_.end())
+ return nullptr;
+
+ scoped_ptr<ServiceWorkerProviderHost> provider_host(iter->second.release());
+ navigation_provider_host_map_.erase(iter);
+ return provider_host.Pass();
+}
+
+// PlzNavigate
+void ServiceWorkerContextCore::RemoveNavigationProviderHost(int provider_id) {
+ scoped_ptr<ServiceWorkerProviderHost> provider_host =
+ TakeNavigationProviderHost(provider_id);
+}
+
void ServiceWorkerContextCore::RegisterProviderHostByClientID(
const std::string& client_uuid,
ServiceWorkerProviderHost* provider_host) {

Powered by Google App Engine
This is Rietveld 408576698