| 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 7125c57d0c0d14ae06781c366e8819f0ccae7990..531dedfc6a7088848e864712460e4cfa2b54e144 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
|
| @@ -435,6 +435,39 @@ 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| for wheel event, and stores it in
|
| + // |lastWheelOrTouchEventLatencyInfo|.
|
| + void ForwardWheelEventWithLatencyInfo(
|
| + const blink::WebMouseWheelEvent& wheel_event,
|
| + const ui::LatencyInfo& ui_latency) override {
|
| + RenderWidgetHostImpl::ForwardWheelEventWithLatencyInfo(wheel_event,
|
| + ui_latency);
|
| + lastWheelOrTouchEventLatencyInfo = ui::LatencyInfo(ui_latency);
|
| + }
|
| +
|
| + // Extracts |latency_info| for touch event, and stores it in
|
| + // |lastWheelOrTouchEventLatencyInfo|.
|
| + 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;
|
| @@ -482,8 +515,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_);
|
| @@ -643,7 +676,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_;
|
| @@ -2515,6 +2548,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:
|
|
|