| 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 "base/mac/scoped_nsautorelease_pool.h" | 7 #include "base/mac/scoped_nsautorelease_pool.h" |
| 8 #include "base/strings/sys_string_conversions.h" | 8 #include "base/strings/sys_string_conversions.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
| 11 #include "chrome/browser/apps/app_shim/extension_app_shim_handler_mac.h" | 11 #include "chrome/browser/apps/app_shim/extension_app_shim_handler_mac.h" |
| 12 #include "chrome/browser/apps/app_window_registry_util.h" |
| 12 #import "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" | 13 #import "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" |
| 13 #include "chrome/grit/generated_resources.h" | 14 #include "chrome/grit/generated_resources.h" |
| 14 #include "extensions/browser/app_window/app_window.h" | 15 #include "extensions/browser/app_window/app_window.h" |
| 15 #include "extensions/browser/app_window/app_window_registry.h" | |
| 16 #include "extensions/common/extension.h" | 16 #include "extensions/common/extension.h" |
| 17 #include "ui/base/l10n/l10n_util.h" | 17 #include "ui/base/l10n/l10n_util.h" |
| 18 #include "ui/base/l10n/l10n_util_mac.h" | 18 #include "ui/base/l10n/l10n_util_mac.h" |
| 19 | 19 |
| 20 namespace { | 20 namespace { |
| 21 | 21 |
| 22 // Gets an item from the main menu given the tag of the top level item | 22 // Gets an item from the main menu given the tag of the top level item |
| 23 // |menu_tag| and the tag of the item |item_tag|. | 23 // |menu_tag| and the tag of the item |item_tag|. |
| 24 NSMenuItem* GetItemByTag(NSInteger menu_tag, NSInteger item_tag) { | 24 NSMenuItem* GetItemByTag(NSInteger menu_tag, NSInteger item_tag) { |
| 25 return [[[[NSApp mainMenu] itemWithTag:menu_tag] submenu] | 25 return [[[[NSApp mainMenu] itemWithTag:menu_tag] submenu] |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 // -dealloc for a specific NSWindow. Any autoreleases sent to that window | 282 // -dealloc for a specific NSWindow. Any autoreleases sent to that window |
| 283 // must be drained before the window finishes -dealloc. In this method, an | 283 // must be drained before the window finishes -dealloc. In this method, an |
| 284 // autorelease is sent by the invocation of [NSApp windows]. | 284 // autorelease is sent by the invocation of [NSApp windows]. |
| 285 // http://crbug.com/406944. | 285 // http://crbug.com/406944. |
| 286 base::mac::ScopedNSAutoreleasePool pool; | 286 base::mac::ScopedNSAutoreleasePool pool; |
| 287 | 287 |
| 288 id window = [notification object]; | 288 id window = [notification object]; |
| 289 NSString* name = [notification name]; | 289 NSString* name = [notification name]; |
| 290 if ([name isEqualToString:NSWindowDidBecomeMainNotification]) { | 290 if ([name isEqualToString:NSWindowDidBecomeMainNotification]) { |
| 291 extensions::AppWindow* appWindow = | 291 extensions::AppWindow* appWindow = |
| 292 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 292 AppWindowRegistryUtil::GetAppWindowForNativeWindowAnyProfile( |
| 293 window); | 293 window); |
| 294 | 294 |
| 295 const extensions::Extension* extension = NULL; | 295 const extensions::Extension* extension = NULL; |
| 296 if (appWindow) | 296 if (appWindow) |
| 297 extension = appWindow->GetExtension(); | 297 extension = appWindow->GetExtension(); |
| 298 | 298 |
| 299 if (extension) | 299 if (extension) |
| 300 [self addMenuItems:extension]; | 300 [self addMenuItems:extension]; |
| 301 else | 301 else |
| 302 [self removeMenuItems]; | 302 [self removeMenuItems]; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 | 363 |
| 364 [aboutDoppelganger_ disable]; | 364 [aboutDoppelganger_ disable]; |
| 365 [hideDoppelganger_ disable]; | 365 [hideDoppelganger_ disable]; |
| 366 [quitDoppelganger_ disable]; | 366 [quitDoppelganger_ disable]; |
| 367 [newDoppelganger_ disable]; | 367 [newDoppelganger_ disable]; |
| 368 [openDoppelganger_ disable]; | 368 [openDoppelganger_ disable]; |
| 369 } | 369 } |
| 370 | 370 |
| 371 - (void)quitCurrentPlatformApp { | 371 - (void)quitCurrentPlatformApp { |
| 372 extensions::AppWindow* appWindow = | 372 extensions::AppWindow* appWindow = |
| 373 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 373 AppWindowRegistryUtil::GetAppWindowForNativeWindowAnyProfile( |
| 374 [NSApp keyWindow]); | 374 [NSApp keyWindow]); |
| 375 if (appWindow) | 375 if (appWindow) |
| 376 apps::ExtensionAppShimHandler::QuitAppForWindow(appWindow); | 376 apps::ExtensionAppShimHandler::QuitAppForWindow(appWindow); |
| 377 } | 377 } |
| 378 | 378 |
| 379 - (void)hideCurrentPlatformApp { | 379 - (void)hideCurrentPlatformApp { |
| 380 extensions::AppWindow* appWindow = | 380 extensions::AppWindow* appWindow = |
| 381 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 381 AppWindowRegistryUtil::GetAppWindowForNativeWindowAnyProfile( |
| 382 [NSApp keyWindow]); | 382 [NSApp keyWindow]); |
| 383 if (appWindow) | 383 if (appWindow) |
| 384 apps::ExtensionAppShimHandler::HideAppForWindow(appWindow); | 384 apps::ExtensionAppShimHandler::HideAppForWindow(appWindow); |
| 385 } | 385 } |
| 386 | 386 |
| 387 - (void)focusCurrentPlatformApp { | 387 - (void)focusCurrentPlatformApp { |
| 388 extensions::AppWindow* appWindow = | 388 extensions::AppWindow* appWindow = |
| 389 extensions::AppWindowRegistry::GetAppWindowForNativeWindowAnyProfile( | 389 AppWindowRegistryUtil::GetAppWindowForNativeWindowAnyProfile( |
| 390 [NSApp keyWindow]); | 390 [NSApp keyWindow]); |
| 391 if (appWindow) | 391 if (appWindow) |
| 392 apps::ExtensionAppShimHandler::FocusAppForWindow(appWindow); | 392 apps::ExtensionAppShimHandler::FocusAppForWindow(appWindow); |
| 393 } | 393 } |
| 394 | 394 |
| 395 @end | 395 @end |
| OLD | NEW |