OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/shared_impl/resource_tracker.h" | 5 #include "ppapi/shared_impl/resource_tracker.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/memory/ptr_util.h" |
9 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
10 #include "ppapi/shared_impl/callback_tracker.h" | 11 #include "ppapi/shared_impl/callback_tracker.h" |
11 #include "ppapi/shared_impl/id_assignment.h" | 12 #include "ppapi/shared_impl/id_assignment.h" |
12 #include "ppapi/shared_impl/ppapi_globals.h" | 13 #include "ppapi/shared_impl/ppapi_globals.h" |
13 #include "ppapi/shared_impl/proxy_lock.h" | 14 #include "ppapi/shared_impl/proxy_lock.h" |
14 #include "ppapi/shared_impl/resource.h" | 15 #include "ppapi/shared_impl/resource.h" |
15 | 16 |
16 namespace ppapi { | 17 namespace ppapi { |
17 | 18 |
18 ResourceTracker::ResourceTracker(ThreadMode thread_mode) | 19 ResourceTracker::ResourceTracker(ThreadMode thread_mode) |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 } | 90 } |
90 } | 91 } |
91 | 92 |
92 void ResourceTracker::DidCreateInstance(PP_Instance instance) { | 93 void ResourceTracker::DidCreateInstance(PP_Instance instance) { |
93 CheckThreadingPreconditions(); | 94 CheckThreadingPreconditions(); |
94 // Due to the infrastructure of some tests, the instance is registered | 95 // Due to the infrastructure of some tests, the instance is registered |
95 // twice in a few cases. It would be nice not to do that and assert here | 96 // twice in a few cases. It would be nice not to do that and assert here |
96 // instead. | 97 // instead. |
97 if (instance_map_.find(instance) != instance_map_.end()) | 98 if (instance_map_.find(instance) != instance_map_.end()) |
98 return; | 99 return; |
99 instance_map_[instance] = make_scoped_ptr(new InstanceData); | 100 instance_map_[instance] = base::WrapUnique(new InstanceData); |
100 } | 101 } |
101 | 102 |
102 void ResourceTracker::DidDeleteInstance(PP_Instance instance) { | 103 void ResourceTracker::DidDeleteInstance(PP_Instance instance) { |
103 CheckThreadingPreconditions(); | 104 CheckThreadingPreconditions(); |
104 InstanceMap::iterator found_instance = instance_map_.find(instance); | 105 InstanceMap::iterator found_instance = instance_map_.find(instance); |
105 | 106 |
106 // Due to the infrastructure of some tests, the instance is unregistered | 107 // Due to the infrastructure of some tests, the instance is unregistered |
107 // twice in a few cases. It would be nice not to do that and assert here | 108 // twice in a few cases. It would be nice not to do that and assert here |
108 // instead. | 109 // instead. |
109 if (found_instance == instance_map_.end()) | 110 if (found_instance == instance_map_.end()) |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 if (res == 0) | 254 if (res == 0) |
254 return true; | 255 return true; |
255 | 256 |
256 // Skipping the type bits, the least significant bit of |res| should be the | 257 // Skipping the type bits, the least significant bit of |res| should be the |
257 // same as that of |last_resource_value_|. | 258 // same as that of |last_resource_value_|. |
258 return ((res >> kPPIdTypeBits) & 1) == (last_resource_value_ & 1); | 259 return ((res >> kPPIdTypeBits) & 1) == (last_resource_value_ & 1); |
259 #endif | 260 #endif |
260 } | 261 } |
261 | 262 |
262 } // namespace ppapi | 263 } // namespace ppapi |
OLD | NEW |