Chromium Code Reviews| Index: services/ui/public/cpp/input_devices/input_device_client.cc |
| diff --git a/services/ui/public/cpp/input_devices/input_device_client.cc b/services/ui/public/cpp/input_devices/input_device_client.cc |
| index 4137e2b40ddc7c5511d98ee8bce7b63883adbc8e..a01a1283ee50cd92f2b16746cea4696cfae013a6 100644 |
| --- a/services/ui/public/cpp/input_devices/input_device_client.cc |
| +++ b/services/ui/public/cpp/input_devices/input_device_client.cc |
| @@ -8,18 +8,65 @@ |
| namespace ui { |
| -InputDeviceClient::InputDeviceClient() : binding_(this) { |
| - InputDeviceManager::SetInstance(this); |
| -} |
| +InputDeviceClient::InputDeviceClient() : InputDeviceClient(true) {} |
| InputDeviceClient::~InputDeviceClient() { |
| - InputDeviceManager::ClearInstance(); |
| + if (is_input_device_manager_) |
| + InputDeviceManager::ClearInstance(); |
| } |
| void InputDeviceClient::Connect(mojom::InputDeviceServerPtr server) { |
| DCHECK(server.is_bound()); |
| + server->AddObserver(GetIntefacePtr()); |
| +} |
| + |
| +const std::vector<ui::InputDevice>& InputDeviceClient::GetKeyboardDevices() |
| + const { |
| + return keyboard_devices_; |
| +} |
| + |
| +const std::vector<ui::TouchscreenDevice>& |
| +InputDeviceClient::GetTouchscreenDevices() const { |
| + return touchscreen_devices_; |
| +} |
| + |
| +const std::vector<ui::InputDevice>& InputDeviceClient::GetMouseDevices() const { |
| + return mouse_devices_; |
| +} |
| + |
| +const std::vector<ui::InputDevice>& InputDeviceClient::GetTouchpadDevices() |
| + const { |
| + return touchpad_devices_; |
| +} |
| + |
| +bool InputDeviceClient::AreDeviceListsComplete() const { |
| + return device_lists_complete_; |
| +} |
| + |
| +bool InputDeviceClient::AreTouchscreensEnabled() const { |
| + // TODO(kylechar): This obviously isn't right. We either need to pass this |
| + // state around or modify the interface. |
| + return true; |
| +} |
| + |
| +void InputDeviceClient::AddObserver(ui::InputDeviceEventObserver* observer) { |
| + observers_.AddObserver(observer); |
| +} |
| - server->AddObserver(binding_.CreateInterfacePtrAndBind()); |
| +void InputDeviceClient::RemoveObserver(ui::InputDeviceEventObserver* observer) { |
| + observers_.RemoveObserver(observer); |
| +} |
| + |
| +InputDeviceClient::InputDeviceClient(bool is_input_device_manager) |
| + : binding_(this) { |
|
sadrul
2016/08/02 15:16:14
Initialize |is_input_device_manager_| here
kylechar
2016/08/02 17:46:57
Done.
|
| + if (is_input_device_manager) { |
| + InputDeviceManager::SetInstance(this); |
| + is_input_device_manager_ = true; |
| + } |
| +} |
| + |
| +mojom::InputDeviceObserverMojoPtr InputDeviceClient::GetIntefacePtr() { |
| + return binding_.CreateInterfacePtrAndBind(); |
| } |
| void InputDeviceClient::OnKeyboardDeviceConfigurationChanged( |
| @@ -72,41 +119,4 @@ void InputDeviceClient::OnDeviceListsComplete( |
| } |
| } |
| -void InputDeviceClient::AddObserver(ui::InputDeviceEventObserver* observer) { |
| - observers_.AddObserver(observer); |
| -} |
| - |
| -void InputDeviceClient::RemoveObserver(ui::InputDeviceEventObserver* observer) { |
| - observers_.RemoveObserver(observer); |
| -} |
| - |
| -const std::vector<ui::InputDevice>& InputDeviceClient::GetKeyboardDevices() |
| - const { |
| - return keyboard_devices_; |
| -} |
| - |
| -const std::vector<ui::TouchscreenDevice>& |
| -InputDeviceClient::GetTouchscreenDevices() const { |
| - return touchscreen_devices_; |
| -} |
| - |
| -const std::vector<ui::InputDevice>& InputDeviceClient::GetMouseDevices() const { |
| - return mouse_devices_; |
| -} |
| - |
| -const std::vector<ui::InputDevice>& InputDeviceClient::GetTouchpadDevices() |
| - const { |
| - return touchpad_devices_; |
| -} |
| - |
| -bool InputDeviceClient::AreDeviceListsComplete() const { |
| - return device_lists_complete_; |
| -} |
| - |
| -bool InputDeviceClient::AreTouchscreensEnabled() const { |
| - // TODO(kylechar): This obviously isn't right. We either need to pass this |
| - // state around or modify the interface. |
| - return true; |
| -} |
| - |
| } // namespace ui |