summaryrefslogtreecommitdiffstats
path: root/extensions/browser/process_manager.h
diff options
context:
space:
mode:
authorkmarshall <kmarshall@chromium.org>2015-04-28 18:41:47 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-29 01:42:17 +0000
commit24b29b2f35f869b17579d6e95290482cec8ea4f1 (patch)
treee73bd09b11bb0864fc32a1246e339c2482d62aae /extensions/browser/process_manager.h
parentddc17490a20df0ed22f96995d4f007c7b437d77f (diff)
downloadchromium_src-24b29b2f35f869b17579d6e95290482cec8ea4f1.zip
chromium_src-24b29b2f35f869b17579d6e95290482cec8ea4f1.tar.gz
chromium_src-24b29b2f35f869b17579d6e95290482cec8ea4f1.tar.bz2
Create interface "EventPageTracker" for checking an extension's
suspend state and waking it up. Make ProcessManager inherit from EventPageTracker. Add new WakeExtension method to ProcessManager. R=kalman@chromium.org,mfoltz@chromium.org BUG= Review URL: https://codereview.chromium.org/1096313003 Cr-Commit-Position: refs/heads/master@{#327412}
Diffstat (limited to 'extensions/browser/process_manager.h')
-rw-r--r--extensions/browser/process_manager.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/extensions/browser/process_manager.h b/extensions/browser/process_manager.h
index de23f1e..2b7b64f 100644
--- a/extensions/browser/process_manager.h
+++ b/extensions/browser/process_manager.h
@@ -17,6 +17,7 @@
#include "components/keyed_service/core/keyed_service.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
+#include "extensions/browser/event_page_tracker.h"
#include "extensions/browser/extension_registry_observer.h"
#include "extensions/common/extension.h"
#include "extensions/common/view_type.h"
@@ -43,7 +44,8 @@ class ProcessManagerObserver;
// track of split-mode extensions only.
class ProcessManager : public KeyedService,
public content::NotificationObserver,
- public ExtensionRegistryObserver {
+ public ExtensionRegistryObserver,
+ public EventPageTracker {
public:
using ExtensionHostSet = std::set<extensions::ExtensionHost*>;
@@ -145,6 +147,11 @@ class ProcessManager : public KeyedService,
void SetKeepaliveImpulseDecrementCallbackForTesting(
const ImpulseCallbackForTesting& callback);
+ // EventPageTracker implementation.
+ bool IsEventPageSuspended(const std::string& extension_id) override;
+ bool WakeEventPage(const std::string& extension_id,
+ const base::Callback<void(bool)>& callback) override;
+
// Sets the time in milliseconds that an extension event page can
// be idle before it is shut down; must be > 0.
static void SetEventPageIdleTimeForTesting(unsigned idle_time_msec);