summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-12 06:28:22 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-12 06:28:22 +0000
commit94fcefe3bd9be7ff14dbc46922bcb7b261565136 (patch)
tree0d5b9e69b425ae7d5bcf38919b62828a7cbea23a /ppapi/proxy
parente2f23bf8d7b6f1ab19ec2d8f351ec48cc80aef0f (diff)
downloadchromium_src-94fcefe3bd9be7ff14dbc46922bcb7b261565136.zip
chromium_src-94fcefe3bd9be7ff14dbc46922bcb7b261565136.tar.gz
chromium_src-94fcefe3bd9be7ff14dbc46922bcb7b261565136.tar.bz2
Revert of Replace --ppapi-keep-alive-throttle command line switch with IPC parameter. (https://codereview.chromium.org/191633002/)
Reason for revert: This introduced a static initializer in nacl_process_host Original issue's description: > Replace --ppapi-keep-alive-throttle command line switch with IPC parameter. > > Part of a broad effort to reduce the number of command line switches. > > BUG=350510 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=256436 TBR=dmichael@chromium.org,mseaborn@chromium.org,inferno@chromium.org,tsepez@chromium.org,scheib@chromium.org NOTREECHECKS=true NOTRY=true BUG=350510 Review URL: https://codereview.chromium.org/196763002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256450 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy')
-rw-r--r--ppapi/proxy/plugin_globals.cc24
-rw-r--r--ppapi/proxy/plugin_globals.h5
-rw-r--r--ppapi/proxy/plugin_main_irt.cc20
-rw-r--r--ppapi/proxy/ppapi_messages.h1
4 files changed, 35 insertions, 15 deletions
diff --git a/ppapi/proxy/plugin_globals.cc b/ppapi/proxy/plugin_globals.cc
index d361ae1..d34adf1 100644
--- a/ppapi/proxy/plugin_globals.cc
+++ b/ppapi/proxy/plugin_globals.cc
@@ -13,10 +13,15 @@
#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/ppb_message_loop_proxy.h"
#include "ppapi/proxy/resource_reply_thread_registrar.h"
-#include "ppapi/shared_impl/ppapi_constants.h"
#include "ppapi/shared_impl/proxy_lock.h"
#include "ppapi/thunk/enter.h"
+namespace {
+
+const int kKeepaliveThrottleIntervalDefault = 5000;
+
+} // namespace
+
namespace ppapi {
namespace proxy {
@@ -59,7 +64,7 @@ PluginGlobals::PluginGlobals()
new ResourceReplyThreadRegistrar(GetMainThreadMessageLoop())),
plugin_recently_active_(false),
keepalive_throttle_interval_milliseconds_(
- ppapi::kKeepaliveThrottleIntervalDefaultMilliseconds),
+ kKeepaliveThrottleIntervalDefault),
weak_factory_(this) {
DCHECK(!plugin_globals_);
plugin_globals_ = this;
@@ -80,7 +85,7 @@ PluginGlobals::PluginGlobals(PerThreadForTest per_thread_for_test)
new ResourceReplyThreadRegistrar(GetMainThreadMessageLoop())),
plugin_recently_active_(false),
keepalive_throttle_interval_milliseconds_(
- kKeepaliveThrottleIntervalDefaultMilliseconds),
+ kKeepaliveThrottleIntervalDefault),
weak_factory_(this) {
DCHECK(!plugin_globals_);
}
@@ -181,13 +186,12 @@ void PluginGlobals::MarkPluginIsActive() {
if (!GetBrowserSender() || !base::MessageLoop::current())
return;
GetBrowserSender()->Send(new PpapiHostMsg_Keepalive());
- DCHECK(keepalive_throttle_interval_milliseconds_);
- GetMainThreadMessageLoop()->PostDelayedTask(
- FROM_HERE,
+
+ GetMainThreadMessageLoop()->PostDelayedTask(FROM_HERE,
RunWhileLocked(base::Bind(&PluginGlobals::OnReleaseKeepaliveThrottle,
weak_factory_.GetWeakPtr())),
base::TimeDelta::FromMilliseconds(
- keepalive_throttle_interval_milliseconds_));
+ keepalive_throttle_interval_milliseconds()));
}
}
@@ -221,7 +225,11 @@ MessageLoopResource* PluginGlobals::loop_for_main_thread() {
return loop_for_main_thread_.get();
}
-void PluginGlobals::set_keepalive_throttle_interval_milliseconds(unsigned i) {
+int PluginGlobals::keepalive_throttle_interval_milliseconds() const {
+ return keepalive_throttle_interval_milliseconds_;
+}
+
+void PluginGlobals::set_keepalive_throttle_interval_milliseconds(int i) {
keepalive_throttle_interval_milliseconds_ = i;
}
diff --git a/ppapi/proxy/plugin_globals.h b/ppapi/proxy/plugin_globals.h
index 5dc614d..dac33b6 100644
--- a/ppapi/proxy/plugin_globals.h
+++ b/ppapi/proxy/plugin_globals.h
@@ -137,7 +137,8 @@ class PPAPI_PROXY_EXPORT PluginGlobals : public PpapiGlobals {
// Interval to limit how many IPC messages are sent indicating that the plugin
// is active and should be kept alive. The value must be smaller than any
// threshold used to kill inactive plugins by the embedder host.
- void set_keepalive_throttle_interval_milliseconds(unsigned i);
+ int keepalive_throttle_interval_milliseconds() const;
+ void set_keepalive_throttle_interval_milliseconds(int i);
private:
class BrowserSender;
@@ -182,7 +183,7 @@ class PPAPI_PROXY_EXPORT PluginGlobals : public PpapiGlobals {
// all considered active.
bool plugin_recently_active_;
- unsigned keepalive_throttle_interval_milliseconds_;
+ int keepalive_throttle_interval_milliseconds_;
// Member variables should appear before the WeakPtrFactory, see weak_ptr.h.
base::WeakPtrFactory<PluginGlobals> weak_factory_;
diff --git a/ppapi/proxy/plugin_main_irt.cc b/ppapi/proxy/plugin_main_irt.cc
index 980cc6e..a3ea6c1 100644
--- a/ppapi/proxy/plugin_main_irt.cc
+++ b/ppapi/proxy/plugin_main_irt.cc
@@ -32,6 +32,7 @@
#include "ppapi/proxy/plugin_message_filter.h"
#include "ppapi/proxy/plugin_proxy_delegate.h"
#include "ppapi/proxy/resource_reply_thread_registrar.h"
+#include "ppapi/shared_impl/ppapi_switches.h"
#include "ppapi/shared_impl/ppb_audio_shared.h"
#if defined(__native_client__)
@@ -115,6 +116,8 @@ class PpapiDispatcher : public PluginDispatcher::PluginDelegate,
void OnMsgInitializeNaClDispatcher(const ppapi::PpapiNaClPluginArgs& args);
void OnPluginDispatcherMessageReceived(const IPC::Message& msg);
+ void SetPpapiKeepAliveThrottleFromCommandLine();
+
std::set<PP_Instance> instances_;
std::map<uint32, PluginDispatcher*> plugin_dispatchers_;
uint32 next_plugin_dispatcher_id_;
@@ -246,10 +249,7 @@ void PpapiDispatcher::OnMsgInitializeNaClDispatcher(
logging::LoggingSettings settings;
settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
logging::InitLogging(settings);
-
- ppapi::proxy::PluginGlobals::Get()
- ->set_keepalive_throttle_interval_milliseconds(
- args.keepalive_throttle_interval_milliseconds);
+ SetPpapiKeepAliveThrottleFromCommandLine();
// Tell the process-global GetInterface which interfaces it can return to the
// plugin.
@@ -294,6 +294,18 @@ void PpapiDispatcher::OnPluginDispatcherMessageReceived(
dispatcher->second->OnMessageReceived(msg);
}
+void PpapiDispatcher::SetPpapiKeepAliveThrottleFromCommandLine() {
+ unsigned keepalive_throttle_interval_milliseconds = 0;
+ if (base::StringToUint(
+ CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
+ switches::kPpapiKeepAliveThrottle),
+ &keepalive_throttle_interval_milliseconds)) {
+ ppapi::proxy::PluginGlobals::Get()->
+ set_keepalive_throttle_interval_milliseconds(
+ keepalive_throttle_interval_milliseconds);
+ }
+}
+
} // namespace
void SetIPCFileDescriptors(int ipc_browser_fd, int ipc_renderer_fd) {
diff --git a/ppapi/proxy/ppapi_messages.h b/ppapi/proxy/ppapi_messages.h
index b05b56b..71f791e 100644
--- a/ppapi/proxy/ppapi_messages.h
+++ b/ppapi/proxy/ppapi_messages.h
@@ -364,7 +364,6 @@ IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(ppapi::PpapiNaClPluginArgs)
IPC_STRUCT_TRAITS_MEMBER(off_the_record)
IPC_STRUCT_TRAITS_MEMBER(permissions)
- IPC_STRUCT_TRAITS_MEMBER(keepalive_throttle_interval_milliseconds)
IPC_STRUCT_TRAITS_MEMBER(switch_names)
IPC_STRUCT_TRAITS_MEMBER(switch_values)
IPC_STRUCT_TRAITS_END()