| 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_BRIDGED_CONTENT_VIEW_H_ | 5 #ifndef UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
| 6 #define UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ | 6 #define UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
| 7 | 7 |
| 8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
| 9 | 9 |
| 10 #import "ui/base/cocoa/tracking_area.h" | 10 #import "ui/base/cocoa/tracking_area.h" |
| 11 | 11 |
| 12 namespace ui { | 12 namespace ui { |
| 13 class TextInputClient; | 13 class TextInputClient; |
| 14 } | 14 } |
| 15 | 15 |
| 16 namespace views { | 16 namespace views { |
| 17 class View; | 17 class View; |
| 18 } | 18 } |
| 19 | 19 |
| 20 // The NSView that sits as the root contentView of the NSWindow, whilst it has | 20 // The NSView that sits as the root contentView of the NSWindow, whilst it has |
| 21 // a views::RootView present. Bridges requests from Cocoa to the hosted | 21 // a views::RootView present. Bridges requests from Cocoa to the hosted |
| 22 // views::View. | 22 // views::View. |
| 23 @interface BridgedContentView : NSView<NSTextInputClient> { | 23 @interface BridgedContentView : NSView<NSTextInputClient, |
| 24 NSUserInterfaceValidations> { |
| 24 @private | 25 @private |
| 25 // Weak. The hosted RootView, owned by hostedView_->GetWidget(). | 26 // Weak. The hosted RootView, owned by hostedView_->GetWidget(). |
| 26 views::View* hostedView_; | 27 views::View* hostedView_; |
| 27 | 28 |
| 28 // Weak. If non-null the TextInputClient of the currently focused View in the | 29 // Weak. If non-null the TextInputClient of the currently focused View in the |
| 29 // hierarchy rooted at |hostedView_|. Owned by the focused View. | 30 // hierarchy rooted at |hostedView_|. Owned by the focused View. |
| 30 ui::TextInputClient* textInputClient_; | 31 ui::TextInputClient* textInputClient_; |
| 31 | 32 |
| 32 // A tracking area installed to enable mouseMoved events. | 33 // A tracking area installed to enable mouseMoved events. |
| 33 ui::ScopedCrTrackingArea trackingArea_; | 34 ui::ScopedCrTrackingArea trackingArea_; |
| 35 |
| 36 // Whether the view is reacting to a keyDown event on the view. |
| 37 BOOL inKeyDown_; |
| 34 } | 38 } |
| 35 | 39 |
| 36 @property(readonly, nonatomic) views::View* hostedView; | 40 @property(readonly, nonatomic) views::View* hostedView; |
| 37 @property(assign, nonatomic) ui::TextInputClient* textInputClient; | 41 @property(assign, nonatomic) ui::TextInputClient* textInputClient; |
| 38 | 42 |
| 39 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. | 43 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. |
| 40 - (id)initWithView:(views::View*)viewToHost; | 44 - (id)initWithView:(views::View*)viewToHost; |
| 41 | 45 |
| 42 // Clear the hosted view. For example, if it is about to be destroyed. | 46 // Clear the hosted view. For example, if it is about to be destroyed. |
| 43 - (void)clearView; | 47 - (void)clearView; |
| 44 | 48 |
| 45 // Process a mouse event captured while the widget had global mouse capture. | 49 // Process a mouse event captured while the widget had global mouse capture. |
| 46 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; | 50 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; |
| 47 | 51 |
| 48 @end | 52 @end |
| 49 | 53 |
| 50 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ | 54 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
| OLD | NEW |