OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_
cocoa.h" | 5 #include "chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_
cocoa.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/memory/ptr_util.h" |
8 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
9 #include "chrome/browser/ui/browser_window.h" | 10 #include "chrome/browser/ui/browser_window.h" |
10 #import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h" | 11 #import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h" |
11 #import "chrome/browser/ui/cocoa/browser_window_controller.h" | 12 #import "chrome/browser/ui/cocoa/browser_window_controller.h" |
12 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" | 13 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" |
13 | 14 |
14 // static | 15 // static |
15 scoped_ptr<MediaRouterActionPlatformDelegate> | 16 std::unique_ptr<MediaRouterActionPlatformDelegate> |
16 MediaRouterActionPlatformDelegate::Create(Browser* browser) { | 17 MediaRouterActionPlatformDelegate::Create(Browser* browser) { |
17 return make_scoped_ptr(new MediaRouterActionPlatformDelegateCocoa(browser)); | 18 return base::WrapUnique(new MediaRouterActionPlatformDelegateCocoa(browser)); |
18 } | 19 } |
19 | 20 |
20 MediaRouterActionPlatformDelegateCocoa::MediaRouterActionPlatformDelegateCocoa( | 21 MediaRouterActionPlatformDelegateCocoa::MediaRouterActionPlatformDelegateCocoa( |
21 Browser* browser) | 22 Browser* browser) |
22 : MediaRouterActionPlatformDelegate(), | 23 : MediaRouterActionPlatformDelegate(), |
23 browser_(browser) { | 24 browser_(browser) { |
24 DCHECK(browser_); | 25 DCHECK(browser_); |
25 } | 26 } |
26 | 27 |
27 MediaRouterActionPlatformDelegateCocoa:: | 28 MediaRouterActionPlatformDelegateCocoa:: |
28 ~MediaRouterActionPlatformDelegateCocoa() { | 29 ~MediaRouterActionPlatformDelegateCocoa() { |
29 } | 30 } |
30 | 31 |
31 bool MediaRouterActionPlatformDelegateCocoa::CloseOverflowMenuIfOpen() { | 32 bool MediaRouterActionPlatformDelegateCocoa::CloseOverflowMenuIfOpen() { |
32 // TODO(apacible): This should be factored to share code with extension | 33 // TODO(apacible): This should be factored to share code with extension |
33 // actions. | 34 // actions. |
34 AppMenuController* appMenuController = | 35 AppMenuController* appMenuController = |
35 [[[BrowserWindowController | 36 [[[BrowserWindowController |
36 browserWindowControllerForWindow: | 37 browserWindowControllerForWindow: |
37 browser_->window()->GetNativeWindow()] | 38 browser_->window()->GetNativeWindow()] |
38 toolbarController] appMenuController]; | 39 toolbarController] appMenuController]; |
39 if (![appMenuController isMenuOpen]) | 40 if (![appMenuController isMenuOpen]) |
40 return false; | 41 return false; |
41 | 42 |
42 [appMenuController cancel]; | 43 [appMenuController cancel]; |
43 return true; | 44 return true; |
44 } | 45 } |
OLD | NEW |