diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-08 17:11:41 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-08 17:11:41 +0000 |
commit | 02712874c2d623d1dd41c0b3350b769d2855b9f2 (patch) | |
tree | 7205e95c9ceb2cb33162b68621ac04d6ce0e1715 /ppapi/tests | |
parent | 46e2912bee9e94634cf3c99c80766ea4a02a4744 (diff) | |
download | chromium_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.cc | 30 |
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(); } |