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

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

Issue 2605923002: Remove base::ScopedPtrHashMap from content/browser/service_worker/. (Closed)
Patch Set: Created 4 years 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_watcher.cc
diff --git a/content/browser/service_worker/service_worker_context_watcher.cc b/content/browser/service_worker/service_worker_context_watcher.cc
index 485edcc93701c675ce6ad23568d6678c4ee17aa5..8d66426fe1908214dc6e3814a55056e2a10622de 100644
--- a/content/browser/service_worker/service_worker_context_watcher.cc
+++ b/content/browser/service_worker/service_worker_context_watcher.cc
@@ -7,7 +7,7 @@
#include <utility>
#include "base/bind.h"
-#include "base/containers/scoped_ptr_hash_map.h"
+#include "base/memory/ptr_util.h"
#include "content/browser/service_worker/embedded_worker_status.h"
#include "content/browser/service_worker/service_worker_context_observer.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
@@ -66,8 +66,7 @@ void ServiceWorkerContextWatcher::OnStoredRegistrationsOnIOThread(
DCHECK_CURRENTLY_ON(BrowserThread::IO);
context_->AddObserver(this);
- base::ScopedPtrHashMap<int64_t,
- std::unique_ptr<ServiceWorkerRegistrationInfo>>
+ std::unordered_map<int64_t, std::unique_ptr<ServiceWorkerRegistrationInfo>>
registration_info_map;
for (const auto& registration : stored_registrations)
StoreRegistrationInfo(registration, &registration_info_map);
@@ -109,15 +108,13 @@ ServiceWorkerContextWatcher::~ServiceWorkerContextWatcher() {
void ServiceWorkerContextWatcher::StoreRegistrationInfo(
const ServiceWorkerRegistrationInfo& registration_info,
- base::ScopedPtrHashMap<int64_t,
- std::unique_ptr<ServiceWorkerRegistrationInfo>>*
+ std::unordered_map<int64_t, std::unique_ptr<ServiceWorkerRegistrationInfo>>*
info_map) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (registration_info.registration_id == kInvalidServiceWorkerRegistrationId)
return;
- info_map->set(registration_info.registration_id,
- std::unique_ptr<ServiceWorkerRegistrationInfo>(
- new ServiceWorkerRegistrationInfo(registration_info)));
+ (*info_map)[registration_info.registration_id] =
+ base::MakeUnique<ServiceWorkerRegistrationInfo>(registration_info);
StoreVersionInfo(registration_info.active_version);
StoreVersionInfo(registration_info.waiting_version);
StoreVersionInfo(registration_info.installing_version);
@@ -128,9 +125,8 @@ void ServiceWorkerContextWatcher::StoreVersionInfo(
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (version_info.version_id == kInvalidServiceWorkerVersionId)
return;
- version_info_map_.set(version_info.version_id,
- std::unique_ptr<ServiceWorkerVersionInfo>(
- new ServiceWorkerVersionInfo(version_info)));
+ version_info_map_[version_info.version_id] =
+ base::MakeUnique<ServiceWorkerVersionInfo>(version_info);
}
void ServiceWorkerContextWatcher::SendRegistrationInfo(
@@ -168,24 +164,26 @@ void ServiceWorkerContextWatcher::OnNewLiveRegistration(int64_t registration_id,
void ServiceWorkerContextWatcher::OnNewLiveVersion(
const ServiceWorkerVersionInfo& version_info) {
int64_t version_id = version_info.version_id;
- if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id)) {
- DCHECK_EQ(version->registration_id, version_info.registration_id);
- DCHECK_EQ(version->script_url, version_info.script_url);
+ auto it = version_info_map_.find(version_id);
+ if (it != version_info_map_.end()) {
+ DCHECK_EQ(it->second->registration_id, version_info.registration_id);
+ DCHECK_EQ(it->second->script_url, version_info.script_url);
return;
}
- std::unique_ptr<ServiceWorkerVersionInfo> version(
- new ServiceWorkerVersionInfo(version_info));
+ std::unique_ptr<ServiceWorkerVersionInfo> version =
+ base::MakeUnique<ServiceWorkerVersionInfo>(version_info);
SendVersionInfo(*version);
if (!IsStoppedAndRedundant(*version))
- version_info_map_.set(version_id, std::move(version));
+ version_info_map_[version_id] = std::move(version);
}
void ServiceWorkerContextWatcher::OnRunningStateChanged(
int64_t version_id,
content::EmbeddedWorkerStatus running_status) {
- ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
- DCHECK(version);
+ auto it = version_info_map_.find(version_id);
+ DCHECK(it != version_info_map_.end());
+ ServiceWorkerVersionInfo* version = it->second.get();
if (version->running_status == running_status)
return;
version->running_status = running_status;
@@ -197,8 +195,9 @@ void ServiceWorkerContextWatcher::OnRunningStateChanged(
void ServiceWorkerContextWatcher::OnVersionStateChanged(
int64_t version_id,
content::ServiceWorkerVersion::Status status) {
- ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
- DCHECK(version);
+ auto it = version_info_map_.find(version_id);
+ DCHECK(it != version_info_map_.end());
+ ServiceWorkerVersionInfo* version = it->second.get();
if (version->status == status)
return;
version->status = status;
@@ -211,8 +210,9 @@ void ServiceWorkerContextWatcher::OnVersionDevToolsRoutingIdChanged(
int64_t version_id,
int process_id,
int devtools_agent_route_id) {
- ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
- DCHECK(version);
+ auto it = version_info_map_.find(version_id);
+ DCHECK(it != version_info_map_.end());
+ ServiceWorkerVersionInfo* version = it->second.get();
if (version->process_id == process_id &&
version->devtools_agent_route_id == devtools_agent_route_id) {
return;
@@ -228,8 +228,9 @@ void ServiceWorkerContextWatcher::OnMainScriptHttpResponseInfoSet(
int64_t version_id,
base::Time script_response_time,
base::Time script_last_modified) {
- ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
- DCHECK(version);
+ auto it = version_info_map_.find(version_id);
+ DCHECK(it != version_info_map_.end());
+ ServiceWorkerVersionInfo* version = it->second.get();
version->script_response_time = script_response_time;
version->script_last_modified = script_last_modified;
SendVersionInfo(*version);
@@ -240,8 +241,9 @@ void ServiceWorkerContextWatcher::OnErrorReported(int64_t version_id,
int thread_id,
const ErrorInfo& info) {
int64_t registration_id = kInvalidServiceWorkerRegistrationId;
- if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id))
- registration_id = version->registration_id;
+ auto it = version_info_map_.find(version_id);
+ if (it != version_info_map_.end())
+ registration_id = it->second->registration_id;
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::Bind(error_callback_, registration_id, version_id, info));
@@ -255,8 +257,9 @@ void ServiceWorkerContextWatcher::OnReportConsoleMessage(
if (message.message_level != CONSOLE_MESSAGE_LEVEL_ERROR)
return;
int64_t registration_id = kInvalidServiceWorkerRegistrationId;
- if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id))
- registration_id = version->registration_id;
+ auto it = version_info_map_.find(version_id);
+ if (it != version_info_map_.end())
+ registration_id = it->second->registration_id;
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::Bind(error_callback_, registration_id, version_id,
@@ -270,8 +273,9 @@ void ServiceWorkerContextWatcher::OnControlleeAdded(
int process_id,
int route_id,
ServiceWorkerProviderType type) {
- ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
- DCHECK(version);
+ auto it = version_info_map_.find(version_id);
+ DCHECK(it != version_info_map_.end());
+ ServiceWorkerVersionInfo* version = it->second.get();
version->clients[uuid] =
ServiceWorkerVersionInfo::ClientInfo(process_id, route_id, type);
SendVersionInfo(*version);
@@ -279,9 +283,10 @@ void ServiceWorkerContextWatcher::OnControlleeAdded(
void ServiceWorkerContextWatcher::OnControlleeRemoved(int64_t version_id,
const std::string& uuid) {
- ServiceWorkerVersionInfo* version = version_info_map_.get(version_id);
- if (!version)
+ auto it = version_info_map_.find(version_id);
+ if (it == version_info_map_.end())
return;
+ ServiceWorkerVersionInfo* version = it->second.get();
version->clients.erase(uuid);
SendVersionInfo(*version);
}

Powered by Google App Engine
This is Rietveld 408576698