summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-27 20:57:05 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-27 20:57:05 +0000
commit89f96d350ac401bec3c108b0bf3f4c4a4634bba7 (patch)
tree49e8e5ffa2c0947de628fc64a6750cce23d61c7b /remoting
parentc7e526f86f0fc900b9f285da0dfd9dfc004c8fac (diff)
downloadchromium_src-89f96d350ac401bec3c108b0bf3f4c4a4634bba7.zip
chromium_src-89f96d350ac401bec3c108b0bf3f4c4a4634bba7.tar.gz
chromium_src-89f96d350ac401bec3c108b0bf3f4c4a4634bba7.tar.bz2
Replace PluginMessageLoopProxy with PluginThreadTaskRunner.
Previosly plugin code was using PluginMessageLoopProxy that implements MessageLoopProxy interface. We no longer need MessageLoopProxy. Replacing PluginMessageLoopProxy with PluginThreadTaskRunner that implements SingleThreadTaskRunner interface Review URL: https://chromiumcodereview.appspot.com/10830016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148801 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r--remoting/base/plugin_thread_task_runner.cc (renamed from remoting/base/plugin_message_loop_proxy.cc)22
-rw-r--r--remoting/base/plugin_thread_task_runner.h (renamed from remoting/base/plugin_message_loop_proxy.h)20
-rw-r--r--remoting/client/plugin/chromoting_instance.cc30
-rw-r--r--remoting/client/plugin/chromoting_instance.h2
-rw-r--r--remoting/client/plugin/pepper_plugin_thread_delegate.h4
-rw-r--r--remoting/host/plugin/host_plugin.cc6
-rw-r--r--remoting/host/plugin/host_script_object.cc4
-rw-r--r--remoting/host/plugin/host_script_object.h6
-rw-r--r--remoting/remoting.gyp4
9 files changed, 49 insertions, 49 deletions
diff --git a/remoting/base/plugin_message_loop_proxy.cc b/remoting/base/plugin_thread_task_runner.cc
index ad595c8..07637a0 100644
--- a/remoting/base/plugin_message_loop_proxy.cc
+++ b/remoting/base/plugin_thread_task_runner.cc
@@ -2,21 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "remoting/base/plugin_message_loop_proxy.h"
+#include "remoting/base/plugin_thread_task_runner.h"
#include "base/bind.h"
namespace remoting {
-PluginMessageLoopProxy::PluginMessageLoopProxy(Delegate* delegate)
+PluginThreadTaskRunner::PluginThreadTaskRunner(Delegate* delegate)
: plugin_thread_id_(base::PlatformThread::CurrentId()),
delegate_(delegate) {
}
-PluginMessageLoopProxy::~PluginMessageLoopProxy() {
+PluginThreadTaskRunner::~PluginThreadTaskRunner() {
}
-void PluginMessageLoopProxy::Detach() {
+void PluginThreadTaskRunner::Detach() {
base::AutoLock auto_lock(lock_);
if (delegate_) {
DCHECK(BelongsToCurrentThread());
@@ -24,7 +24,7 @@ void PluginMessageLoopProxy::Detach() {
}
}
-bool PluginMessageLoopProxy::PostDelayedTask(
+bool PluginThreadTaskRunner::PostDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::TimeDelta delay) {
@@ -33,12 +33,12 @@ bool PluginMessageLoopProxy::PostDelayedTask(
return false;
base::Closure* springpad_closure = new base::Closure(base::Bind(
- &PluginMessageLoopProxy::RunClosureIf, this, task));
+ &PluginThreadTaskRunner::RunClosureIf, this, task));
return delegate_->RunOnPluginThread(
- delay, &PluginMessageLoopProxy::TaskSpringboard, springpad_closure);
+ delay, &PluginThreadTaskRunner::TaskSpringboard, springpad_closure);
}
-bool PluginMessageLoopProxy::PostNonNestableDelayedTask(
+bool PluginThreadTaskRunner::PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::TimeDelta delay) {
@@ -46,7 +46,7 @@ bool PluginMessageLoopProxy::PostNonNestableDelayedTask(
return PostDelayedTask(from_here, task, delay);
}
-bool PluginMessageLoopProxy::RunsTasksOnCurrentThread() const {
+bool PluginThreadTaskRunner::RunsTasksOnCurrentThread() const {
// In pepper plugins ideally we should use pp::Core::IsMainThread,
// but it is problematic because we would need to keep reference to
// Core somewhere, e.g. make the delegate ref-counted.
@@ -54,13 +54,13 @@ bool PluginMessageLoopProxy::RunsTasksOnCurrentThread() const {
}
// static
-void PluginMessageLoopProxy::TaskSpringboard(void* data) {
+void PluginThreadTaskRunner::TaskSpringboard(void* data) {
base::Closure* task = reinterpret_cast<base::Closure*>(data);
task->Run();
delete task;
}
-void PluginMessageLoopProxy::RunClosureIf(const base::Closure& task) {
+void PluginThreadTaskRunner::RunClosureIf(const base::Closure& task) {
// |delegate_| can be changed only from our thread, so it's safe to
// access it without acquiring |lock_|.
if (delegate_)
diff --git a/remoting/base/plugin_message_loop_proxy.h b/remoting/base/plugin_thread_task_runner.h
index 1088344..5ebafe1 100644
--- a/remoting/base/plugin_message_loop_proxy.h
+++ b/remoting/base/plugin_thread_task_runner.h
@@ -2,19 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef REMOTING_BASE_PLUGIN_MESSAGE_LOOP_H_
-#define REMOTING_BASE_PLUGIN_MESSAGE_LOOP_H_
+#ifndef REMOTING_BASE_PLUGIN_THREAD_TASK_RUNNER_H_
+#define REMOTING_BASE_PLUGIN_THREAD_TASK_RUNNER_H_
#include "base/callback_forward.h"
#include "base/compiler_specific.h"
-#include "base/message_loop_proxy.h"
+#include "base/single_thread_task_runner.h"
#include "base/synchronization/lock.h"
#include "base/threading/platform_thread.h"
namespace remoting {
-// MessageLoopProxy for plugin main threads.
-class PluginMessageLoopProxy : public base::MessageLoopProxy {
+// SingleThreadTaskRunner for plugin main threads.
+class PluginThreadTaskRunner : public base::SingleThreadTaskRunner {
public:
class Delegate {
public:
@@ -26,11 +26,11 @@ class PluginMessageLoopProxy : public base::MessageLoopProxy {
};
// Caller keeps ownership of delegate.
- PluginMessageLoopProxy(Delegate* delegate);
+ PluginThreadTaskRunner(Delegate* delegate);
void Detach();
- // base::MessageLoopProxy implementation.
+ // base::SingleThreadTaskRunner interface.
virtual bool PostDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
@@ -43,7 +43,7 @@ class PluginMessageLoopProxy : public base::MessageLoopProxy {
virtual bool RunsTasksOnCurrentThread() const OVERRIDE;
protected:
- virtual ~PluginMessageLoopProxy();
+ virtual ~PluginThreadTaskRunner();
private:
static void TaskSpringboard(void* data);
@@ -56,9 +56,9 @@ class PluginMessageLoopProxy : public base::MessageLoopProxy {
base::Lock lock_;
Delegate* delegate_;
- DISALLOW_COPY_AND_ASSIGN(PluginMessageLoopProxy);
+ DISALLOW_COPY_AND_ASSIGN(PluginThreadTaskRunner);
};
} // namespace remoting
-#endif // REMOTING_BASE_PLUGIN_MESSAGE_LOOP_H_
+#endif // REMOTING_BASE_PLUGIN_THREAD_TASK_RUNNER_H_
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
index fc7b46f..b58bea22 100644
--- a/remoting/client/plugin/chromoting_instance.cc
+++ b/remoting/client/plugin/chromoting_instance.cc
@@ -152,9 +152,9 @@ bool ChromotingInstance::ParseAuthMethods(const std::string& auth_methods_str,
ChromotingInstance::ChromotingInstance(PP_Instance pp_instance)
: pp::Instance(pp_instance),
initialized_(false),
- plugin_message_loop_(
- new PluginMessageLoopProxy(&plugin_thread_delegate_)),
- context_(plugin_message_loop_),
+ plugin_task_runner_(
+ new PluginThreadTaskRunner(&plugin_thread_delegate_)),
+ context_(plugin_task_runner_),
weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
RequestInputEvents(PP_INPUTEVENT_CLASS_MOUSE | PP_INPUTEVENT_CLASS_WHEEL);
RequestFilteringInputEvents(PP_INPUTEVENT_CLASS_KEYBOARD);
@@ -171,7 +171,7 @@ ChromotingInstance::ChromotingInstance(PP_Instance pp_instance)
}
ChromotingInstance::~ChromotingInstance() {
- DCHECK(plugin_message_loop_->BelongsToCurrentThread());
+ DCHECK(plugin_task_runner_->BelongsToCurrentThread());
// Unregister this instance so that debug log messages will no longer be sent
// to it. This will stop all logging in all Chromoting instances.
@@ -191,7 +191,7 @@ ChromotingInstance::~ChromotingInstance() {
context_.Stop();
// Ensure that nothing touches the plugin thread delegate after this point.
- plugin_message_loop_->Detach();
+ plugin_task_runner_->Detach();
}
bool ChromotingInstance::Init(uint32_t argc,
@@ -223,7 +223,7 @@ bool ChromotingInstance::Init(uint32_t argc,
// RectangleUpdateDecoder runs on a separate thread so for now we wrap
// PepperView with a ref-counted proxy object.
scoped_refptr<FrameConsumerProxy> consumer_proxy =
- new FrameConsumerProxy(plugin_message_loop_);
+ new FrameConsumerProxy(plugin_task_runner_);
rectangle_decoder_ = new RectangleUpdateDecoder(
context_.decode_task_runner(), consumer_proxy);
view_.reset(new PepperView(this, &context_, rectangle_decoder_.get()));
@@ -342,7 +342,7 @@ void ChromotingInstance::HandleMessage(const pp::Var& message) {
}
void ChromotingInstance::DidChangeView(const pp::View& view) {
- DCHECK(plugin_message_loop_->BelongsToCurrentThread());
+ DCHECK(plugin_task_runner_->BelongsToCurrentThread());
view_->SetView(view);
@@ -352,7 +352,7 @@ void ChromotingInstance::DidChangeView(const pp::View& view) {
}
bool ChromotingInstance::HandleInputEvent(const pp::InputEvent& event) {
- DCHECK(plugin_message_loop_->BelongsToCurrentThread());
+ DCHECK(plugin_task_runner_->BelongsToCurrentThread());
if (!IsConnected())
return false;
@@ -465,7 +465,7 @@ void ChromotingInstance::OnFirstFrameReceived() {
}
void ChromotingInstance::Connect(const ClientConfig& config) {
- DCHECK(plugin_message_loop_->BelongsToCurrentThread());
+ DCHECK(plugin_task_runner_->BelongsToCurrentThread());
jingle_glue::JingleThreadWrapper::EnsureForCurrentThread();
@@ -501,7 +501,7 @@ void ChromotingInstance::Connect(const ClientConfig& config) {
// Setup the XMPP Proxy.
xmpp_proxy_ = new PepperXmppProxy(
base::Bind(&ChromotingInstance::SendOutgoingIq, AsWeakPtr()),
- plugin_message_loop_, context_.main_task_runner());
+ plugin_task_runner_, context_.main_task_runner());
scoped_ptr<cricket::HttpPortAllocatorBase> port_allocator(
PepperPortAllocator::Create(this));
@@ -512,13 +512,13 @@ void ChromotingInstance::Connect(const ClientConfig& config) {
client_->Start(xmpp_proxy_, transport_factory.Pass());
// Start timer that periodically sends perf stats.
- plugin_message_loop_->PostDelayedTask(
+ plugin_task_runner_->PostDelayedTask(
FROM_HERE, base::Bind(&ChromotingInstance::SendPerfStats, AsWeakPtr()),
base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs));
}
void ChromotingInstance::Disconnect() {
- DCHECK(plugin_message_loop_->BelongsToCurrentThread());
+ DCHECK(plugin_task_runner_->BelongsToCurrentThread());
// PepperView must be destroyed before the client.
view_.reset();
@@ -630,7 +630,7 @@ void ChromotingInstance::SendPerfStats() {
return;
}
- plugin_message_loop_->PostDelayedTask(
+ plugin_task_runner_->PostDelayedTask(
FROM_HERE, base::Bind(&ChromotingInstance::SendPerfStats, AsWeakPtr()),
base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs));
@@ -668,7 +668,7 @@ void ChromotingInstance::RegisterLoggingInstance() {
// If multiple plugins are run, then the last one registered will handle all
// logging for all instances.
g_logging_instance.Get() = weak_factory_.GetWeakPtr();
- g_logging_task_runner.Get() = plugin_message_loop_;
+ g_logging_task_runner.Get() = plugin_task_runner_;
g_has_logging_instance = true;
}
@@ -735,7 +735,7 @@ bool ChromotingInstance::LogToUI(int severity, const char* file, int line,
}
void ChromotingInstance::ProcessLogToUI(const std::string& message) {
- DCHECK(plugin_message_loop_->BelongsToCurrentThread());
+ DCHECK(plugin_task_runner_->BelongsToCurrentThread());
// This flag (which is set only here) is used to prevent LogToUI from posting
// new tasks while we're in the middle of servicing a LOG call. This can
diff --git a/remoting/client/plugin/chromoting_instance.h b/remoting/client/plugin/chromoting_instance.h
index 04a5449..8e9ac8a 100644
--- a/remoting/client/plugin/chromoting_instance.h
+++ b/remoting/client/plugin/chromoting_instance.h
@@ -185,7 +185,7 @@ class ChromotingInstance :
bool initialized_;
PepperPluginThreadDelegate plugin_thread_delegate_;
- scoped_refptr<PluginMessageLoopProxy> plugin_message_loop_;
+ scoped_refptr<PluginThreadTaskRunner> plugin_task_runner_;
ClientContext context_;
scoped_ptr<protocol::ConnectionToHost> host_connection_;
scoped_ptr<PepperView> view_;
diff --git a/remoting/client/plugin/pepper_plugin_thread_delegate.h b/remoting/client/plugin/pepper_plugin_thread_delegate.h
index 8b4bd7b..59ea3e4 100644
--- a/remoting/client/plugin/pepper_plugin_thread_delegate.h
+++ b/remoting/client/plugin/pepper_plugin_thread_delegate.h
@@ -5,7 +5,7 @@
#ifndef REMOTING_CLIENT_PLUGIN_PEPPER_PLUGIN_THREAD_DELEGATE_H_
#define REMOTING_CLIENT_PLUGIN_PEPPER_PLUGIN_THREAD_DELEGATE_H_
-#include "remoting/base/plugin_message_loop_proxy.h"
+#include "remoting/base/plugin_thread_task_runner.h"
// Macro useful for writing cross-platform function pointers.
#if defined(OS_WIN) && !defined(CDECL)
@@ -20,7 +20,7 @@ class Core;
namespace remoting {
-class PepperPluginThreadDelegate : public PluginMessageLoopProxy::Delegate {
+class PepperPluginThreadDelegate : public PluginThreadTaskRunner::Delegate {
public:
PepperPluginThreadDelegate();
virtual ~PepperPluginThreadDelegate();
diff --git a/remoting/host/plugin/host_plugin.cc b/remoting/host/plugin/host_plugin.cc
index 31109e9..2638e79 100644
--- a/remoting/host/plugin/host_plugin.cc
+++ b/remoting/host/plugin/host_plugin.cc
@@ -13,7 +13,7 @@
#include "base/logging.h"
#include "base/stringize_macros.h"
#include "net/socket/ssl_server_socket.h"
-#include "remoting/base/plugin_message_loop_proxy.h"
+#include "remoting/base/plugin_thread_task_runner.h"
#include "remoting/host/plugin/constants.h"
#include "remoting/host/plugin/host_log_handler.h"
#include "remoting/host/plugin/host_plugin_utils.h"
@@ -57,7 +57,7 @@ base::AtExitManager* g_at_exit_manager = NULL;
// NPAPI plugin implementation for remoting host.
// Documentation for most of the calls in this class can be found here:
// https://developer.mozilla.org/en/Gecko_Plugin_API_Reference/Scripting_plugins
-class HostNPPlugin : public remoting::PluginMessageLoopProxy::Delegate {
+class HostNPPlugin : public remoting::PluginThreadTaskRunner::Delegate {
public:
// |mode| is the display mode of plug-in. Values:
// NP_EMBED: (1) Instance was created by an EMBED tag and shares the browser
@@ -148,7 +148,7 @@ class HostNPPlugin : public remoting::PluginMessageLoopProxy::Delegate {
return scriptable_object_;
}
- // PluginMessageLoopProxy::Delegate implementation.
+ // PluginThreadTaskRunner::Delegate implementation.
virtual bool RunOnPluginThread(
base::TimeDelta delay, void(function)(void*), void* data) OVERRIDE {
if (delay == base::TimeDelta()) {
diff --git a/remoting/host/plugin/host_script_object.cc b/remoting/host/plugin/host_script_object.cc
index a8d7b0c..afa9aea 100644
--- a/remoting/host/plugin/host_script_object.cc
+++ b/remoting/host/plugin/host_script_object.cc
@@ -79,14 +79,14 @@ const int kMaxWorkerPoolThreads = 2;
HostNPScriptObject::HostNPScriptObject(
NPP plugin,
NPObject* parent,
- PluginMessageLoopProxy::Delegate* plugin_thread_delegate)
+ PluginThreadTaskRunner::Delegate* plugin_thread_delegate)
: plugin_(plugin),
parent_(parent),
am_currently_logging_(false),
state_(kDisconnected),
np_thread_id_(base::PlatformThread::CurrentId()),
plugin_task_runner_(
- new PluginMessageLoopProxy(plugin_thread_delegate)),
+ new PluginThreadTaskRunner(plugin_thread_delegate)),
failed_login_attempts_(0),
disconnected_event_(true, false),
nat_traversal_enabled_(false),
diff --git a/remoting/host/plugin/host_script_object.h b/remoting/host/plugin/host_script_object.h
index 9b9280b..dd2c810 100644
--- a/remoting/host/plugin/host_script_object.h
+++ b/remoting/host/plugin/host_script_object.h
@@ -18,7 +18,7 @@
#include "base/threading/platform_thread.h"
#include "base/threading/thread.h"
#include "base/time.h"
-#include "remoting/base/plugin_message_loop_proxy.h"
+#include "remoting/base/plugin_thread_task_runner.h"
#include "remoting/host/chromoting_host_context.h"
#include "remoting/host/host_key_pair.h"
#include "remoting/host/host_status_observer.h"
@@ -51,7 +51,7 @@ class PolicyWatcher;
class HostNPScriptObject : public HostStatusObserver {
public:
HostNPScriptObject(NPP plugin, NPObject* parent,
- PluginMessageLoopProxy::Delegate* plugin_thread_delegate);
+ PluginThreadTaskRunner::Delegate* plugin_thread_delegate);
virtual ~HostNPScriptObject();
bool Init();
@@ -302,7 +302,7 @@ class HostNPScriptObject : public HostStatusObserver {
ScopedRefNPObject on_nat_traversal_policy_changed_func_;
ScopedRefNPObject on_state_changed_func_;
base::PlatformThreadId np_thread_id_;
- scoped_refptr<PluginMessageLoopProxy> plugin_task_runner_;
+ scoped_refptr<PluginThreadTaskRunner> plugin_task_runner_;
scoped_ptr<ChromotingHostContext> host_context_;
HostKeyPair host_key_pair_;
diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp
index 41f85e7..2921a8c 100644
--- a/remoting/remoting.gyp
+++ b/remoting/remoting.gyp
@@ -1107,8 +1107,8 @@
'base/encoder_vp8.h',
'base/encoder_row_based.cc',
'base/encoder_row_based.h',
- 'base/plugin_message_loop_proxy.cc',
- 'base/plugin_message_loop_proxy.h',
+ 'base/plugin_thread_task_runner.cc',
+ 'base/plugin_thread_task_runner.h',
'base/rate_counter.cc',
'base/rate_counter.h',
'base/running_average.cc',