summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authordmichael <dmichael@chromium.org>2015-02-18 15:52:12 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-18 23:53:05 +0000
commitac860c7f9ad3a532a6cf0684aaa270d9c0ef36a6 (patch)
treea026c139cadb89f43c44f679b3f7771ee754f8ef /ppapi
parent94a977f6dc4714f49841db1c2d831ab53e557f15 (diff)
downloadchromium_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.cc2
-rw-r--r--ppapi/proxy/ppb_instance_proxy.cc2
-rw-r--r--ppapi/proxy/ppb_var_deprecated_proxy.cc3
-rw-r--r--ppapi/shared_impl/resource_tracker.cc2
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(),