diff options
author | dmichael <dmichael@chromium.org> | 2015-02-18 15:52:12 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-18 23:53:05 +0000 |
commit | ac860c7f9ad3a532a6cf0684aaa270d9c0ef36a6 (patch) | |
tree | a026c139cadb89f43c44f679b3f7771ee754f8ef /ppapi | |
parent | 94a977f6dc4714f49841db1c2d831ab53e557f15 (diff) | |
download | chromium_src-ac860c7f9ad3a532a6cf0684aaa270d9c0ef36a6.zip chromium_src-ac860c7f9ad3a532a6cf0684aaa270d9c0ef36a6.tar.gz chromium_src-ac860c7f9ad3a532a6cf0684aaa270d9c0ef36a6.tar.bz2 |
PPAPI: Don't use MessageLoop::current in the plugin process
The plugin is allowed to use Pepper without having bound a PPB_MessageLoop
to the calling thread, which means MessageLoop::current won't be valid.
Instead, we should just post to the Pepper main thread.
BUG=459671
Review URL: https://codereview.chromium.org/938843002
Cr-Commit-Position: refs/heads/master@{#316924}
Diffstat (limited to 'ppapi')
-rw-r--r-- | ppapi/proxy/ppb_image_data_proxy.cc | 2 | ||||
-rw-r--r-- | ppapi/proxy/ppb_instance_proxy.cc | 2 | ||||
-rw-r--r-- | ppapi/proxy/ppb_var_deprecated_proxy.cc | 3 | ||||
-rw-r--r-- | ppapi/shared_impl/resource_tracker.cc | 2 |
4 files changed, 5 insertions, 4 deletions
diff --git a/ppapi/proxy/ppb_image_data_proxy.cc b/ppapi/proxy/ppb_image_data_proxy.cc index 4ed4442c..d1c040c 100644 --- a/ppapi/proxy/ppb_image_data_proxy.cc +++ b/ppapi/proxy/ppb_image_data_proxy.cc @@ -282,7 +282,7 @@ void ImageDataCache::Add(ImageData* image_data) { cache_[image_data->pp_instance()].Add(image_data); // Schedule a timer to invalidate this entry. - base::MessageLoop::current()->PostDelayedTask( + PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostDelayedTask( FROM_HERE, RunWhileLocked(base::Bind(&ImageDataCache::OnTimer, weak_factory_.GetWeakPtr(), diff --git a/ppapi/proxy/ppb_instance_proxy.cc b/ppapi/proxy/ppb_instance_proxy.cc index 2897757..16a6271 100644 --- a/ppapi/proxy/ppb_instance_proxy.cc +++ b/ppapi/proxy/ppb_instance_proxy.cc @@ -930,7 +930,7 @@ void PPB_Instance_Proxy::SelectionChanged(PP_Instance instance) { data->should_do_request_surrounding_text = true; if (!data->is_request_surrounding_text_pending) { - base::MessageLoop::current()->PostTask( + PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask( FROM_HERE, RunWhileLocked(base::Bind(&RequestSurroundingText, instance))); data->is_request_surrounding_text_pending = true; diff --git a/ppapi/proxy/ppb_var_deprecated_proxy.cc b/ppapi/proxy/ppb_var_deprecated_proxy.cc index 723fb941..7adda60 100644 --- a/ppapi/proxy/ppb_var_deprecated_proxy.cc +++ b/ppapi/proxy/ppb_var_deprecated_proxy.cc @@ -22,6 +22,7 @@ #include "ppapi/proxy/ppp_class_proxy.h" #include "ppapi/proxy/proxy_object_var.h" #include "ppapi/proxy/serialized_var.h" +#include "ppapi/shared_impl/ppapi_globals.h" #include "ppapi/shared_impl/ppb_var_shared.h" #include "ppapi/shared_impl/proxy_lock.h" #include "ppapi/shared_impl/var.h" @@ -379,7 +380,7 @@ void PPB_Var_Deprecated_Proxy::OnMsgReleaseObject(int64 object_id) { // spurious warning). // TODO(piman): See if we can fix the IPC code to enforce strict ordering, and // then remove this. - base::MessageLoop::current()->PostNonNestableTask( + PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostNonNestableTask( FROM_HERE, RunWhileLocked(base::Bind(&PPB_Var_Deprecated_Proxy::DoReleaseObject, task_factory_.GetWeakPtr(), diff --git a/ppapi/shared_impl/resource_tracker.cc b/ppapi/shared_impl/resource_tracker.cc index 9b15184..28ea278 100644 --- a/ppapi/shared_impl/resource_tracker.cc +++ b/ppapi/shared_impl/resource_tracker.cc @@ -90,7 +90,7 @@ void ResourceTracker::ReleaseResource(PP_Resource res) { } void ResourceTracker::ReleaseResourceSoon(PP_Resource res) { - base::MessageLoop::current()->PostNonNestableTask( + PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostNonNestableTask( FROM_HERE, RunWhileLocked(base::Bind(&ResourceTracker::ReleaseResource, weak_ptr_factory_.GetWeakPtr(), |