Index: chrome/browser/app_controller_mac.mm |
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm |
index f234859d815687b6b0dabd654fc198d6c8c3d898..b3711a6cc14f05c2c9fe33898fea5658d7a34390 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,6 +94,7 @@ |
#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" |
@@ -1187,6 +1189,16 @@ class AppControllerProfileObserver : public ProfileInfoCacheObserver { |
std::set<NSWindow*> browserWindows; |
for (chrome::BrowserIterator iter; !iter.done(); iter.Next()) { |
Browser* browser = *iter; |
+ if (browser && browser->is_app()) { |
+ extensions::ExtensionRegistry* registry = |
+ extensions::ExtensionRegistry::Get(browser->profile()); |
+ const extensions::Extension* extension = registry->GetExtensionById( |
+ web_app::GetExtensionIdFromApplicationName(browser->app_name()), |
+ extensions::ExtensionRegistry::ENABLED); |
+ if (extension->is_hosted_app()) { |
jackhou1
2014/12/11 02:43:18
The goal here is to identify windows that are not
mitchellj
2014/12/12 00:03:45
Done.
|
+ continue; |
+ } |
+ } |
browserWindows.insert(browser->window()->GetNativeWindow()); |
} |
if (!browserWindows.empty()) { |