| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ui/views/cocoa/native_widget_mac_nswindow.h" | 5 #import "ui/views/cocoa/native_widget_mac_nswindow.h" |
| 6 | 6 |
| 7 #include "base/mac/foundation_util.h" | 7 #include "base/mac/foundation_util.h" |
| 8 #import "ui/views/cocoa/views_nswindow_delegate.h" | 8 #import "ui/views/cocoa/views_nswindow_delegate.h" |
| 9 #include "ui/views/controls/menu/menu_controller.h" | 9 #include "ui/views/controls/menu/menu_controller.h" |
| 10 #include "ui/views/widget/native_widget_mac.h" | 10 #include "ui/views/widget/native_widget_mac.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 defer:(BOOL)deferCreation { | 31 defer:(BOOL)deferCreation { |
| 32 if ((self = [super initWithContentRect:contentRect | 32 if ((self = [super initWithContentRect:contentRect |
| 33 styleMask:windowStyle | 33 styleMask:windowStyle |
| 34 backing:bufferingType | 34 backing:bufferingType |
| 35 defer:deferCreation])) { | 35 defer:deferCreation])) { |
| 36 commandDispatcher_.reset([[CommandDispatcher alloc] initWithOwner:self]); | 36 commandDispatcher_.reset([[CommandDispatcher alloc] initWithOwner:self]); |
| 37 } | 37 } |
| 38 return self; | 38 return self; |
| 39 } | 39 } |
| 40 | 40 |
| 41 // Public methods. |
| 42 |
| 43 - (void)setCommandDispatcherDelegate:(id<CommandDispatcherDelegate>)delegate { |
| 44 [commandDispatcher_ setDelegate:delegate]; |
| 45 } |
| 46 |
| 47 // Private methods. |
| 48 |
| 41 - (ViewsNSWindowDelegate*)viewsNSWindowDelegate { | 49 - (ViewsNSWindowDelegate*)viewsNSWindowDelegate { |
| 42 return base::mac::ObjCCastStrict<ViewsNSWindowDelegate>([self delegate]); | 50 return base::mac::ObjCCastStrict<ViewsNSWindowDelegate>([self delegate]); |
| 43 } | 51 } |
| 44 | 52 |
| 45 - (views::Widget*)viewsWidget { | 53 - (views::Widget*)viewsWidget { |
| 46 return [[self viewsNSWindowDelegate] nativeWidgetMac]->GetWidget(); | 54 return [[self viewsNSWindowDelegate] nativeWidgetMac]->GetWidget(); |
| 47 } | 55 } |
| 48 | 56 |
| 49 - (BOOL)hasViewsMenuActive { | 57 - (BOOL)hasViewsMenuActive { |
| 50 views::MenuController* menuController = | 58 views::MenuController* menuController = |
| 51 views::MenuController::GetActiveInstance(); | 59 views::MenuController::GetActiveInstance(); |
| 52 return menuController && menuController->owner() == [self viewsWidget]; | 60 return menuController && menuController->owner() == [self viewsWidget]; |
| 53 } | 61 } |
| 54 | 62 |
| 63 // NSWindow overrides. |
| 64 |
| 55 - (BOOL)_isTitleHidden { | 65 - (BOOL)_isTitleHidden { |
| 56 if (![self delegate]) | 66 if (![self delegate]) |
| 57 return NO; | 67 return NO; |
| 58 | 68 |
| 59 return ![self viewsWidget]->widget_delegate()->ShouldShowWindowTitle(); | 69 return ![self viewsWidget]->widget_delegate()->ShouldShowWindowTitle(); |
| 60 } | 70 } |
| 61 | 71 |
| 62 // Ignore [super canBecome{Key,Main}Window]. The default is NO for windows with | 72 // Ignore [super canBecome{Key,Main}Window]. The default is NO for windows with |
| 63 // NSBorderlessWindowMask, which is not the desired behavior. | 73 // NSBorderlessWindowMask, which is not the desired behavior. |
| 64 // Note these can be called via -[NSWindow close] while the widget is being torn | 74 // Note these can be called via -[NSWindow close] while the widget is being torn |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 | 162 |
| 153 - (BOOL)redispatchKeyEvent:(NSEvent*)event { | 163 - (BOOL)redispatchKeyEvent:(NSEvent*)event { |
| 154 return [commandDispatcher_ redispatchKeyEvent:event]; | 164 return [commandDispatcher_ redispatchKeyEvent:event]; |
| 155 } | 165 } |
| 156 | 166 |
| 157 - (BOOL)defaultPerformKeyEquivalent:(NSEvent*)event { | 167 - (BOOL)defaultPerformKeyEquivalent:(NSEvent*)event { |
| 158 return [super performKeyEquivalent:event]; | 168 return [super performKeyEquivalent:event]; |
| 159 } | 169 } |
| 160 | 170 |
| 161 @end | 171 @end |
| OLD | NEW |