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

Unified Diff: services/ui/public/cpp/input_devices/input_device_client.cc

Issue 2196563004: Add tests for InputDeviceServer/InputDeviceClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698