summaryrefslogtreecommitdiffstats
path: root/ppapi/tests
diff options
context:
space:
mode:
authorviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-08 17:11:41 +0000
committerviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-08 17:11:41 +0000
commit02712874c2d623d1dd41c0b3350b769d2855b9f2 (patch)
tree7205e95c9ceb2cb33162b68621ac04d6ce0e1715 /ppapi/tests
parent46e2912bee9e94634cf3c99c80766ea4a02a4744 (diff)
downloadchromium_src-02712874c2d623d1dd41c0b3350b769d2855b9f2.zip
chromium_src-02712874c2d623d1dd41c0b3350b769d2855b9f2.tar.gz
chromium_src-02712874c2d623d1dd41c0b3350b769d2855b9f2.tar.bz2
Pepper: Make users of pp:NetworkMonitorPrivate less likely to leak resources.
a) Make NetworkListPrivate's constructor (that takes a PP_Resource) take ownership of that resource. b) Add an explicit PASS_REF to that constructor, to make its semantics clear. TEST=PPAPI tests Review URL: https://chromiumcodereview.appspot.com/10381002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135856 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/tests')
-rw-r--r--ppapi/tests/test_network_monitor_private.cc30
1 files changed, 7 insertions, 23 deletions
diff --git a/ppapi/tests/test_network_monitor_private.cc b/ppapi/tests/test_network_monitor_private.cc
index 7757dee..f552686 100644
--- a/ppapi/tests/test_network_monitor_private.cc
+++ b/ppapi/tests/test_network_monitor_private.cc
@@ -23,33 +23,27 @@ struct CallbackData {
explicit CallbackData(PP_Instance instance)
: event(instance),
call_counter(0),
- list_resource(0),
delete_monitor(false),
monitor(NULL) {
}
~CallbackData() {
- if (list_resource)
- pp::Module::Get()->core()->ReleaseResource(list_resource);
}
NestedEvent event;
int call_counter;
- PP_Resource list_resource;
+ pp::NetworkListPrivate network_list;
bool delete_monitor;
pp::NetworkMonitorPrivate* monitor;
};
-void TestCallback(void* user_data, PP_Resource network_list) {
+void TestCallback(void* user_data, PP_Resource pp_network_list) {
CallbackData* data = static_cast<CallbackData*>(user_data);
data->call_counter++;
- if (data->list_resource)
- pp::Module::Get()->core()->ReleaseResource(data->list_resource);
- data->list_resource = network_list;
+ data->network_list = pp::NetworkListPrivate(pp::PASS_REF, pp_network_list);
if (data->delete_monitor)
delete data->monitor;
-
if (data->call_counter == 1)
data->event.Signal();
}
@@ -90,12 +84,6 @@ void TestNetworkMonitorPrivate::RunTests(const std::string& filter) {
RUN_TEST_FORCEASYNC_AND_NOT(ListObserver, filter);
}
-std::string TestNetworkMonitorPrivate::VerifyNetworkListResource(
- PP_Resource network_list_resource) {
- pp::NetworkListPrivate network_list(network_list_resource);
- return VerifyNetworkList(network_list);
-}
-
std::string TestNetworkMonitorPrivate::VerifyNetworkList(
const pp::NetworkListPrivate& network_list) {
// Verify that there is at least one network interface.
@@ -183,8 +171,7 @@ std::string TestNetworkMonitorPrivate::TestBasic() {
callback_data.event.Wait();
ASSERT_EQ(callback_data.call_counter, 1);
- ASSERT_SUBTEST_SUCCESS(
- VerifyNetworkListResource(callback_data.list_resource));
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.network_list));
PASS();
}
@@ -197,8 +184,7 @@ std::string TestNetworkMonitorPrivate::Test2Monitors() {
callback_data.event.Wait();
ASSERT_EQ(callback_data.call_counter, 1);
- ASSERT_SUBTEST_SUCCESS(
- VerifyNetworkListResource(callback_data.list_resource));
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.network_list));
CallbackData callback_data_2(instance_->pp_instance());
@@ -207,8 +193,7 @@ std::string TestNetworkMonitorPrivate::Test2Monitors() {
callback_data_2.event.Wait();
ASSERT_EQ(callback_data_2.call_counter, 1);
- ASSERT_SUBTEST_SUCCESS(
- VerifyNetworkListResource(callback_data_2.list_resource));
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data_2.network_list));
PASS();
}
@@ -224,8 +209,7 @@ std::string TestNetworkMonitorPrivate::TestDeleteInCallback() {
callback_data.event.Wait();
ASSERT_EQ(callback_data.call_counter, 1);
- ASSERT_SUBTEST_SUCCESS(
- VerifyNetworkListResource(callback_data.list_resource));
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.network_list));
PASS();
}