Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: ui/views/controls/native/native_view_host.h

Issue 530933002: MacViews: Implement NativeViewHostMac (take 3) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Back to the "real" patch Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_CONTROLS_NATIVE_NATIVE_VIEW_HOST_H_ 5 #ifndef UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_H_
6 #define UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_H_ 6 #define UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "ui/gfx/native_widget_types.h" 10 #include "ui/gfx/native_widget_types.h"
11 #include "ui/views/view.h" 11 #include "ui/views/view.h"
12 12
13 namespace views { 13 namespace views {
14 namespace test {
15 class NativeViewHostTestBase;
16 }
14 17
15 class NativeViewHostAuraTest;
16 class NativeViewHostWrapper; 18 class NativeViewHostWrapper;
17 19
18 // If a NativeViewHost's native view is a Widget, this native window 20 // If a NativeViewHost's native view is a Widget, this native window
19 // property is set on the widget, pointing to the owning NativeViewHost. 21 // property is set on the widget, pointing to the owning NativeViewHost.
20 extern const char kWidgetNativeViewHostKey[]; 22 extern const char kWidgetNativeViewHostKey[];
21 23
22 // A View type that hosts a gfx::NativeView. The bounds of the native view are 24 // A View type that hosts a gfx::NativeView. The bounds of the native view are
23 // kept in sync with the bounds of this view as it is moved and sized. 25 // kept in sync with the bounds of this view as it is moved and sized.
24 // Under the hood, a platform-specific NativeViewHostWrapper implementation does 26 // Under the hood, a platform-specific NativeViewHostWrapper implementation does
25 // the platform-specific work of manipulating the underlying OS widget type. 27 // the platform-specific work of manipulating the underlying OS widget type.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 virtual gfx::NativeCursor GetCursor(const ui::MouseEvent& event) OVERRIDE; 92 virtual gfx::NativeCursor GetCursor(const ui::MouseEvent& event) OVERRIDE;
91 93
92 protected: 94 protected:
93 virtual bool GetNeedsNotificationWhenVisibleBoundsChange() const OVERRIDE; 95 virtual bool GetNeedsNotificationWhenVisibleBoundsChange() const OVERRIDE;
94 virtual void OnVisibleBoundsChanged() OVERRIDE; 96 virtual void OnVisibleBoundsChanged() OVERRIDE;
95 virtual void ViewHierarchyChanged( 97 virtual void ViewHierarchyChanged(
96 const ViewHierarchyChangedDetails& details) OVERRIDE; 98 const ViewHierarchyChangedDetails& details) OVERRIDE;
97 virtual const char* GetClassName() const OVERRIDE; 99 virtual const char* GetClassName() const OVERRIDE;
98 100
99 private: 101 private:
100 friend class NativeViewHostAuraTest; 102 friend class test::NativeViewHostTestBase;
101 103
102 // Detach the native view. |destroyed| is true if the native view is 104 // Detach the native view. |destroyed| is true if the native view is
103 // detached because it's being destroyed, or false otherwise. 105 // detached because it's being destroyed, or false otherwise.
104 void Detach(bool destroyed); 106 void Detach(bool destroyed);
105 107
106 // Invokes ViewRemoved() on the FocusManager for all the child Widgets of our 108 // Invokes ViewRemoved() on the FocusManager for all the child Widgets of our
107 // NativeView. This is used when detaching to ensure the FocusManager doesn't 109 // NativeView. This is used when detaching to ensure the FocusManager doesn't
108 // have a reference to a View that is no longer reachable. 110 // have a reference to a View that is no longer reachable.
109 void ClearFocus(); 111 void ClearFocus();
110 112
(...skipping 16 matching lines...) Expand all
127 129
128 // The view that should be given focus when this NativeViewHost is focused. 130 // The view that should be given focus when this NativeViewHost is focused.
129 View* focus_view_; 131 View* focus_view_;
130 132
131 DISALLOW_COPY_AND_ASSIGN(NativeViewHost); 133 DISALLOW_COPY_AND_ASSIGN(NativeViewHost);
132 }; 134 };
133 135
134 } // namespace views 136 } // namespace views
135 137
136 #endif // UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_H_ 138 #endif // UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698