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

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: Devlin and Maksim feedback 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))
Devlin 2017/03/13 19:39:35 We check this in three different places now, makin
achuithb 2017/03/15 00:40:25 It does seem that way :/ What would you propose?
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/15 00:40:25 We could potentially drop this check since we chec
Devlin 2017/03/17 16:37:23 This one is somewhat beneficial, since it helps us
achuithb 2017/03/22 00:15:53 Done.
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()))
Devlin 2017/03/17 16:37:23 This one should be able to be avoided - we'll chec
achuithb 2017/03/22 00:15:53 Done.
+ CreateBackgroundHostForExtensionLoad(this, extension.get());
for (auto& observer : observer_list_)
observer.OnBackgroundHostStartup(extension.get());
}

Powered by Google App Engine
This is Rietveld 408576698