Index: webkit/glue/plugins/pepper_resource_tracker.cc |
=================================================================== |
--- webkit/glue/plugins/pepper_resource_tracker.cc (revision 0) |
+++ webkit/glue/plugins/pepper_resource_tracker.cc (revision 0) |
@@ -0,0 +1,50 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "webkit/glue/plugins/pepper_resource_tracker.h" |
+ |
+#include <set> |
+ |
+#include "base/logging.h" |
+#include "third_party/ppapi/c/pp_resource.h" |
+#include "webkit/glue/plugins/pepper_resource.h" |
+ |
+namespace pepper { |
+ |
+ResourceTracker::ResourceTracker() { |
+} |
+ |
+ResourceTracker::~ResourceTracker() { |
+} |
+ |
+// static |
+ResourceTracker* ResourceTracker::Get() { |
+ return Singleton<ResourceTracker>::get(); |
+} |
+ |
+Resource* ResourceTracker::GetResource(PP_Resource res) const { |
+ AutoLock lock(lock_); |
+ Resource* resource = reinterpret_cast<Resource*>(res.id); |
+ if (live_resources_.find(resource) == live_resources_.end()) |
+ return NULL; |
+ return resource; |
+} |
+ |
+void ResourceTracker::AddResource(Resource* resource) { |
+ AutoLock lock(lock_); |
+ DCHECK(live_resources_.find(resource) == live_resources_.end()); |
+ live_resources_.insert(resource); |
+} |
+ |
+void ResourceTracker::DeleteResource(Resource* resource) { |
+ AutoLock lock(lock_); |
+ ResourceSet::iterator found = live_resources_.find(resource); |
+ if (found == live_resources_.end()) { |
+ NOTREACHED(); |
+ return; |
+ } |
+ live_resources_.erase(found); |
+} |
+ |
+} // namespace pepper |
Property changes on: webkit/glue/plugins/pepper_resource_tracker.cc |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |