| Index: content/browser/renderer_host/render_widget_host_unittest.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc
|
| index 9790c4661e14ca6789775f5a568a592d88aace52..afbd298cc52cd4ce94e3884dd3d836a02407d40c 100644
|
| --- a/content/browser/renderer_host/render_widget_host_unittest.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_unittest.cc
|
| @@ -107,6 +107,7 @@ class MockInputRouter : public InputRouter {
|
| }
|
| virtual bool ShouldForwardTouchEvent() const OVERRIDE { return true; }
|
| virtual void OnViewUpdated(int view_flags) OVERRIDE {}
|
| + virtual bool HasPendingEvents() const OVERRIDE { return false; }
|
|
|
| // IPC::Listener
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE {
|
| @@ -302,6 +303,17 @@ class TestView : public TestRenderWidgetHostView {
|
| return mock_physical_backing_size_;
|
| return TestRenderWidgetHostView::GetPhysicalBackingSize();
|
| }
|
| +#if defined(USE_AURA)
|
| + virtual ~TestView() {
|
| + // Simulate the mouse exit event dispatched when an aura window is
|
| + // destroyed. (MakeWebMouseEventFromAuraEvent translates ET_MOUSE_EXITED
|
| + // into WebInputEvent::MouseMove.)
|
| + rwh_->input_router()->SendMouseEvent(
|
| + MouseEventWithLatencyInfo(
|
| + SyntheticWebMouseEventBuilder::Build(WebInputEvent::MouseMove),
|
| + ui::LatencyInfo()));
|
| + }
|
| +#endif
|
|
|
| protected:
|
| WebMouseWheelEvent unhandled_wheel_event_;
|
| @@ -1399,4 +1411,13 @@ TEST_F(RenderWidgetHostTest, InputEventRWHLatencyComponent) {
|
| SendInputEventACK(WebInputEvent::TouchStart, INPUT_EVENT_ACK_STATE_CONSUMED);
|
| }
|
|
|
| +TEST_F(RenderWidgetHostTest, RendererExitedResetsInputRouter) {
|
| + // RendererExited will delete the view.
|
| + host_->SetView(new TestView(host_.get()));
|
| + host_->RendererExited(base::TERMINATION_STATUS_PROCESS_CRASHED, -1);
|
| +
|
| + // Make sure the input router is in a fresh state.
|
| + ASSERT_FALSE(host_->input_router()->HasPendingEvents());
|
| +}
|
| +
|
| } // namespace content
|
|
|