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

Unified Diff: components/nacl/renderer/ppb_nacl_private_impl.cc

Issue 2605463002: Remove base::ScopedPtrHashMap from components/nacl/. (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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/nacl/renderer/ppb_nacl_private_impl.cc
diff --git a/components/nacl/renderer/ppb_nacl_private_impl.cc b/components/nacl/renderer/ppb_nacl_private_impl.cc
index 85435b05bbb3ca36433470c8ca0b27c3722f7fdd..d39b2b701e22b1567a8ed474a2c7ae06e1e05e7a 100644
--- a/components/nacl/renderer/ppb_nacl_private_impl.cc
+++ b/components/nacl/renderer/ppb_nacl_private_impl.cc
@@ -10,13 +10,13 @@
#include <memory>
#include <numeric>
#include <string>
+#include <unordered_map>
#include <utility>
#include <vector>
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/command_line.h"
-#include "base/containers/scoped_ptr_hash_map.h"
#include "base/cpu.h"
#include "base/files/file.h"
#include "base/json/json_reader.h"
@@ -148,16 +148,16 @@ class NaClPluginInstance {
uint64_t pexe_size;
};
-typedef base::ScopedPtrHashMap<PP_Instance, std::unique_ptr<NaClPluginInstance>>
+typedef std::unordered_map<PP_Instance, std::unique_ptr<NaClPluginInstance>>
InstanceMap;
base::LazyInstance<InstanceMap> g_instance_map = LAZY_INSTANCE_INITIALIZER;
NaClPluginInstance* GetNaClPluginInstance(PP_Instance instance) {
InstanceMap& map = g_instance_map.Get();
- InstanceMap::iterator iter = map.find(instance);
+ auto iter = map.find(instance);
if (iter == map.end())
return NULL;
- return iter->second;
+ return iter->second.get();
}
NexeLoadManager* GetNexeLoadManager(PP_Instance instance) {
@@ -867,23 +867,23 @@ void PPBNaClPrivate::ReportLoadError(PP_Instance instance,
// static
void PPBNaClPrivate::InstanceCreated(PP_Instance instance) {
InstanceMap& map = g_instance_map.Get();
- CHECK(!ContainsKey(map, instance)); // Sanity check.
+ CHECK(map.find(instance) == map.end()); // Sanity check.
std::unique_ptr<NaClPluginInstance> new_instance(
new NaClPluginInstance(instance));
- map.add(instance, std::move(new_instance));
+ map[instance] = std::move(new_instance);
}
// static
void PPBNaClPrivate::InstanceDestroyed(PP_Instance instance) {
InstanceMap& map = g_instance_map.Get();
- InstanceMap::iterator iter = map.find(instance);
+ auto iter = map.find(instance);
CHECK(iter != map.end());
// The erase may call NexeLoadManager's destructor prior to removing it from
// the map. In that case, it is possible for the trusted Plugin to re-enter
// the NexeLoadManager (e.g., by calling ReportLoadError). Passing out the
// NexeLoadManager to a local scoped_ptr just ensures that its entry is gone
// from the map prior to the destructor being invoked.
- std::unique_ptr<NaClPluginInstance> temp(map.take(instance));
+ std::unique_ptr<NaClPluginInstance> temp = std::move(iter->second);
map.erase(iter);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698