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

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

Issue 7608030: Convert the PluginResource to be refcounted. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 HostResource serialized; 50 HostResource serialized;
51 serialized.SetHostResource(pp_instance(), host_resource); 51 serialized.SetHostResource(pp_instance(), host_resource);
52 52
53 // When we haven't added an object, the return value should be 0. 53 // When we haven't added an object, the return value should be 0.
54 EXPECT_EQ(0, tracker().PluginResourceForHostResource(serialized)); 54 EXPECT_EQ(0, tracker().PluginResourceForHostResource(serialized));
55 55
56 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count); 56 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count);
57 TrackedMockResource* object = new TrackedMockResource(serialized); 57 TrackedMockResource* object = new TrackedMockResource(serialized);
58 EXPECT_EQ(1, TrackedMockResource::tracked_alive_count); 58 EXPECT_EQ(1, TrackedMockResource::tracked_alive_count);
59 PP_Resource plugin_resource = 59 PP_Resource plugin_resource = tracker().AddResource(object);
60 tracker().AddResource(linked_ptr<PluginResource>(object));
61 60
62 // Now that the object has been added, the return value should be the plugin 61 // Now that the object has been added, the return value should be the plugin
63 // resource ID we already got. 62 // resource ID we already got.
64 EXPECT_EQ(plugin_resource, 63 EXPECT_EQ(plugin_resource,
65 tracker().PluginResourceForHostResource(serialized)); 64 tracker().PluginResourceForHostResource(serialized));
66 65
67 // Releasing the resource should have freed it. 66 // Releasing the resource should have freed it.
68 tracker().ReleaseResource(plugin_resource); 67 tracker().ReleaseResource(plugin_resource);
69 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count); 68 EXPECT_EQ(0, TrackedMockResource::tracked_alive_count);
70 EXPECT_EQ(0, tracker().PluginResourceForHostResource(serialized)); 69 EXPECT_EQ(0, tracker().PluginResourceForHostResource(serialized));
71 } 70 }
72 71
73 } // namespace proxy 72 } // namespace proxy
74 } // namespace pp 73 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698