Index: apps/app_shim/extension_app_shim_handler_mac.cc |
diff --git a/apps/app_shim/extension_app_shim_handler_mac.cc b/apps/app_shim/extension_app_shim_handler_mac.cc |
index 9d31d694c01b0108da1fbd655424b845b69e8ccd..4b497852abd5c8e62c94237070ff12380e3add32 100644 |
--- a/apps/app_shim/extension_app_shim_handler_mac.cc |
+++ b/apps/app_shim/extension_app_shim_handler_mac.cc |
@@ -12,7 +12,9 @@ |
#include "chrome/browser/extensions/extension_system.h" |
#include "chrome/browser/extensions/shell_window_registry.h" |
#include "chrome/browser/ui/extensions/application_launch.h" |
+#include "chrome/browser/ui/extensions/native_app_window.h" |
#include "chrome/browser/ui/extensions/shell_window.h" |
+#include "content/public/browser/web_contents.h" |
tapted
2013/05/27 06:44:29
is this used?
jackhou1
2013/05/28 07:30:22
Nope, removed.
|
#include "ui/base/cocoa/focus_window_set.h" |
namespace apps { |
@@ -73,13 +75,26 @@ void ExtensionAppShimHandler::OnShimFocus(Host* host) { |
const extensions::ShellWindowRegistry::ShellWindowList windows = |
registry->GetShellWindowsForApp(host->GetAppId()); |
std::set<gfx::NativeWindow> native_windows; |
- for (extensions::ShellWindowRegistry::const_iterator i = windows.begin(); |
- i != windows.end(); ++i) { |
- native_windows.insert((*i)->GetNativeWindow()); |
+ for (extensions::ShellWindowRegistry::const_iterator it = windows.begin(); |
+ it != windows.end(); ++it) { |
+ native_windows.insert((*it)->GetNativeWindow()); |
} |
ui::FocusWindowSet(native_windows); |
} |
+void ExtensionAppShimHandler::OnShimQuit(Host* host) { |
+ if (!host->GetProfile()) |
+ return; |
+ |
+ extensions::ShellWindowRegistry::ShellWindowList windows = |
+ extensions::ShellWindowRegistry::Get(host->GetProfile())-> |
+ GetShellWindowsForApp(host->GetAppId()); |
+ for (extensions::ShellWindowRegistry::const_iterator it = windows.begin(); |
+ it != windows.end(); ++it) { |
+ (*it)->GetBaseWindow()->Close(); |
+ } |
+} |
+ |
bool ExtensionAppShimHandler::LaunchApp(Profile* profile, |
const std::string& app_id) { |
extensions::ExtensionSystem* extension_system = |