OLD | NEW |
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 #ifndef UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_NATIVE_WIDGET_AURA_H_ | 5 #ifndef UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_NATIVE_WIDGET_AURA_H_ |
6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_NATIVE_WIDGET_AURA_H_ | 6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_NATIVE_WIDGET_AURA_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "ui/aura/client/focus_change_observer.h" | 10 #include "ui/aura/client/focus_change_observer.h" |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 private: | 228 private: |
229 friend class FocusManagerEventHandler; | 229 friend class FocusManagerEventHandler; |
230 friend class RootWindowDestructionObserver; | 230 friend class RootWindowDestructionObserver; |
231 | 231 |
232 // To save a clear on platforms where the window is never transparent, the | 232 // To save a clear on platforms where the window is never transparent, the |
233 // window is only set as transparent when the glass frame is in use. | 233 // window is only set as transparent when the glass frame is in use. |
234 void UpdateWindowTransparency(); | 234 void UpdateWindowTransparency(); |
235 | 235 |
236 void RootWindowDestroyed(); | 236 void RootWindowDestroyed(); |
237 | 237 |
238 scoped_ptr<aura::WindowTreeHost> host_; | 238 std::unique_ptr<aura::WindowTreeHost> host_; |
239 DesktopWindowTreeHost* desktop_window_tree_host_; | 239 DesktopWindowTreeHost* desktop_window_tree_host_; |
240 | 240 |
241 // See class documentation for Widget in widget.h for a note about ownership. | 241 // See class documentation for Widget in widget.h for a note about ownership. |
242 Widget::InitParams::Ownership ownership_; | 242 Widget::InitParams::Ownership ownership_; |
243 | 243 |
244 scoped_ptr<DesktopCaptureClient> capture_client_; | 244 std::unique_ptr<DesktopCaptureClient> capture_client_; |
245 | 245 |
246 // Child of the root, contains |content_window_|. | 246 // Child of the root, contains |content_window_|. |
247 aura::Window* content_window_container_; | 247 aura::Window* content_window_container_; |
248 | 248 |
249 // Child of |content_window_container_|. This is the return value from | 249 // Child of |content_window_container_|. This is the return value from |
250 // GetNativeView(). | 250 // GetNativeView(). |
251 // WARNING: this may be NULL, in particular during shutdown it becomes NULL. | 251 // WARNING: this may be NULL, in particular during shutdown it becomes NULL. |
252 aura::Window* content_window_; | 252 aura::Window* content_window_; |
253 | 253 |
254 internal::NativeWidgetDelegate* native_widget_delegate_; | 254 internal::NativeWidgetDelegate* native_widget_delegate_; |
255 | 255 |
256 scoped_ptr<wm::FocusController> focus_client_; | 256 std::unique_ptr<wm::FocusController> focus_client_; |
257 scoped_ptr<aura::client::ScreenPositionClient> position_client_; | 257 std::unique_ptr<aura::client::ScreenPositionClient> position_client_; |
258 scoped_ptr<aura::client::DragDropClient> drag_drop_client_; | 258 std::unique_ptr<aura::client::DragDropClient> drag_drop_client_; |
259 scoped_ptr<aura::client::WindowTreeClient> window_tree_client_; | 259 std::unique_ptr<aura::client::WindowTreeClient> window_tree_client_; |
260 scoped_ptr<DesktopEventClient> event_client_; | 260 std::unique_ptr<DesktopEventClient> event_client_; |
261 scoped_ptr<FocusManagerEventHandler> focus_manager_event_handler_; | 261 std::unique_ptr<FocusManagerEventHandler> focus_manager_event_handler_; |
262 | 262 |
263 // Toplevel event filter which dispatches to other event filters. | 263 // Toplevel event filter which dispatches to other event filters. |
264 scoped_ptr<wm::CompoundEventFilter> root_window_event_filter_; | 264 std::unique_ptr<wm::CompoundEventFilter> root_window_event_filter_; |
265 | 265 |
266 scoped_ptr<DropHelper> drop_helper_; | 266 std::unique_ptr<DropHelper> drop_helper_; |
267 int last_drop_operation_; | 267 int last_drop_operation_; |
268 | 268 |
269 scoped_ptr<corewm::TooltipController> tooltip_controller_; | 269 std::unique_ptr<corewm::TooltipController> tooltip_controller_; |
270 scoped_ptr<TooltipManagerAura> tooltip_manager_; | 270 std::unique_ptr<TooltipManagerAura> tooltip_manager_; |
271 | 271 |
272 scoped_ptr<wm::VisibilityController> visibility_controller_; | 272 std::unique_ptr<wm::VisibilityController> visibility_controller_; |
273 | 273 |
274 scoped_ptr<wm::WindowModalityController> | 274 std::unique_ptr<wm::WindowModalityController> window_modality_controller_; |
275 window_modality_controller_; | |
276 | 275 |
277 bool restore_focus_on_activate_; | 276 bool restore_focus_on_activate_; |
278 | 277 |
279 gfx::NativeCursor cursor_; | 278 gfx::NativeCursor cursor_; |
280 // We must manually reference count the number of users of |cursor_manager_| | 279 // We must manually reference count the number of users of |cursor_manager_| |
281 // because the cursors created by |cursor_manager_| are shared among the | 280 // because the cursors created by |cursor_manager_| are shared among the |
282 // DNWAs. We can't just stuff this in a LazyInstance because we need to | 281 // DNWAs. We can't just stuff this in a LazyInstance because we need to |
283 // destroy this as the last DNWA happens; we can't put it off until | 282 // destroy this as the last DNWA happens; we can't put it off until |
284 // (potentially) after we tear down the X11 connection because that's a | 283 // (potentially) after we tear down the X11 connection because that's a |
285 // crash. | 284 // crash. |
286 static int cursor_reference_count_; | 285 static int cursor_reference_count_; |
287 static wm::CursorManager* cursor_manager_; | 286 static wm::CursorManager* cursor_manager_; |
288 static views::DesktopNativeCursorManager* native_cursor_manager_; | 287 static views::DesktopNativeCursorManager* native_cursor_manager_; |
289 | 288 |
290 scoped_ptr<wm::ShadowController> shadow_controller_; | 289 std::unique_ptr<wm::ShadowController> shadow_controller_; |
291 | 290 |
292 // Reorders child windows of |window_| associated with a view based on the | 291 // Reorders child windows of |window_| associated with a view based on the |
293 // order of the associated views in the widget's view hierarchy. | 292 // order of the associated views in the widget's view hierarchy. |
294 scoped_ptr<WindowReorderer> window_reorderer_; | 293 std::unique_ptr<WindowReorderer> window_reorderer_; |
295 | 294 |
296 // See class documentation for Widget in widget.h for a note about type. | 295 // See class documentation for Widget in widget.h for a note about type. |
297 Widget::InitParams::Type widget_type_; | 296 Widget::InitParams::Type widget_type_; |
298 | 297 |
299 // The following factory is used for calls to close the NativeWidgetAura | 298 // The following factory is used for calls to close the NativeWidgetAura |
300 // instance. | 299 // instance. |
301 base::WeakPtrFactory<DesktopNativeWidgetAura> close_widget_factory_; | 300 base::WeakPtrFactory<DesktopNativeWidgetAura> close_widget_factory_; |
302 | 301 |
303 DISALLOW_COPY_AND_ASSIGN(DesktopNativeWidgetAura); | 302 DISALLOW_COPY_AND_ASSIGN(DesktopNativeWidgetAura); |
304 }; | 303 }; |
305 | 304 |
306 } // namespace views | 305 } // namespace views |
307 | 306 |
308 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_NATIVE_WIDGET_AURA_H_ | 307 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_NATIVE_WIDGET_AURA_H_ |
OLD | NEW |