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

Side by Side Diff: ui/views/widget/native_widget_aura.cc

Issue 2610203002: Removes aura::Window::set_user_data() (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « ui/aura/window.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "ui/views/widget/native_widget_aura.h" 5 #include "ui/views/widget/native_widget_aura.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/strings/string_util.h" 11 #include "base/strings/string_util.h"
12 #include "base/threading/thread_task_runner_handle.h" 12 #include "base/threading/thread_task_runner_handle.h"
13 #include "build/build_config.h" 13 #include "build/build_config.h"
14 #include "services/ui/public/interfaces/window_manager.mojom.h" 14 #include "services/ui/public/interfaces/window_manager.mojom.h"
15 #include "services/ui/public/interfaces/window_manager_constants.mojom.h" 15 #include "services/ui/public/interfaces/window_manager_constants.mojom.h"
16 #include "third_party/skia/include/core/SkRegion.h" 16 #include "third_party/skia/include/core/SkRegion.h"
17 #include "ui/aura/client/aura_constants.h" 17 #include "ui/aura/client/aura_constants.h"
18 #include "ui/aura/client/capture_client.h" 18 #include "ui/aura/client/capture_client.h"
19 #include "ui/aura/client/cursor_client.h" 19 #include "ui/aura/client/cursor_client.h"
20 #include "ui/aura/client/drag_drop_client.h" 20 #include "ui/aura/client/drag_drop_client.h"
21 #include "ui/aura/client/focus_client.h" 21 #include "ui/aura/client/focus_client.h"
22 #include "ui/aura/client/screen_position_client.h" 22 #include "ui/aura/client/screen_position_client.h"
23 #include "ui/aura/client/window_parenting_client.h" 23 #include "ui/aura/client/window_parenting_client.h"
24 #include "ui/aura/env.h" 24 #include "ui/aura/env.h"
25 #include "ui/aura/window.h" 25 #include "ui/aura/window.h"
26 #include "ui/aura/window_event_dispatcher.h" 26 #include "ui/aura/window_event_dispatcher.h"
27 #include "ui/aura/window_observer.h" 27 #include "ui/aura/window_observer.h"
28 #include "ui/aura/window_property.h"
28 #include "ui/aura/window_tree_host.h" 29 #include "ui/aura/window_tree_host.h"
29 #include "ui/base/dragdrop/os_exchange_data.h" 30 #include "ui/base/dragdrop/os_exchange_data.h"
30 #include "ui/base/ui_base_types.h" 31 #include "ui/base/ui_base_types.h"
31 #include "ui/compositor/layer.h" 32 #include "ui/compositor/layer.h"
32 #include "ui/display/display.h" 33 #include "ui/display/display.h"
33 #include "ui/display/screen.h" 34 #include "ui/display/screen.h"
34 #include "ui/events/event.h" 35 #include "ui/events/event.h"
35 #include "ui/gfx/canvas.h" 36 #include "ui/gfx/canvas.h"
36 #include "ui/gfx/font_list.h" 37 #include "ui/gfx/font_list.h"
37 #include "ui/native_theme/native_theme_aura.h" 38 #include "ui/native_theme/native_theme_aura.h"
(...skipping 24 matching lines...) Expand all
62 #if defined(USE_X11) && !defined(OS_CHROMEOS) 63 #if defined(USE_X11) && !defined(OS_CHROMEOS)
63 #include "ui/views/linux_ui/linux_ui.h" 64 #include "ui/views/linux_ui/linux_ui.h"
64 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h" 65 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
65 #endif 66 #endif
66 67
67 #if !defined(OS_CHROMEOS) 68 #if !defined(OS_CHROMEOS)
68 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" 69 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
69 #include "ui/views/widget/desktop_aura/desktop_window_tree_host.h" 70 #include "ui/views/widget/desktop_aura/desktop_window_tree_host.h"
70 #endif 71 #endif
71 72
73 DECLARE_WINDOW_PROPERTY_TYPE(views::internal::NativeWidgetPrivate*)
74
72 namespace views { 75 namespace views {
73 76
74 namespace { 77 namespace {
75 78
79 DEFINE_WINDOW_PROPERTY_KEY(internal::NativeWidgetPrivate*,
80 kNativeWidgetPrivateKey,
81 nullptr);
82
76 void SetRestoreBounds(aura::Window* window, const gfx::Rect& bounds) { 83 void SetRestoreBounds(aura::Window* window, const gfx::Rect& bounds) {
77 window->SetProperty(aura::client::kRestoreBoundsKey, new gfx::Rect(bounds)); 84 window->SetProperty(aura::client::kRestoreBoundsKey, new gfx::Rect(bounds));
78 } 85 }
79 86
80 void SetIcon(aura::Window* window, 87 void SetIcon(aura::Window* window,
81 const aura::WindowProperty<gfx::ImageSkia*>* key, 88 const aura::WindowProperty<gfx::ImageSkia*>* key,
82 const gfx::ImageSkia& value) { 89 const gfx::ImageSkia& value) {
83 if (value.isNull()) 90 if (value.isNull())
84 window->ClearProperty(key); 91 window->ClearProperty(key);
85 else 92 else
(...skipping 17 matching lines...) Expand all
103 saved_window_state_(ui::SHOW_STATE_DEFAULT), 110 saved_window_state_(ui::SHOW_STATE_DEFAULT),
104 close_widget_factory_(this) { 111 close_widget_factory_(this) {
105 aura::client::SetFocusChangeObserver(window_, this); 112 aura::client::SetFocusChangeObserver(window_, this);
106 aura::client::SetActivationChangeObserver(window_, this); 113 aura::client::SetActivationChangeObserver(window_, this);
107 } 114 }
108 115
109 // static 116 // static
110 void NativeWidgetAura::RegisterNativeWidgetForWindow( 117 void NativeWidgetAura::RegisterNativeWidgetForWindow(
111 internal::NativeWidgetPrivate* native_widget, 118 internal::NativeWidgetPrivate* native_widget,
112 aura::Window* window) { 119 aura::Window* window) {
113 window->set_user_data(native_widget); 120 window->SetProperty(kNativeWidgetPrivateKey, native_widget);
114 } 121 }
115 122
116 // static 123 // static
117 void NativeWidgetAura::AssignIconToAuraWindow(aura::Window* window, 124 void NativeWidgetAura::AssignIconToAuraWindow(aura::Window* window,
118 const gfx::ImageSkia& window_icon, 125 const gfx::ImageSkia& window_icon,
119 const gfx::ImageSkia& app_icon) { 126 const gfx::ImageSkia& app_icon) {
120 if (window) { 127 if (window) {
121 SetIcon(window, aura::client::kWindowIconKey, window_icon); 128 SetIcon(window, aura::client::kWindowIconKey, window_icon);
122 SetIcon(window, aura::client::kAppIconKey, app_icon); 129 SetIcon(window, aura::client::kAppIconKey, app_icon);
123 } 130 }
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 1101
1095 // static 1102 // static
1096 NativeWidgetPrivate* NativeWidgetPrivate::CreateNativeWidget( 1103 NativeWidgetPrivate* NativeWidgetPrivate::CreateNativeWidget(
1097 internal::NativeWidgetDelegate* delegate) { 1104 internal::NativeWidgetDelegate* delegate) {
1098 return new NativeWidgetAura(delegate); 1105 return new NativeWidgetAura(delegate);
1099 } 1106 }
1100 1107
1101 // static 1108 // static
1102 NativeWidgetPrivate* NativeWidgetPrivate::GetNativeWidgetForNativeView( 1109 NativeWidgetPrivate* NativeWidgetPrivate::GetNativeWidgetForNativeView(
1103 gfx::NativeView native_view) { 1110 gfx::NativeView native_view) {
1104 // Cast must match type supplied to RegisterNativeWidgetForWindow(). 1111 return native_view->GetProperty(kNativeWidgetPrivateKey);
1105 return reinterpret_cast<NativeWidgetPrivate*>(native_view->user_data());
1106 } 1112 }
1107 1113
1108 // static 1114 // static
1109 NativeWidgetPrivate* NativeWidgetPrivate::GetNativeWidgetForNativeWindow( 1115 NativeWidgetPrivate* NativeWidgetPrivate::GetNativeWidgetForNativeWindow(
1110 gfx::NativeWindow native_window) { 1116 gfx::NativeWindow native_window) {
1111 // Cast must match type supplied to RegisterNativeWidgetForWindow(). 1117 return native_window->GetProperty(kNativeWidgetPrivateKey);
1112 return reinterpret_cast<NativeWidgetPrivate*>(native_window->user_data());
1113 } 1118 }
1114 1119
1115 // static 1120 // static
1116 NativeWidgetPrivate* NativeWidgetPrivate::GetTopLevelNativeWidget( 1121 NativeWidgetPrivate* NativeWidgetPrivate::GetTopLevelNativeWidget(
1117 gfx::NativeView native_view) { 1122 gfx::NativeView native_view) {
1118 aura::Window* window = native_view; 1123 aura::Window* window = native_view;
1119 NativeWidgetPrivate* top_level_native_widget = NULL; 1124 NativeWidgetPrivate* top_level_native_widget = NULL;
1120 while (window) { 1125 while (window) {
1121 NativeWidgetPrivate* native_widget = GetNativeWidgetForNativeView(window); 1126 NativeWidgetPrivate* native_widget = GetNativeWidgetForNativeView(window);
1122 if (native_widget) 1127 if (native_widget)
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 gfx::NativeView native_view) { 1234 gfx::NativeView native_view) {
1230 aura::client::CaptureClient* capture_client = 1235 aura::client::CaptureClient* capture_client =
1231 aura::client::GetCaptureClient(native_view->GetRootWindow()); 1236 aura::client::GetCaptureClient(native_view->GetRootWindow());
1232 if (!capture_client) 1237 if (!capture_client)
1233 return nullptr; 1238 return nullptr;
1234 return capture_client->GetGlobalCaptureWindow(); 1239 return capture_client->GetGlobalCaptureWindow();
1235 } 1240 }
1236 1241
1237 } // namespace internal 1242 } // namespace internal
1238 } // namespace views 1243 } // namespace views
OLDNEW
« no previous file with comments | « ui/aura/window.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698