summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authorscheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-14 00:07:53 +0000
committerscheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-14 00:07:53 +0000
commitba66d6acb4213c787cddde88364de608cb77b6c6 (patch)
treed437cfda9157edafddd5b202fa46dca8f776ca2f /ppapi
parent87511bbfe315e1f6ad9dc657e99c701e965b7cb5 (diff)
downloadchromium_src-ba66d6acb4213c787cddde88364de608cb77b6c6.zip
chromium_src-ba66d6acb4213c787cddde88364de608cb77b6c6.tar.gz
chromium_src-ba66d6acb4213c787cddde88364de608cb77b6c6.tar.bz2
Replace --ppapi-keep-alive-throttle command line switch with IPC parameter.
Part of a broad effort to reduce the number of command line switches. This is the second land of this change - correcting a static initializer issue. BUG=350510 Review URL: https://codereview.chromium.org/197693003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256961 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r--ppapi/ppapi_shared.gypi1
-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
-rw-r--r--ppapi/shared_impl/ppapi_constants.h19
-rw-r--r--ppapi/shared_impl/ppapi_nacl_plugin_args.cc6
-rw-r--r--ppapi/shared_impl/ppapi_nacl_plugin_args.h1
-rw-r--r--ppapi/shared_impl/ppapi_switches.cc3
-rw-r--r--ppapi/shared_impl/ppapi_switches.h1
10 files changed, 41 insertions, 40 deletions
diff --git a/ppapi/ppapi_shared.gypi b/ppapi/ppapi_shared.gypi
index 620a6eb..f71fb2e 100644
--- a/ppapi/ppapi_shared.gypi
+++ b/ppapi/ppapi_shared.gypi
@@ -46,6 +46,7 @@
'shared_impl/media_stream_video_track_shared.cc',
'shared_impl/platform_file.cc',
'shared_impl/platform_file.h',
+ 'shared_impl/ppapi_constants.h',
'shared_impl/ppapi_globals.cc',
'shared_impl/ppapi_globals.h',
'shared_impl/ppapi_nacl_plugin_args.cc',
diff --git a/ppapi/proxy/plugin_globals.cc b/ppapi/proxy/plugin_globals.cc
index d34adf1..d361ae1 100644
--- a/ppapi/proxy/plugin_globals.cc
+++ b/ppapi/proxy/plugin_globals.cc
@@ -13,15 +13,10 @@
#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 {
@@ -64,7 +59,7 @@ PluginGlobals::PluginGlobals()
new ResourceReplyThreadRegistrar(GetMainThreadMessageLoop())),
plugin_recently_active_(false),
keepalive_throttle_interval_milliseconds_(
- kKeepaliveThrottleIntervalDefault),
+ ppapi::kKeepaliveThrottleIntervalDefaultMilliseconds),
weak_factory_(this) {
DCHECK(!plugin_globals_);
plugin_globals_ = this;
@@ -85,7 +80,7 @@ PluginGlobals::PluginGlobals(PerThreadForTest per_thread_for_test)
new ResourceReplyThreadRegistrar(GetMainThreadMessageLoop())),
plugin_recently_active_(false),
keepalive_throttle_interval_milliseconds_(
- kKeepaliveThrottleIntervalDefault),
+ kKeepaliveThrottleIntervalDefaultMilliseconds),
weak_factory_(this) {
DCHECK(!plugin_globals_);
}
@@ -186,12 +181,13 @@ void PluginGlobals::MarkPluginIsActive() {
if (!GetBrowserSender() || !base::MessageLoop::current())
return;
GetBrowserSender()->Send(new PpapiHostMsg_Keepalive());
-
- GetMainThreadMessageLoop()->PostDelayedTask(FROM_HERE,
+ DCHECK(keepalive_throttle_interval_milliseconds_);
+ GetMainThreadMessageLoop()->PostDelayedTask(
+ FROM_HERE,
RunWhileLocked(base::Bind(&PluginGlobals::OnReleaseKeepaliveThrottle,
weak_factory_.GetWeakPtr())),
base::TimeDelta::FromMilliseconds(
- keepalive_throttle_interval_milliseconds()));
+ keepalive_throttle_interval_milliseconds_));
}
}
@@ -225,11 +221,7 @@ MessageLoopResource* PluginGlobals::loop_for_main_thread() {
return loop_for_main_thread_.get();
}
-int PluginGlobals::keepalive_throttle_interval_milliseconds() const {
- return keepalive_throttle_interval_milliseconds_;
-}
-
-void PluginGlobals::set_keepalive_throttle_interval_milliseconds(int i) {
+void PluginGlobals::set_keepalive_throttle_interval_milliseconds(unsigned i) {
keepalive_throttle_interval_milliseconds_ = i;
}
diff --git a/ppapi/proxy/plugin_globals.h b/ppapi/proxy/plugin_globals.h
index dac33b6..5dc614d 100644
--- a/ppapi/proxy/plugin_globals.h
+++ b/ppapi/proxy/plugin_globals.h
@@ -137,8 +137,7 @@ 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.
- int keepalive_throttle_interval_milliseconds() const;
- void set_keepalive_throttle_interval_milliseconds(int i);
+ void set_keepalive_throttle_interval_milliseconds(unsigned i);
private:
class BrowserSender;
@@ -183,7 +182,7 @@ class PPAPI_PROXY_EXPORT PluginGlobals : public PpapiGlobals {
// all considered active.
bool plugin_recently_active_;
- int keepalive_throttle_interval_milliseconds_;
+ unsigned 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 a3ea6c1..980cc6e 100644
--- a/ppapi/proxy/plugin_main_irt.cc
+++ b/ppapi/proxy/plugin_main_irt.cc
@@ -32,7 +32,6 @@
#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__)
@@ -116,8 +115,6 @@ 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_;
@@ -249,7 +246,10 @@ void PpapiDispatcher::OnMsgInitializeNaClDispatcher(
logging::LoggingSettings settings;
settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
logging::InitLogging(settings);
- SetPpapiKeepAliveThrottleFromCommandLine();
+
+ ppapi::proxy::PluginGlobals::Get()
+ ->set_keepalive_throttle_interval_milliseconds(
+ args.keepalive_throttle_interval_milliseconds);
// Tell the process-global GetInterface which interfaces it can return to the
// plugin.
@@ -294,18 +294,6 @@ 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 71f791e..b05b56b 100644
--- a/ppapi/proxy/ppapi_messages.h
+++ b/ppapi/proxy/ppapi_messages.h
@@ -364,6 +364,7 @@ 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()
diff --git a/ppapi/shared_impl/ppapi_constants.h b/ppapi/shared_impl/ppapi_constants.h
new file mode 100644
index 0000000..dcc9b29
--- /dev/null
+++ b/ppapi/shared_impl/ppapi_constants.h
@@ -0,0 +1,19 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PPAPI_SHARED_IMPL_PPAPI_CONSTANTS_H_
+#define PPAPI_SHARED_IMPL_PPAPI_CONSTANTS_H_
+
+#include "ppapi/shared_impl/ppapi_shared_export.h"
+
+namespace ppapi {
+
+// Default interval to space out IPC messages sent indicating that a 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.
+const unsigned kKeepaliveThrottleIntervalDefaultMilliseconds = 5000;
+
+} // namespace ppapi
+
+#endif // PPAPI_SHARED_IMPL_PPAPI_CONSTANTS_H_
diff --git a/ppapi/shared_impl/ppapi_nacl_plugin_args.cc b/ppapi/shared_impl/ppapi_nacl_plugin_args.cc
index 92df690..4dd5110 100644
--- a/ppapi/shared_impl/ppapi_nacl_plugin_args.cc
+++ b/ppapi/shared_impl/ppapi_nacl_plugin_args.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "ppapi/shared_impl/ppapi_constants.h"
#include "ppapi/shared_impl/ppapi_nacl_plugin_args.h"
namespace ppapi {
@@ -9,7 +10,10 @@ namespace ppapi {
// We must provide explicit definitions of these functions for builds on
// Windows.
PpapiNaClPluginArgs::PpapiNaClPluginArgs()
- : off_the_record(false), supports_dev_channel(false) {}
+ : off_the_record(false),
+ supports_dev_channel(false),
+ keepalive_throttle_interval_milliseconds(
+ kKeepaliveThrottleIntervalDefaultMilliseconds) {}
PpapiNaClPluginArgs::~PpapiNaClPluginArgs() {}
diff --git a/ppapi/shared_impl/ppapi_nacl_plugin_args.h b/ppapi/shared_impl/ppapi_nacl_plugin_args.h
index 2f18c8e..993131d 100644
--- a/ppapi/shared_impl/ppapi_nacl_plugin_args.h
+++ b/ppapi/shared_impl/ppapi_nacl_plugin_args.h
@@ -20,6 +20,7 @@ struct PPAPI_SHARED_EXPORT PpapiNaClPluginArgs {
bool off_the_record;
PpapiPermissions permissions;
bool supports_dev_channel;
+ unsigned keepalive_throttle_interval_milliseconds;
// Switches from the command-line.
std::vector<std::string> switch_names;
diff --git a/ppapi/shared_impl/ppapi_switches.cc b/ppapi/shared_impl/ppapi_switches.cc
index 2a3f1c28..84ba250 100644
--- a/ppapi/shared_impl/ppapi_switches.cc
+++ b/ppapi/shared_impl/ppapi_switches.cc
@@ -9,7 +9,4 @@ namespace switches {
// Enables the testing interface for PPAPI.
const char kEnablePepperTesting[] = "enable-pepper-testing";
-// Specifies throttling time in milliseconds for PpapiHostMsg_Keepalive IPCs.
-const char kPpapiKeepAliveThrottle[] = "ppapi-keep-alive-throttle";
-
} // namespace switches
diff --git a/ppapi/shared_impl/ppapi_switches.h b/ppapi/shared_impl/ppapi_switches.h
index 4fb9c3481..a5c8e9d 100644
--- a/ppapi/shared_impl/ppapi_switches.h
+++ b/ppapi/shared_impl/ppapi_switches.h
@@ -10,7 +10,6 @@
namespace switches {
PPAPI_SHARED_EXPORT extern const char kEnablePepperTesting[];
-PPAPI_SHARED_EXPORT extern const char kPpapiKeepAliveThrottle[];
} // namespace switches