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

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

Issue 325173002: ServiceWorker: Confirm the liveness of the associated context before handling message (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 cdc67460bcc7e71022ed9955c01873fc50c1e85e..841cfd265d8a13470139951406215f5678cc28f8 100644
--- a/content/browser/service_worker/service_worker_context_core.cc
+++ b/content/browser/service_worker/service_worker_context_core.cc
@@ -22,60 +22,6 @@
namespace content {
-ServiceWorkerContextCore::ProviderHostIterator::~ProviderHostIterator() {}
-
-ServiceWorkerProviderHost*
-ServiceWorkerContextCore::ProviderHostIterator::GetProviderHost() {
- DCHECK(!IsAtEnd());
- return provider_host_iterator_->GetCurrentValue();
-}
-
-void ServiceWorkerContextCore::ProviderHostIterator::Advance() {
- DCHECK(!IsAtEnd());
- DCHECK(!provider_host_iterator_->IsAtEnd());
- DCHECK(!provider_iterator_->IsAtEnd());
-
- // Advance the inner iterator. If an element is reached, we're done.
- provider_host_iterator_->Advance();
- if (!provider_host_iterator_->IsAtEnd())
- return;
-
- // Advance the outer iterator until an element is reached, or end is hit.
- while (true) {
- provider_iterator_->Advance();
- if (provider_iterator_->IsAtEnd())
- return;
- ProviderMap* provider_map = provider_iterator_->GetCurrentValue();
- provider_host_iterator_.reset(new ProviderMap::iterator(provider_map));
- if (!provider_host_iterator_->IsAtEnd())
- return;
- }
-}
-
-bool ServiceWorkerContextCore::ProviderHostIterator::IsAtEnd() {
- return provider_iterator_->IsAtEnd() &&
- (!provider_host_iterator_ || provider_host_iterator_->IsAtEnd());
-}
-
-ServiceWorkerContextCore::ProviderHostIterator::ProviderHostIterator(
- ProcessToProviderMap* map)
- : map_(map) {
- DCHECK(map);
- Initialize();
-}
-
-void ServiceWorkerContextCore::ProviderHostIterator::Initialize() {
- provider_iterator_.reset(new ProcessToProviderMap::iterator(map_));
- // Advance to the first element.
- while (!provider_iterator_->IsAtEnd()) {
- ProviderMap* provider_map = provider_iterator_->GetCurrentValue();
- provider_host_iterator_.reset(new ProviderMap::iterator(provider_map));
- if (!provider_host_iterator_->IsAtEnd())
- return;
- provider_iterator_->Advance();
- }
-}
-
ServiceWorkerContextCore::ServiceWorkerContextCore(
const base::FilePath& path,
base::SequencedTaskRunner* database_task_runner,
@@ -105,43 +51,6 @@ ServiceWorkerContextCore::~ServiceWorkerContextCore() {
weak_factory_.InvalidateWeakPtrs();
}
-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);
-}
-
-scoped_ptr<ServiceWorkerContextCore::ProviderHostIterator>
-ServiceWorkerContextCore::GetProviderHostIterator() {
- return make_scoped_ptr(new ProviderHostIterator(&providers_));
-}
-
void ServiceWorkerContextCore::RegisterServiceWorker(
const GURL& pattern,
const GURL& script_url,
@@ -337,4 +246,9 @@ ServiceWorkerProcessManager* ServiceWorkerContextCore::process_manager() {
return wrapper_->process_manager();
}
+ServiceWorkerProviderHostRegistry*
+ServiceWorkerContextCore::provider_registry() {
+ return wrapper_->provider_registry();
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698