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

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..e1152807f518c018334d32ebce56722ef97b858e 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,34 @@ ServiceWorkerContextCore::GetClientProviderHostIterator(const GURL& origin) {
providers_.get(), base::Bind(IsSameOriginClientProviderHost, origin)));
}
+// PlzNavigate
+void ServiceWorkerContextCore::AddNavigationProviderHost(
+ scoped_ptr<ServiceWorkerProviderHost> provider_host) {
+ // Transfer ownership to a linked_ptr.
nasko 2015/10/02 22:09:45 nit: Redundant comment.
+ linked_ptr<ServiceWorkerProviderHost> host_link(provider_host.release());
+ DCHECK(!ContainsKey(navigation_provider_host_map_, host_link->provider_id()));
nasko 2015/10/02 22:09:45 Why DCHECK on ContainsKey instead of using the ins
Fabrice (no longer in Chrome) 2015/10/06 17:21:38 I thought insert would replace the content but it
+ navigation_provider_host_map_[host_link->provider_id()] = host_link;
+}
+
+// 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;
+
+ // Transfer ownership to a scoped_ptr.
nasko 2015/10/02 22:09:45 nit: Another redundant comment.
Fabrice (no longer in Chrome) 2015/10/06 17:21:38 Done.
+ 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