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

Side by Side Diff: ppapi/proxy/plugin_resource_tracker_unittest.cc

Issue 7629017: Add a unified resource tracker shared between the proxy and the impl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/process.h" 6 #include "base/process.h"
7 #include "ppapi/proxy/mock_resource.h" 7 #include "ppapi/proxy/mock_resource.h"
8 #include "ppapi/proxy/plugin_dispatcher.h" 8 #include "ppapi/proxy/plugin_dispatcher.h"
9 #include "ppapi/proxy/plugin_resource_tracker.h" 9 #include "ppapi/proxy/plugin_resource_tracker.h"
10 #include "ppapi/proxy/ppapi_messages.h" 10 #include "ppapi/proxy/ppapi_messages.h"
(...skipping 21 matching lines...) Expand all
32 }; 32 };
33 33
34 int TrackedMockResource::tracked_alive_count = 0; 34 int TrackedMockResource::tracked_alive_count = 0;
35 35
36 } // namespace 36 } // namespace
37 37
38 class PluginResourceTrackerTest : public PluginProxyTest { 38 class PluginResourceTrackerTest : public PluginProxyTest {
39 public: 39 public:
40 PluginResourceTrackerTest() {} 40 PluginResourceTrackerTest() {}
41 ~PluginResourceTrackerTest() {} 41 ~PluginResourceTrackerTest() {}
42
43 PluginResourceTracker& tracker() { return tracker_; }
44
45 private:
46 PluginResourceTracker tracker_;
47 }; 42 };
48 43
49 TEST_F(PluginResourceTrackerTest, PluginResourceForHostResource) { 44 TEST_F(PluginResourceTrackerTest, PluginResourceForHostResource) {
50 PP_Resource host_resource = 0x5678; 45 PP_Resource host_resource = 0x5678;
51 46
52 HostResource serialized; 47 HostResource serialized;
53 serialized.SetHostResource(pp_instance(), host_resource); 48 serialized.SetHostResource(pp_instance(), host_resource);
54 49
55 // When we haven't added an object, the return value should be 0. 50 // When we haven't added an object, the return value should be 0.
56 EXPECT_EQ(0, tracker().PluginResourceForHostResource(serialized)); 51 EXPECT_EQ(0, resource_tracker().PluginResourceForHostResource(serialized));
57 52
58 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count); 53 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count);
59 TrackedMockResource* object = new TrackedMockResource(serialized); 54 TrackedMockResource* object = new TrackedMockResource(serialized);
60 EXPECT_EQ(1, TrackedMockResource::tracked_alive_count); 55 EXPECT_EQ(1, TrackedMockResource::tracked_alive_count);
61 PP_Resource plugin_resource = tracker().AddResource(object); 56 PP_Resource plugin_resource = object->GetReference();
62 57
63 // Now that the object has been added, the return value should be the plugin 58 // Now that the object has been added, the return value should be the plugin
64 // resource ID we already got. 59 // resource ID we already got.
65 EXPECT_EQ(plugin_resource, 60 EXPECT_EQ(plugin_resource,
66 tracker().PluginResourceForHostResource(serialized)); 61 resource_tracker().PluginResourceForHostResource(serialized));
67 62
68 // Releasing the resource should have freed it. 63 // Releasing the resource should have freed it.
69 tracker().ReleaseResource(plugin_resource); 64 resource_tracker().ReleaseResource(plugin_resource);
70 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count); 65 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count);
71 EXPECT_EQ(0, tracker().PluginResourceForHostResource(serialized)); 66 EXPECT_EQ(0, resource_tracker().PluginResourceForHostResource(serialized));
72 } 67 }
73 68
74 } // namespace proxy 69 } // namespace proxy
75 } // namespace pp 70 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698