| OLD | NEW |
| 1 // Copyright 2015 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 #include "ui/views/mus/window_manager_connection.h" | 5 #include "ui/views/mus/window_manager_connection.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "base/threading/thread_local.h" | 10 #include "base/threading/thread_local.h" |
| 11 #include "components/mus/public/cpp/window_tree_connection.h" | 11 #include "components/mus/public/cpp/window_tree_connection.h" |
| 12 #include "components/mus/public/interfaces/window_tree.mojom.h" | 12 #include "components/mus/public/interfaces/window_tree.mojom.h" |
| 13 #include "mojo/converters/geometry/geometry_type_converters.h" | 13 #include "mojo/converters/geometry/geometry_type_converters.h" |
| 14 #include "mojo/shell/public/cpp/connection.h" | 14 #include "mojo/shell/public/cpp/connection.h" |
| 15 #include "mojo/shell/public/cpp/connector.h" | 15 #include "mojo/shell/public/cpp/connector.h" |
| 16 #include "ui/events/devices/device_data_manager.h" |
| 16 #include "ui/views/mus/native_widget_mus.h" | 17 #include "ui/views/mus/native_widget_mus.h" |
| 17 #include "ui/views/mus/screen_mus.h" | 18 #include "ui/views/mus/screen_mus.h" |
| 18 #include "ui/views/views_delegate.h" | 19 #include "ui/views/views_delegate.h" |
| 19 | 20 |
| 20 namespace views { | 21 namespace views { |
| 21 namespace { | 22 namespace { |
| 22 | 23 |
| 23 using WindowManagerConnectionPtr = | 24 using WindowManagerConnectionPtr = |
| 24 base::ThreadLocalPointer<views::WindowManagerConnection>; | 25 base::ThreadLocalPointer<views::WindowManagerConnection>; |
| 25 | 26 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 } | 70 } |
| 70 | 71 |
| 71 WindowManagerConnection::WindowManagerConnection(mojo::Connector* connector) | 72 WindowManagerConnection::WindowManagerConnection(mojo::Connector* connector) |
| 72 : connector_(connector), window_tree_connection_(nullptr) { | 73 : connector_(connector), window_tree_connection_(nullptr) { |
| 73 window_tree_connection_.reset( | 74 window_tree_connection_.reset( |
| 74 mus::WindowTreeConnection::Create(this, connector_)); | 75 mus::WindowTreeConnection::Create(this, connector_)); |
| 75 | 76 |
| 76 screen_.reset(new ScreenMus(this)); | 77 screen_.reset(new ScreenMus(this)); |
| 77 screen_->Init(connector); | 78 screen_->Init(connector); |
| 78 | 79 |
| 80 // TODO(sad): We should have a DeviceDataManager implementation that talks to |
| 81 // a mojo service to learn about the input-devices on the system. |
| 82 // http://crbug.com/601981 |
| 83 ui::DeviceDataManager::CreateInstance(); |
| 84 |
| 79 ViewsDelegate::GetInstance()->set_native_widget_factory(base::Bind( | 85 ViewsDelegate::GetInstance()->set_native_widget_factory(base::Bind( |
| 80 &WindowManagerConnection::CreateNativeWidgetMus, | 86 &WindowManagerConnection::CreateNativeWidgetMus, |
| 81 base::Unretained(this), | 87 base::Unretained(this), |
| 82 std::map<std::string, std::vector<uint8_t>>())); | 88 std::map<std::string, std::vector<uint8_t>>())); |
| 83 } | 89 } |
| 84 | 90 |
| 85 WindowManagerConnection::~WindowManagerConnection() { | 91 WindowManagerConnection::~WindowManagerConnection() { |
| 86 // ~WindowTreeConnection calls back to us (we're the WindowTreeDelegate), | 92 // ~WindowTreeConnection calls back to us (we're the WindowTreeDelegate), |
| 87 // destroy it while we are still valid. | 93 // destroy it while we are still valid. |
| 88 window_tree_connection_.reset(); | 94 window_tree_connection_.reset(); |
| 95 |
| 96 ui::DeviceDataManager::DeleteInstance(); |
| 89 } | 97 } |
| 90 | 98 |
| 91 void WindowManagerConnection::OnEmbed(mus::Window* root) {} | 99 void WindowManagerConnection::OnEmbed(mus::Window* root) {} |
| 92 | 100 |
| 93 void WindowManagerConnection::OnConnectionLost( | 101 void WindowManagerConnection::OnConnectionLost( |
| 94 mus::WindowTreeConnection* connection) {} | 102 mus::WindowTreeConnection* connection) {} |
| 95 | 103 |
| 96 void WindowManagerConnection::OnWindowManagerFrameValuesChanged() { | 104 void WindowManagerConnection::OnWindowManagerFrameValuesChanged() { |
| 97 if (window_tree_connection_) | 105 if (window_tree_connection_) |
| 98 NativeWidgetMus::NotifyFrameChanged(window_tree_connection_.get()); | 106 NativeWidgetMus::NotifyFrameChanged(window_tree_connection_.get()); |
| 99 } | 107 } |
| 100 | 108 |
| 101 } // namespace views | 109 } // namespace views |
| OLD | NEW |