| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.h" | 5 #import "chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.h" |
| 6 | 6 |
| 7 #include "apps/app_shim/extension_app_shim_handler_mac.h" | 7 #include "apps/app_shim/extension_app_shim_handler_mac.h" |
| 8 #include "apps/app_window.h" | |
| 9 #include "apps/app_window_registry.h" | |
| 10 #include "base/strings/sys_string_conversions.h" | 8 #include "base/strings/sys_string_conversions.h" |
| 11 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 12 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
| 13 #import "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" | 11 #import "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" |
| 14 #include "chrome/grit/generated_resources.h" | 12 #include "chrome/grit/generated_resources.h" |
| 13 #include "extensions/browser/app_window/app_window.h" |
| 14 #include "extensions/browser/app_window/app_window_registry.h" |
| 15 #include "extensions/common/extension.h" | 15 #include "extensions/common/extension.h" |
| 16 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
| 17 #include "ui/base/l10n/l10n_util_mac.h" | 17 #include "ui/base/l10n/l10n_util_mac.h" |
| 18 | 18 |
| 19 namespace { | 19 namespace { |
| 20 | 20 |
| 21 // Gets an item from the main menu given the tag of the top level item | 21 // Gets an item from the main menu given the tag of the top level item |
| 22 // |menu_tag| and the tag of the item |item_tag|. | 22 // |menu_tag| and the tag of the item |item_tag|. |
| 23 NSMenuItem* GetItemByTag(NSInteger menu_tag, NSInteger item_tag) { | 23 NSMenuItem* GetItemByTag(NSInteger menu_tag, NSInteger item_tag) { |
| 24 return [[[[NSApp mainMenu] itemWithTag:menu_tag] submenu] | 24 return [[[[NSApp mainMenu] itemWithTag:menu_tag] submenu] |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 addObserver:self | 273 addObserver:self |
| 274 selector:@selector(windowMainStatusChanged:) | 274 selector:@selector(windowMainStatusChanged:) |
| 275 name:NSWindowWillCloseNotification | 275 name:NSWindowWillCloseNotification |
| 276 object:nil]; | 276 object:nil]; |
| 277 } | 277 } |
| 278 | 278 |
| 279 - (void)windowMainStatusChanged:(NSNotification*)notification { | 279 - (void)windowMainStatusChanged:(NSNotification*)notification { |
| 280 id window = [notification object]; | 280 id window = [notification object]; |
| 281 NSString* name = [notification name]; | 281 NSString* name = [notification name]; |
| 282 if ([name isEqualToString:NSWindowDidBecomeMainNotification]) { | 282 if ([name isEqualToString:NSWindowDidBecomeMainNotification]) { |
| 283 apps::AppWindow* appWindow = | 283 extensions::AppWindow* appWindow = |
| 284 apps::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile(window); | 284 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( |
| 285 window); |
| 285 | 286 |
| 286 const extensions::Extension* extension = NULL; | 287 const extensions::Extension* extension = NULL; |
| 287 if (appWindow) | 288 if (appWindow) |
| 288 extension = appWindow->GetExtension(); | 289 extension = appWindow->GetExtension(); |
| 289 | 290 |
| 290 if (extension) | 291 if (extension) |
| 291 [self addMenuItems:extension]; | 292 [self addMenuItems:extension]; |
| 292 else | 293 else |
| 293 [self removeMenuItems]; | 294 [self removeMenuItems]; |
| 294 } else if ([name isEqualToString:NSWindowWillCloseNotification]) { | 295 } else if ([name isEqualToString:NSWindowWillCloseNotification]) { |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 [item setHidden:NO]; | 354 [item setHidden:NO]; |
| 354 | 355 |
| 355 [aboutDoppelganger_ disable]; | 356 [aboutDoppelganger_ disable]; |
| 356 [hideDoppelganger_ disable]; | 357 [hideDoppelganger_ disable]; |
| 357 [quitDoppelganger_ disable]; | 358 [quitDoppelganger_ disable]; |
| 358 [newDoppelganger_ disable]; | 359 [newDoppelganger_ disable]; |
| 359 [openDoppelganger_ disable]; | 360 [openDoppelganger_ disable]; |
| 360 } | 361 } |
| 361 | 362 |
| 362 - (void)quitCurrentPlatformApp { | 363 - (void)quitCurrentPlatformApp { |
| 363 apps::AppWindow* appWindow = | 364 extensions::AppWindow* appWindow = |
| 364 apps::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 365 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( |
| 365 [NSApp keyWindow]); | 366 [NSApp keyWindow]); |
| 366 if (appWindow) | 367 if (appWindow) |
| 367 apps::ExtensionAppShimHandler::QuitAppForWindow(appWindow); | 368 apps::ExtensionAppShimHandler::QuitAppForWindow(appWindow); |
| 368 } | 369 } |
| 369 | 370 |
| 370 - (void)hideCurrentPlatformApp { | 371 - (void)hideCurrentPlatformApp { |
| 371 apps::AppWindow* appWindow = | 372 extensions::AppWindow* appWindow = |
| 372 apps::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 373 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( |
| 373 [NSApp keyWindow]); | 374 [NSApp keyWindow]); |
| 374 if (appWindow) | 375 if (appWindow) |
| 375 apps::ExtensionAppShimHandler::HideAppForWindow(appWindow); | 376 apps::ExtensionAppShimHandler::HideAppForWindow(appWindow); |
| 376 } | 377 } |
| 377 | 378 |
| 378 - (void)focusCurrentPlatformApp { | 379 - (void)focusCurrentPlatformApp { |
| 379 apps::AppWindow* appWindow = | 380 extensions::AppWindow* appWindow = |
| 380 apps::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 381 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( |
| 381 [NSApp keyWindow]); | 382 [NSApp keyWindow]); |
| 382 if (appWindow) | 383 if (appWindow) |
| 383 apps::ExtensionAppShimHandler::FocusAppForWindow(appWindow); | 384 apps::ExtensionAppShimHandler::FocusAppForWindow(appWindow); |
| 384 } | 385 } |
| 385 | 386 |
| 386 @end | 387 @end |
| OLD | NEW |