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

Side by Side Diff: ui/views/widget/android/native_widget_android.h

Issue 1403293003: Introduce AndroidFocusRules and NativeWidgetAndroid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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) 2012 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 #ifndef UI_VIEWS_WIDGET_NATIVE_WIDGET_AURA_H_ 5 #ifndef UI_VIEWS_WIDGET_ANDROID_NATIVE_WIDGET_ANDROID_H_
6 #define UI_VIEWS_WIDGET_NATIVE_WIDGET_AURA_H_ 6 #define UI_VIEWS_WIDGET_ANDROID_NATIVE_WIDGET_ANDROID_H_
7 7
8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h"
8 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
9 #include "ui/aura/client/focus_change_observer.h" 11 #include "ui/aura/client/focus_change_observer.h"
10 #include "ui/aura/window_delegate.h" 12 #include "ui/aura/window_delegate.h"
11 #include "ui/aura/window_observer.h" 13 #include "ui/aura/window_observer.h"
12 #include "ui/base/cursor/cursor.h" 14 #include "ui/base/cursor/cursor.h"
13 #include "ui/events/event_constants.h" 15 #include "ui/events/event_constants.h"
14 #include "ui/views/views_export.h" 16 #include "ui/views/views_export.h"
15 #include "ui/views/widget/native_widget_private.h" 17 #include "ui/views/widget/native_widget_private.h"
16 #include "ui/wm/public/activation_change_observer.h" 18 #include "ui/wm/public/activation_change_observer.h"
17 #include "ui/wm/public/activation_delegate.h" 19 #include "ui/wm/public/activation_delegate.h"
18 #include "ui/wm/public/drag_drop_delegate.h" 20 #include "ui/wm/public/drag_drop_delegate.h"
19 21
20 namespace aura { 22 namespace aura {
21 class Window; 23 class Window;
24 class WindowTreeHost;
25 namespace client {
26 class DefaultCaptureClient;
27 class DispatcherClient;
28 class ScreenPositionClient;
29 class WindowTreeClient;
30 }
22 } 31 }
23 namespace gfx { 32 namespace gfx {
24 class FontList; 33 class FontList;
25 } 34 }
35 namespace wm {
36 class FocusController;
37 }
26 38
27 namespace views { 39 namespace views {
28 40
29 class DropHelper; 41 class DropHelper;
30 class TooltipManagerAura; 42 class TooltipManagerAura;
31 class WindowReorderer; 43 class WindowReorderer;
32 44
33 class VIEWS_EXPORT NativeWidgetAura 45 class VIEWS_EXPORT NativeWidgetAndroid
34 : public internal::NativeWidgetPrivate, 46 : public internal::NativeWidgetPrivate,
35 public aura::WindowDelegate, 47 public aura::WindowDelegate,
36 public aura::WindowObserver, 48 public aura::WindowObserver,
37 public aura::client::ActivationDelegate, 49 public aura::client::ActivationDelegate,
38 public aura::client::ActivationChangeObserver, 50 public aura::client::ActivationChangeObserver,
39 public aura::client::FocusChangeObserver, 51 public aura::client::FocusChangeObserver,
40 public aura::client::DragDropDelegate { 52 public aura::client::DragDropDelegate {
41 public: 53 public:
42 explicit NativeWidgetAura(internal::NativeWidgetDelegate* delegate); 54 explicit NativeWidgetAndroid(internal::NativeWidgetDelegate* delegate);
43 55
44 // Called internally by NativeWidgetAura and DesktopNativeWidgetAura to 56 aura::WindowTreeHost* host() { return host_.get(); }
45 // associate |native_widget| with |window|.
46 static void RegisterNativeWidgetForWindow(
47 internal::NativeWidgetPrivate* native_widget,
48 aura::Window* window);
49 57
50 // Overridden from internal::NativeWidgetPrivate: 58 // Overridden from internal::NativeWidgetPrivate:
51 void InitNativeWidget(const Widget::InitParams& params) override; 59 void InitNativeWidget(const Widget::InitParams& params) override;
52 NonClientFrameView* CreateNonClientFrameView() override; 60 NonClientFrameView* CreateNonClientFrameView() override;
53 bool ShouldUseNativeFrame() const override; 61 bool ShouldUseNativeFrame() const override;
54 bool ShouldWindowContentsBeTransparent() const override; 62 bool ShouldWindowContentsBeTransparent() const override;
55 void FrameTypeChanged() override; 63 void FrameTypeChanged() override;
56 Widget* GetWidget() override; 64 Widget* GetWidget() override;
57 const Widget* GetWidget() const override; 65 const Widget* GetWidget() const override;
58 gfx::NativeView GetNativeView() const override; 66 gfx::NativeView GetNativeView() const override;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 void OnWindowFocused(aura::Window* gained_focus, 185 void OnWindowFocused(aura::Window* gained_focus,
178 aura::Window* lost_focus) override; 186 aura::Window* lost_focus) override;
179 187
180 // Overridden from aura::client::DragDropDelegate: 188 // Overridden from aura::client::DragDropDelegate:
181 void OnDragEntered(const ui::DropTargetEvent& event) override; 189 void OnDragEntered(const ui::DropTargetEvent& event) override;
182 int OnDragUpdated(const ui::DropTargetEvent& event) override; 190 int OnDragUpdated(const ui::DropTargetEvent& event) override;
183 void OnDragExited() override; 191 void OnDragExited() override;
184 int OnPerformDrop(const ui::DropTargetEvent& event) override; 192 int OnPerformDrop(const ui::DropTargetEvent& event) override;
185 193
186 protected: 194 protected:
187 ~NativeWidgetAura() override; 195 ~NativeWidgetAndroid() override;
188 196
189 internal::NativeWidgetDelegate* delegate() { return delegate_; } 197 internal::NativeWidgetDelegate* delegate() { return delegate_; }
190 198
191 private: 199 private:
192 class ActiveWindowObserver; 200 class ActiveWindowObserver;
193 201
194 bool IsDocked() const; 202 bool IsDocked() const;
195 void SetInitialFocus(ui::WindowShowState show_state); 203 void SetInitialFocus(ui::WindowShowState show_state);
196 204
197 internal::NativeWidgetDelegate* delegate_; 205 internal::NativeWidgetDelegate* delegate_;
(...skipping 16 matching lines...) Expand all
214 222
215 scoped_ptr<TooltipManagerAura> tooltip_manager_; 223 scoped_ptr<TooltipManagerAura> tooltip_manager_;
216 224
217 // Reorders child windows of |window_| associated with a view based on the 225 // Reorders child windows of |window_| associated with a view based on the
218 // order of the associated views in the widget's view hierarchy. 226 // order of the associated views in the widget's view hierarchy.
219 scoped_ptr<WindowReorderer> window_reorderer_; 227 scoped_ptr<WindowReorderer> window_reorderer_;
220 228
221 scoped_ptr<DropHelper> drop_helper_; 229 scoped_ptr<DropHelper> drop_helper_;
222 int last_drop_operation_; 230 int last_drop_operation_;
223 231
224 // The following factory is used for calls to close the NativeWidgetAura 232 scoped_ptr<aura::WindowTreeHost> host_;
233 scoped_ptr<wm::FocusController> focus_client_;
234 scoped_ptr<aura::client::DefaultCaptureClient> capture_client_;
235 scoped_ptr<aura::client::WindowTreeClient> window_tree_client_;
236 scoped_ptr<aura::client::ScreenPositionClient> screen_position_client_;
237 scoped_ptr<aura::client::DispatcherClient> dispatcher_client_;
238
239 // The following factory is used for calls to close the NativeWidgetAndroid
225 // instance. 240 // instance.
226 base::WeakPtrFactory<NativeWidgetAura> close_widget_factory_; 241 base::WeakPtrFactory<NativeWidgetAndroid> close_widget_factory_;
227 242
228 DISALLOW_COPY_AND_ASSIGN(NativeWidgetAura); 243 DISALLOW_COPY_AND_ASSIGN(NativeWidgetAndroid);
229 }; 244 };
230 245
231 } // namespace views 246 } // namespace views
232 247
233 #endif // UI_VIEWS_WIDGET_NATIVE_WIDGET_AURA_H_ 248 #endif // UI_VIEWS_WIDGET_ANDROID_NATIVE_WIDGET_ANDROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698