| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "content/renderer/mus/compositor_mus_connection.h" | 5 #include "content/renderer/mus/compositor_mus_connection.h" | 
| 6 | 6 | 
| 7 #include <memory> | 7 #include <memory> | 
| 8 | 8 | 
| 9 #include "base/macros.h" | 9 #include "base/macros.h" | 
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" | 
| 11 #include "base/test/test_simple_task_runner.h" | 11 #include "base/test/test_simple_task_runner.h" | 
| 12 #include "base/time/time.h" | 12 #include "base/time/time.h" | 
| 13 #include "content/common/input/did_overscroll_params.h" | 13 #include "content/common/input/did_overscroll_params.h" | 
| 14 #include "content/common/input/input_event_ack.h" | 14 #include "content/common/input/input_event_ack.h" | 
| 15 #include "content/common/input/input_event_ack_state.h" | 15 #include "content/common/input/input_event_ack_state.h" | 
| 16 #include "content/public/test/mock_render_thread.h" | 16 #include "content/public/test/mock_render_thread.h" | 
| 17 #include "content/renderer/input/input_handler_manager.h" | 17 #include "content/renderer/input/input_handler_manager.h" | 
| 18 #include "content/renderer/input/input_handler_manager_client.h" | 18 #include "content/renderer/input/input_handler_manager_client.h" | 
| 19 #include "content/renderer/input/render_widget_input_handler.h" | 19 #include "content/renderer/input/render_widget_input_handler.h" | 
| 20 #include "content/renderer/mus/render_widget_mus_connection.h" | 20 #include "content/renderer/mus/render_widget_mus_connection.h" | 
| 21 #include "content/renderer/render_widget.h" | 21 #include "content/renderer/render_widget.h" | 
| 22 #include "content/test/fake_compositor_dependencies.h" | 22 #include "content/test/fake_compositor_dependencies.h" | 
| 23 #include "content/test/fake_renderer_scheduler.h" |  | 
| 24 #include "mojo/public/cpp/bindings/interface_request.h" | 23 #include "mojo/public/cpp/bindings/interface_request.h" | 
| 25 #include "services/ui/public/cpp/tests/test_window.h" | 24 #include "services/ui/public/cpp/tests/test_window.h" | 
| 26 #include "testing/gtest/include/gtest/gtest.h" | 25 #include "testing/gtest/include/gtest/gtest.h" | 
|  | 26 #include "third_party/WebKit/public/platform/scheduler/test/fake_renderer_schedu
     ler.h" | 
| 27 #include "ui/events/event_utils.h" | 27 #include "ui/events/event_utils.h" | 
| 28 #include "ui/events/mojo/event.mojom.h" | 28 #include "ui/events/mojo/event.mojom.h" | 
| 29 #include "ui/events/mojo/event_constants.mojom.h" | 29 #include "ui/events/mojo/event_constants.mojom.h" | 
| 30 #include "ui/events/mojo/keyboard_codes.mojom.h" | 30 #include "ui/events/mojo/keyboard_codes.mojom.h" | 
| 31 | 31 | 
| 32 using ui::mojom::EventResult; | 32 using ui::mojom::EventResult; | 
| 33 | 33 | 
| 34 namespace { | 34 namespace { | 
| 35 | 35 | 
| 36 // Wrapper for the callback provided to | 36 // Wrapper for the callback provided to | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 59   DISALLOW_COPY_AND_ASSIGN(TestCallback); | 59   DISALLOW_COPY_AND_ASSIGN(TestCallback); | 
| 60 }; | 60 }; | 
| 61 | 61 | 
| 62 // Allows for overriding the behaviour of HandleInputEvent, to simulate input | 62 // Allows for overriding the behaviour of HandleInputEvent, to simulate input | 
| 63 // handlers which consume events before they are sent to the renderer. | 63 // handlers which consume events before they are sent to the renderer. | 
| 64 class TestInputHandlerManager : public content::InputHandlerManager { | 64 class TestInputHandlerManager : public content::InputHandlerManager { | 
| 65  public: | 65  public: | 
| 66   TestInputHandlerManager( | 66   TestInputHandlerManager( | 
| 67       const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 67       const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 
| 68       content::InputHandlerManagerClient* client, | 68       content::InputHandlerManagerClient* client, | 
| 69       scheduler::RendererScheduler* renderer_scheduler) | 69       blink::scheduler::RendererScheduler* renderer_scheduler) | 
| 70       : InputHandlerManager(task_runner, client, nullptr, renderer_scheduler), | 70       : InputHandlerManager(task_runner, client, nullptr, renderer_scheduler), | 
| 71         override_result_(false), | 71         override_result_(false), | 
| 72         result_(content::InputEventAckState::INPUT_EVENT_ACK_STATE_UNKNOWN) {} | 72         result_(content::InputEventAckState::INPUT_EVENT_ACK_STATE_UNKNOWN) {} | 
| 73   ~TestInputHandlerManager() override {} | 73   ~TestInputHandlerManager() override {} | 
| 74 | 74 | 
| 75   // Stops overriding the behaviour of HandleInputEvent | 75   // Stops overriding the behaviour of HandleInputEvent | 
| 76   void ClearHandleInputEventOverride(); | 76   void ClearHandleInputEventOverride(); | 
| 77 | 77 | 
| 78   // Overrides the behaviour of HandleInputEvent, returing |result|. | 78   // Overrides the behaviour of HandleInputEvent, returing |result|. | 
| 79   void SetHandleInputEventResult(content::InputEventAckState result); | 79   void SetHandleInputEventResult(content::InputEventAckState result); | 
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 241   } | 241   } | 
| 242 | 242 | 
| 243   // testing::Test: | 243   // testing::Test: | 
| 244   void SetUp() override; | 244   void SetUp() override; | 
| 245   void TearDown() override; | 245   void TearDown() override; | 
| 246 | 246 | 
| 247  private: | 247  private: | 
| 248   // Mocks/Fakes of the testing environment. | 248   // Mocks/Fakes of the testing environment. | 
| 249   TestInputHandlerManagerClient input_handler_manager_client_; | 249   TestInputHandlerManagerClient input_handler_manager_client_; | 
| 250   FakeCompositorDependencies compositor_dependencies_; | 250   FakeCompositorDependencies compositor_dependencies_; | 
| 251   FakeRendererScheduler renderer_scheduler_; | 251   blink::scheduler::FakeRendererScheduler renderer_scheduler_; | 
| 252   MockRenderThread render_thread_; | 252   MockRenderThread render_thread_; | 
| 253   scoped_refptr<TestRenderWidget> render_widget_; | 253   scoped_refptr<TestRenderWidget> render_widget_; | 
| 254   mojo::InterfaceRequest<ui::mojom::WindowTreeClient> request_; | 254   mojo::InterfaceRequest<ui::mojom::WindowTreeClient> request_; | 
| 255 | 255 | 
| 256   // Not owned, RenderWidgetMusConnection tracks in static state. Cleared during | 256   // Not owned, RenderWidgetMusConnection tracks in static state. Cleared during | 
| 257   // TearDown. | 257   // TearDown. | 
| 258   RenderWidgetMusConnection* connection_; | 258   RenderWidgetMusConnection* connection_; | 
| 259 | 259 | 
| 260   // Test versions of task runners, see VerifyAndRunQueues to use in testing. | 260   // Test versions of task runners, see VerifyAndRunQueues to use in testing. | 
| 261   scoped_refptr<base::TestSimpleTaskRunner> main_task_runner_; | 261   scoped_refptr<base::TestSimpleTaskRunner> main_task_runner_; | 
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 483   EXPECT_FALSE(ack_callback.get()); | 483   EXPECT_FALSE(ack_callback.get()); | 
| 484 | 484 | 
| 485   VerifyAndRunQueues(true, true); | 485   VerifyAndRunQueues(true, true); | 
| 486 | 486 | 
| 487   // The ack callback should have been called | 487   // The ack callback should have been called | 
| 488   EXPECT_TRUE(test_callback->called()); | 488   EXPECT_TRUE(test_callback->called()); | 
| 489   EXPECT_EQ(EventResult::HANDLED, test_callback->result()); | 489   EXPECT_EQ(EventResult::HANDLED, test_callback->result()); | 
| 490 } | 490 } | 
| 491 | 491 | 
| 492 }  // namespace content | 492 }  // namespace content | 
| OLD | NEW | 
|---|