Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Unified Diff: extensions/browser/process_manager.cc

Issue 2149953002: Enable login screen apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Additional IsBackgroundPageAllowed check Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/browser/process_manager.cc
diff --git a/extensions/browser/process_manager.cc b/extensions/browser/process_manager.cc
index dc3b5e71266cc0a0b0c4ed56d36d244f6ed572b3..75f56052a39d29ac362157e49f239fa33de25feb 100644
--- a/extensions/browser/process_manager.cc
+++ b/extensions/browser/process_manager.cc
@@ -365,7 +365,8 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
// Don't create hosts if the embedder doesn't allow it.
ProcessManagerDelegate* delegate =
ExtensionsBrowserClient::Get()->GetProcessManagerDelegate();
- if (delegate && !delegate->IsBackgroundPageAllowed(browser_context_))
+ if (delegate &&
+ !delegate->IsBackgroundPageAllowed(browser_context_, extension))
return false;
// Don't create multiple background hosts for an extension.
@@ -387,7 +388,7 @@ void ProcessManager::MaybeCreateStartupBackgroundHosts() {
// The embedder might disallow background pages entirely.
ProcessManagerDelegate* delegate =
ExtensionsBrowserClient::Get()->GetProcessManagerDelegate();
- if (delegate && !delegate->IsBackgroundPageAllowed(browser_context_))
+ if (delegate && !delegate->IsBackgroundPageAllowed(browser_context_, nullptr))
achuithb 2017/03/09 14:31:06 This is where extension can be null. We considere
return;
// The embedder might want to defer background page loading. For example,
@@ -703,9 +704,13 @@ void ProcessManager::OnExtensionUnloaded(
void ProcessManager::CreateStartupBackgroundHosts() {
DCHECK(!startup_background_hosts_created_);
+ ProcessManagerDelegate* delegate =
+ ExtensionsBrowserClient::Get()->GetProcessManagerDelegate();
for (const scoped_refptr<const Extension>& extension :
extension_registry_->enabled_extensions()) {
- CreateBackgroundHostForExtensionLoad(this, extension.get());
+ if (delegate &&
+ delegate->IsBackgroundPageAllowed(browser_context_, extension.get()))
achuithb 2017/03/09 14:31:06 We've added this additional check because extensio
+ CreateBackgroundHostForExtensionLoad(this, extension.get());
for (auto& observer : observer_list_)
observer.OnBackgroundHostStartup(extension.get());
}

Powered by Google App Engine
This is Rietveld 408576698