| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <tuple> | 9 #include <tuple> |
| 10 | 10 |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) override { | 398 void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) override { |
| 399 unhandled_keyboard_event_type_ = event.type; | 399 unhandled_keyboard_event_type_ = event.type; |
| 400 unhandled_keyboard_event_called_ = true; | 400 unhandled_keyboard_event_called_ = true; |
| 401 } | 401 } |
| 402 | 402 |
| 403 bool HandleWheelEvent(const blink::WebMouseWheelEvent& event) override { | 403 bool HandleWheelEvent(const blink::WebMouseWheelEvent& event) override { |
| 404 handle_wheel_event_called_ = true; | 404 handle_wheel_event_called_ = true; |
| 405 return handle_wheel_event_; | 405 return handle_wheel_event_; |
| 406 } | 406 } |
| 407 | 407 |
| 408 void RendererUnresponsive(RenderWidgetHostImpl* render_widget_host) override { | 408 void RendererUnresponsive(RenderWidgetHostImpl* render_widget_host, |
| 409 RendererUnresponsiveType type) override { |
| 409 unresponsive_timer_fired_ = true; | 410 unresponsive_timer_fired_ = true; |
| 410 } | 411 } |
| 411 | 412 |
| 412 void Cut() override {} | 413 void Cut() override {} |
| 413 void Copy() override {} | 414 void Copy() override {} |
| 414 void Paste() override {} | 415 void Paste() override {} |
| 415 void SelectAll() override {} | 416 void SelectAll() override {} |
| 416 | 417 |
| 417 private: | 418 private: |
| 418 bool prehandle_keyboard_event_; | 419 bool prehandle_keyboard_event_; |
| (...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1063 SendInputEventACK(WebInputEvent::GestureTwoFingerTap, | 1064 SendInputEventACK(WebInputEvent::GestureTwoFingerTap, |
| 1064 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 1065 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| 1065 EXPECT_EQ(WebInputEvent::GestureTwoFingerTap, view_->gesture_event_type()); | 1066 EXPECT_EQ(WebInputEvent::GestureTwoFingerTap, view_->gesture_event_type()); |
| 1066 EXPECT_EQ(INPUT_EVENT_ACK_STATE_NOT_CONSUMED, view_->ack_result()); | 1067 EXPECT_EQ(INPUT_EVENT_ACK_STATE_NOT_CONSUMED, view_->ack_result()); |
| 1067 } | 1068 } |
| 1068 | 1069 |
| 1069 // Test that the hang monitor timer expires properly if a new timer is started | 1070 // Test that the hang monitor timer expires properly if a new timer is started |
| 1070 // while one is in progress (see crbug.com/11007). | 1071 // while one is in progress (see crbug.com/11007). |
| 1071 TEST_F(RenderWidgetHostTest, DontPostponeHangMonitorTimeout) { | 1072 TEST_F(RenderWidgetHostTest, DontPostponeHangMonitorTimeout) { |
| 1072 // Start with a short timeout. | 1073 // Start with a short timeout. |
| 1073 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10)); | 1074 host_->StartHangMonitorTimeout( |
| 1075 TimeDelta::FromMilliseconds(10), |
| 1076 RenderWidgetHostDelegate::RENDERER_UNRESPONSIVE_UNKNOWN); |
| 1074 | 1077 |
| 1075 // Immediately try to add a long 30 second timeout. | 1078 // Immediately try to add a long 30 second timeout. |
| 1076 EXPECT_FALSE(delegate_->unresponsive_timer_fired()); | 1079 EXPECT_FALSE(delegate_->unresponsive_timer_fired()); |
| 1077 host_->StartHangMonitorTimeout(TimeDelta::FromSeconds(30)); | 1080 host_->StartHangMonitorTimeout( |
| 1081 TimeDelta::FromSeconds(30), |
| 1082 RenderWidgetHostDelegate::RENDERER_UNRESPONSIVE_UNKNOWN); |
| 1078 | 1083 |
| 1079 // Wait long enough for first timeout and see if it fired. | 1084 // Wait long enough for first timeout and see if it fired. |
| 1080 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 1085 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
| 1081 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), | 1086 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), |
| 1082 TimeDelta::FromMilliseconds(10)); | 1087 TimeDelta::FromMilliseconds(10)); |
| 1083 base::MessageLoop::current()->Run(); | 1088 base::MessageLoop::current()->Run(); |
| 1084 EXPECT_TRUE(delegate_->unresponsive_timer_fired()); | 1089 EXPECT_TRUE(delegate_->unresponsive_timer_fired()); |
| 1085 } | 1090 } |
| 1086 | 1091 |
| 1087 // Test that the hang monitor timer expires properly if it is started, stopped, | 1092 // Test that the hang monitor timer expires properly if it is started, stopped, |
| 1088 // and then started again. | 1093 // and then started again. |
| 1089 TEST_F(RenderWidgetHostTest, StopAndStartHangMonitorTimeout) { | 1094 TEST_F(RenderWidgetHostTest, StopAndStartHangMonitorTimeout) { |
| 1090 // Start with a short timeout, then stop it. | 1095 // Start with a short timeout, then stop it. |
| 1091 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10)); | 1096 host_->StartHangMonitorTimeout( |
| 1097 TimeDelta::FromMilliseconds(10), |
| 1098 RenderWidgetHostDelegate::RENDERER_UNRESPONSIVE_UNKNOWN); |
| 1092 host_->StopHangMonitorTimeout(); | 1099 host_->StopHangMonitorTimeout(); |
| 1093 | 1100 |
| 1094 // Start it again to ensure it still works. | 1101 // Start it again to ensure it still works. |
| 1095 EXPECT_FALSE(delegate_->unresponsive_timer_fired()); | 1102 EXPECT_FALSE(delegate_->unresponsive_timer_fired()); |
| 1096 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10)); | 1103 host_->StartHangMonitorTimeout( |
| 1104 TimeDelta::FromMilliseconds(10), |
| 1105 RenderWidgetHostDelegate::RENDERER_UNRESPONSIVE_UNKNOWN); |
| 1097 | 1106 |
| 1098 // Wait long enough for first timeout and see if it fired. | 1107 // Wait long enough for first timeout and see if it fired. |
| 1099 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 1108 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
| 1100 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), | 1109 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), |
| 1101 TimeDelta::FromMilliseconds(40)); | 1110 TimeDelta::FromMilliseconds(40)); |
| 1102 base::MessageLoop::current()->Run(); | 1111 base::MessageLoop::current()->Run(); |
| 1103 EXPECT_TRUE(delegate_->unresponsive_timer_fired()); | 1112 EXPECT_TRUE(delegate_->unresponsive_timer_fired()); |
| 1104 } | 1113 } |
| 1105 | 1114 |
| 1106 // Test that the hang monitor timer expires properly if it is started, then | 1115 // Test that the hang monitor timer expires properly if it is started, then |
| 1107 // updated to a shorter duration. | 1116 // updated to a shorter duration. |
| 1108 TEST_F(RenderWidgetHostTest, ShorterDelayHangMonitorTimeout) { | 1117 TEST_F(RenderWidgetHostTest, ShorterDelayHangMonitorTimeout) { |
| 1109 // Start with a timeout. | 1118 // Start with a timeout. |
| 1110 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(100)); | 1119 host_->StartHangMonitorTimeout( |
| 1120 TimeDelta::FromMilliseconds(100), |
| 1121 RenderWidgetHostDelegate::RENDERER_UNRESPONSIVE_UNKNOWN); |
| 1111 | 1122 |
| 1112 // Start it again with shorter delay. | 1123 // Start it again with shorter delay. |
| 1113 EXPECT_FALSE(delegate_->unresponsive_timer_fired()); | 1124 EXPECT_FALSE(delegate_->unresponsive_timer_fired()); |
| 1114 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(20)); | 1125 host_->StartHangMonitorTimeout( |
| 1126 TimeDelta::FromMilliseconds(20), |
| 1127 RenderWidgetHostDelegate::RENDERER_UNRESPONSIVE_UNKNOWN); |
| 1115 | 1128 |
| 1116 // Wait long enough for the second timeout and see if it fired. | 1129 // Wait long enough for the second timeout and see if it fired. |
| 1117 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 1130 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
| 1118 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), | 1131 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), |
| 1119 TimeDelta::FromMilliseconds(25)); | 1132 TimeDelta::FromMilliseconds(25)); |
| 1120 base::MessageLoop::current()->Run(); | 1133 base::MessageLoop::current()->Run(); |
| 1121 EXPECT_TRUE(delegate_->unresponsive_timer_fired()); | 1134 EXPECT_TRUE(delegate_->unresponsive_timer_fired()); |
| 1122 } | 1135 } |
| 1123 | 1136 |
| 1124 // Test that the hang monitor timer is effectively disabled when the widget is | 1137 // Test that the hang monitor timer is effectively disabled when the widget is |
| (...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1674 ui::LatencyInfo()); | 1687 ui::LatencyInfo()); |
| 1675 | 1688 |
| 1676 | 1689 |
| 1677 // Tests RWHI::ForwardWheelEventWithLatencyInfo(). | 1690 // Tests RWHI::ForwardWheelEventWithLatencyInfo(). |
| 1678 SimulateWheelEventWithLatencyInfo(-5, 0, 0, true, ui::LatencyInfo()); | 1691 SimulateWheelEventWithLatencyInfo(-5, 0, 0, true, ui::LatencyInfo()); |
| 1679 | 1692 |
| 1680 ASSERT_FALSE(host_->input_router()->HasPendingEvents()); | 1693 ASSERT_FALSE(host_->input_router()->HasPendingEvents()); |
| 1681 } | 1694 } |
| 1682 | 1695 |
| 1683 } // namespace content | 1696 } // namespace content |
| OLD | NEW |