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 #ifndef UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ | 5 #ifndef UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ |
6 #define UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ | 6 #define UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 namespace views { | 10 namespace views { |
11 class NativeWidgetMac; | 11 class NativeWidgetMac; |
12 class BridgedNativeWidget; | 12 class BridgedNativeWidget; |
13 } | 13 } |
14 | 14 |
15 // The delegate set on the NSWindow when a views::BridgedNativeWidget is | 15 // The delegate set on the NSWindow when a views::BridgedNativeWidget is |
16 // initialized. | 16 // initialized. |
17 @interface ViewsNSWindowDelegate : NSObject<NSWindowDelegate> { | 17 @interface ViewsNSWindowDelegate : NSObject<NSWindowDelegate> { |
18 @private | 18 @private |
19 views::BridgedNativeWidget* parent_; // Weak. Owns this. | 19 views::BridgedNativeWidget* parent_; // Weak. Owns this. |
20 } | 20 } |
21 | 21 |
22 // The NativeWidgetMac that created the window this is attached to. Returns | 22 // The NativeWidgetMac that created the window this is attached to. Returns |
23 // NULL if not created by NativeWidgetMac. | 23 // NULL if not created by NativeWidgetMac. |
24 @property(nonatomic, readonly) views::NativeWidgetMac* nativeWidgetMac; | 24 @property(nonatomic, readonly) views::NativeWidgetMac* nativeWidgetMac; |
25 | 25 |
26 // Initialize with the given |parent|. | 26 // Initialize with the given |parent|. |
27 - (id)initWithBridgedNativeWidget:(views::BridgedNativeWidget*)parent; | 27 - (id)initWithBridgedNativeWidget:(views::BridgedNativeWidget*)parent; |
28 | 28 |
| 29 // Notify that the window is about to be reordered on screen. This ensures a |
| 30 // paint will occur, even if Cocoa has not yet updated the window visibility. |
| 31 - (void)onWindowOrderWillChange:(NSWindowOrderingMode)orderingMode; |
| 32 |
| 33 // Notify that the window has been reordered in (or removed from) the window |
| 34 // server's screen list. This is a substitute for -[NSWindowDelegate |
| 35 // windowDidExpose:], which is only sent for nonretained windows (those without |
| 36 // a backing store). |
| 37 - (void)onWindowOrderChanged; |
| 38 |
29 @end | 39 @end |
30 | 40 |
31 #endif // UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ | 41 #endif // UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ |
OLD | NEW |