diff options
author | emaxx <emaxx@chromium.org> | 2015-05-29 04:26:00 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-29 11:26:31 +0000 |
commit | e70f5e1d286a200d420a996fcc2ff7fa7a2780a2 (patch) | |
tree | a4d700fca0037a858e5def87fb621d8924903746 /extensions/browser/extension_web_contents_observer.cc | |
parent | 7a9e97c09150725748953ca9e1cf118d56d35f55 (diff) | |
download | chromium_src-e70f5e1d286a200d420a996fcc2ff7fa7a2780a2.zip chromium_src-e70f5e1d286a200d420a996fcc2ff7fa7a2780a2.tar.gz chromium_src-e70f5e1d286a200d420a996fcc2ff7fa7a2780a2.tar.bz2 |
Keep event page alive when there's some Pepper plugin on it.
BUG=472532
Review URL: https://codereview.chromium.org/1117023002
Cr-Commit-Position: refs/heads/master@{#331945}
Diffstat (limited to 'extensions/browser/extension_web_contents_observer.cc')
-rw-r--r-- | extensions/browser/extension_web_contents_observer.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/extensions/browser/extension_web_contents_observer.cc b/extensions/browser/extension_web_contents_observer.cc index 5ba2ebb..04335a5 100644 --- a/extensions/browser/extension_web_contents_observer.cc +++ b/extensions/browser/extension_web_contents_observer.cc @@ -18,6 +18,7 @@ #include "extensions/browser/process_manager.h" #include "extensions/browser/view_type_utils.h" #include "extensions/common/constants.h" +#include "extensions/common/extension.h" #include "extensions/common/extension_messages.h" namespace extensions { @@ -156,6 +157,22 @@ void ExtensionWebContentsObserver::NotifyRenderViewType( } } +void ExtensionWebContentsObserver::PepperInstanceCreated() { + ProcessManager* const process_manager = ProcessManager::Get(browser_context_); + const Extension* const extension = + process_manager->GetExtensionForWebContents(web_contents()); + if (extension) + process_manager->IncrementLazyKeepaliveCount(extension); +} + +void ExtensionWebContentsObserver::PepperInstanceDeleted() { + ProcessManager* const process_manager = ProcessManager::Get(browser_context_); + const Extension* const extension = + process_manager->GetExtensionForWebContents(web_contents()); + if (extension) + process_manager->DecrementLazyKeepaliveCount(extension); +} + const Extension* ExtensionWebContentsObserver::GetExtension( content::RenderViewHost* render_view_host) { std::string extension_id = GetExtensionId(render_view_host); |