Index: chrome/browser/app_controller_mac.mm |
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm |
index 2e2dfe57e200c64a0cff295ef819aeefefa3b63b..f0fbcc36977a8ae503bd2b950abfa9a87d926448 100644 |
--- a/chrome/browser/app_controller_mac.mm |
+++ b/chrome/browser/app_controller_mac.mm |
@@ -74,6 +74,7 @@ |
#include "chrome/browser/ui/startup/startup_browser_creator.h" |
#include "chrome/browser/ui/startup/startup_browser_creator_impl.h" |
#include "chrome/browser/ui/user_manager.h" |
+#include "chrome/browser/web_applications/web_app_mac.h" |
#include "chrome/common/chrome_paths_internal.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/cloud_print/cloud_print_class_mac.h" |
@@ -93,11 +94,14 @@ |
#include "content/public/browser/plugin_service.h" |
#include "content/public/browser/user_metrics.h" |
#include "extensions/browser/extension_system.h" |
+#include "extensions/browser/extension_registry.h" |
#include "net/base/filename_util.h" |
#include "ui/base/cocoa/focus_window_set.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/l10n/l10n_util_mac.h" |
+using apps::AppShimHandler; |
+using apps::ExtensionAppShimHandler; |
using base::UserMetricsAction; |
using content::BrowserContext; |
using content::BrowserThread; |
@@ -1187,6 +1191,17 @@ class AppControllerProfileObserver : public ProfileInfoCacheObserver { |
std::set<NSWindow*> browserWindows; |
for (chrome::BrowserIterator iter; !iter.done(); iter.Next()) { |
Browser* browser = *iter; |
+ if (browser && browser->is_app()) { |
Robert Sesek
2014/12/15 21:31:00
Document what this is doing.
mitchellj
2014/12/15 22:39:10
Done.
|
+ ExtensionAppShimHandler* handler = g_browser_process->platform_part() |
Robert Sesek
2014/12/15 21:31:00
You could pull this local out of the loop (and nam
mitchellj
2014/12/15 22:39:10
Done.
|
+ ->app_shim_host_manager() |
+ ->extension_app_shim_handler(); |
+ AppShimHandler::Host* host = handler->FindHost( |
+ browser->profile(), |
+ web_app::GetExtensionIdFromApplicationName(browser->app_name())); |
+ if (host) { |
+ continue; |
+ } |
+ } |
browserWindows.insert(browser->window()->GetNativeWindow()); |
} |
if (!browserWindows.empty()) { |