Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
| index 0da99fbab737c560a75ea2eaf40735879c553bfa..fbeb51099249304b3db4fd663ef830ab35434cf6 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
| @@ -433,6 +433,38 @@ class MockWindowObserver : public aura::WindowObserver { |
| MOCK_METHOD2(OnDelegatedFrameDamage, void(aura::Window*, const gfx::Rect&)); |
| }; |
| +class MockRenderWidgetHostImpl : public RenderWidgetHostImpl { |
| + public: |
| + MockRenderWidgetHostImpl(RenderWidgetHostDelegate* delegate, |
| + RenderProcessHost* process, |
| + int32_t routing_id) |
| + : RenderWidgetHostImpl(delegate, process, routing_id, false) { |
| + set_renderer_initialized(true); |
| + lastWheelOrTouchEventLatencyInfo = ui::LatencyInfo(); |
| + } |
| + |
| + // Extracts |latency_info| and stores it in |
| + // |lastWheelOrTouchEventLatencyInfo|. |
| + |
|
tdresser
2016/09/12 14:23:08
I think this would be clearer if you removed the s
sahel
2016/09/12 17:02:26
Done.
|
| + void ForwardWheelEventWithLatencyInfo( |
| + const blink::WebMouseWheelEvent& wheel_event, |
| + const ui::LatencyInfo& ui_latency) override { |
| + RenderWidgetHostImpl::ForwardWheelEventWithLatencyInfo(wheel_event, |
| + ui_latency); |
| + lastWheelOrTouchEventLatencyInfo = ui::LatencyInfo(ui_latency); |
| + } |
| + |
| + void ForwardTouchEventWithLatencyInfo( |
| + const blink::WebTouchEvent& touch_event, |
| + const ui::LatencyInfo& ui_latency) override { |
| + RenderWidgetHostImpl::ForwardTouchEventWithLatencyInfo(touch_event, |
| + ui_latency); |
| + lastWheelOrTouchEventLatencyInfo = ui::LatencyInfo(ui_latency); |
| + } |
| + |
| + ui::LatencyInfo lastWheelOrTouchEventLatencyInfo; |
| +}; |
| + |
| const WebInputEvent* GetInputEventFromMessage(const IPC::Message& message) { |
| base::PickleIterator iter(message); |
| const char* data; |
| @@ -480,8 +512,8 @@ class RenderWidgetHostViewAuraTest : public testing::Test { |
| routing_id = process_host_->GetNextRoutingID(); |
| delegates_.push_back(base::WrapUnique(new MockRenderWidgetHostDelegate)); |
| - widget_host_ = new RenderWidgetHostImpl(delegates_.back().get(), |
| - process_host_, routing_id, false); |
| + widget_host_ = new MockRenderWidgetHostImpl(delegates_.back().get(), |
| + process_host_, routing_id); |
| delegates_.back()->set_widget_host(widget_host_); |
| widget_host_->Init(); |
| view_ = new FakeRenderWidgetHostViewAura(widget_host_, is_guest_view_hack_); |
| @@ -641,7 +673,7 @@ class RenderWidgetHostViewAuraTest : public testing::Test { |
| // Tests should set these to nullptr if they've already triggered their |
| // destruction. |
| - RenderWidgetHostImpl* widget_host_; |
| + MockRenderWidgetHostImpl* widget_host_; |
| FakeRenderWidgetHostViewAura* view_; |
| IPC::TestSink* sink_; |
| @@ -2512,6 +2544,28 @@ TEST_F(RenderWidgetHostViewAuraTest, SoftwareDPIChange) { |
| EXPECT_NE(surface_id, view_->surface_id()); |
| } |
| +TEST_F(RenderWidgetHostViewAuraTest, SourceEventTypeExistsInLatencyInfo) { |
| + // WHEEL source exists. |
| + ui::ScrollEvent scroll(ui::ET_SCROLL, gfx::Point(2, 2), ui::EventTimeForNow(), |
| + 0, 0, 0, 0, 0, 2); |
| + view_->OnScrollEvent(&scroll); |
| + EXPECT_EQ(widget_host_->lastWheelOrTouchEventLatencyInfo.source_event_type(), |
| + ui::SourceEventType::WHEEL); |
| + |
| + // TOUCH source exists. |
| + ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(30, 30), 0, |
| + ui::EventTimeForNow()); |
| + ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 20), 0, |
| + ui::EventTimeForNow()); |
| + ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(20, 20), 0, |
| + ui::EventTimeForNow()); |
| + view_->OnTouchEvent(&press); |
| + view_->OnTouchEvent(&move); |
| + EXPECT_EQ(widget_host_->lastWheelOrTouchEventLatencyInfo.source_event_type(), |
| + ui::SourceEventType::TOUCH); |
| + view_->OnTouchEvent(&release); |
| +} |
| + |
| class RenderWidgetHostViewAuraCopyRequestTest |
| : public RenderWidgetHostViewAuraShutdownTest { |
| public: |