Chromium Code Reviews| 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 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" | 5 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
| 9 #include "ui/aura/client/activation_client.h" | 9 #include "ui/aura/client/activation_client.h" |
| 10 #include "ui/aura/client/aura_constants.h" | 10 #include "ui/aura/client/aura_constants.h" |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 203 | 203 |
| 204 private: | 204 private: |
| 205 DesktopNativeWidgetAura* desktop_native_widget_aura_; | 205 DesktopNativeWidgetAura* desktop_native_widget_aura_; |
| 206 | 206 |
| 207 DISALLOW_COPY_AND_ASSIGN(FocusManagerEventHandler); | 207 DISALLOW_COPY_AND_ASSIGN(FocusManagerEventHandler); |
| 208 }; | 208 }; |
| 209 | 209 |
| 210 //////////////////////////////////////////////////////////////////////////////// | 210 //////////////////////////////////////////////////////////////////////////////// |
| 211 // DesktopNativeWidgetAura, public: | 211 // DesktopNativeWidgetAura, public: |
| 212 | 212 |
| 213 DesktopNativeCursorManager* DesktopNativeWidgetAura::native_cursor_manager_ = | 213 DesktopNativeCursorManager* DesktopNativeWidgetAura::native_cursor_manager_ = |
|
tdanderson
2014/01/14 17:42:27
|native_cursor_manager_| is OK to leave as a raw p
| |
| 214 NULL; | 214 NULL; |
| 215 views::corewm::CursorManager* DesktopNativeWidgetAura::cursor_manager_ = NULL; | 215 base::LazyInstance<scoped_ptr<views::corewm::CursorManager> > |
| 216 DesktopNativeWidgetAura::cursor_manager_ = LAZY_INSTANCE_INITIALIZER; | |
| 216 | 217 |
| 217 DesktopNativeWidgetAura::DesktopNativeWidgetAura( | 218 DesktopNativeWidgetAura::DesktopNativeWidgetAura( |
| 218 internal::NativeWidgetDelegate* delegate) | 219 internal::NativeWidgetDelegate* delegate) |
| 219 : ownership_(Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET), | 220 : ownership_(Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET), |
| 220 close_widget_factory_(this), | 221 close_widget_factory_(this), |
| 221 can_activate_(true), | 222 can_activate_(true), |
| 222 desktop_root_window_host_(NULL), | 223 desktop_root_window_host_(NULL), |
| 223 content_window_container_(NULL), | 224 content_window_container_(NULL), |
| 224 content_window_(new aura::Window(this)), | 225 content_window_(new aura::Window(this)), |
| 225 native_widget_delegate_(delegate), | 226 native_widget_delegate_(delegate), |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 394 root_window_event_filter_ = new corewm::CompoundEventFilter; | 395 root_window_event_filter_ = new corewm::CompoundEventFilter; |
| 395 // Pass ownership of the filter to the root_window. | 396 // Pass ownership of the filter to the root_window. |
| 396 root_window_->window()->SetEventFilter(root_window_event_filter_); | 397 root_window_->window()->SetEventFilter(root_window_event_filter_); |
| 397 | 398 |
| 398 // |root_window_| must be added to |native_cursor_manager_| before | 399 // |root_window_| must be added to |native_cursor_manager_| before |
| 399 // OnRootWindowCreated() is called. | 400 // OnRootWindowCreated() is called. |
| 400 if (!native_cursor_manager_) { | 401 if (!native_cursor_manager_) { |
| 401 native_cursor_manager_ = new DesktopNativeCursorManager( | 402 native_cursor_manager_ = new DesktopNativeCursorManager( |
| 402 DesktopCursorLoaderUpdater::Create()); | 403 DesktopCursorLoaderUpdater::Create()); |
| 403 } | 404 } |
| 404 if (!cursor_manager_) { | 405 if (!cursor_manager_.Get()) { |
| 405 cursor_manager_ = new views::corewm::CursorManager( | 406 cursor_manager_.Get().reset(new views::corewm::CursorManager( |
| 406 scoped_ptr<corewm::NativeCursorManager>(native_cursor_manager_)); | 407 scoped_ptr<corewm::NativeCursorManager>(native_cursor_manager_))); |
| 407 } | 408 } |
| 408 native_cursor_manager_->AddRootWindow(root_window_.get()); | 409 native_cursor_manager_->AddRootWindow(root_window_.get()); |
| 409 aura::client::SetCursorClient(root_window_->window(), cursor_manager_); | 410 aura::client::SetCursorClient(root_window_->window(), |
| 411 cursor_manager_.Get().get()); | |
| 410 | 412 |
| 411 desktop_root_window_host_->OnRootWindowCreated(root_window_.get(), params); | 413 desktop_root_window_host_->OnRootWindowCreated(root_window_.get(), params); |
| 412 | 414 |
| 413 UpdateWindowTransparency(); | 415 UpdateWindowTransparency(); |
| 414 | 416 |
| 415 capture_client_.reset(new DesktopCaptureClient(root_window_->window())); | 417 capture_client_.reset(new DesktopCaptureClient(root_window_->window())); |
| 416 | 418 |
| 417 corewm::FocusController* focus_controller = | 419 corewm::FocusController* focus_controller = |
| 418 new corewm::FocusController(new DesktopFocusRules(content_window_)); | 420 new corewm::FocusController(new DesktopFocusRules(content_window_)); |
| 419 focus_client_.reset(focus_controller); | 421 focus_client_.reset(focus_controller); |
| (...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1122 input_method_event_filter_->SetInputMethodPropertyInRootWindow( | 1124 input_method_event_filter_->SetInputMethodPropertyInRootWindow( |
| 1123 root_window_->window()); | 1125 root_window_->window()); |
| 1124 root_window_event_filter_->AddHandler(input_method_event_filter_.get()); | 1126 root_window_event_filter_->AddHandler(input_method_event_filter_.get()); |
| 1125 } | 1127 } |
| 1126 | 1128 |
| 1127 void DesktopNativeWidgetAura::UpdateWindowTransparency() { | 1129 void DesktopNativeWidgetAura::UpdateWindowTransparency() { |
| 1128 content_window_->SetTransparent(ShouldUseNativeFrame()); | 1130 content_window_->SetTransparent(ShouldUseNativeFrame()); |
| 1129 } | 1131 } |
| 1130 | 1132 |
| 1131 } // namespace views | 1133 } // namespace views |
| OLD | NEW |