Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1139)

Side by Side Diff: content/browser/renderer_host/render_widget_host_unittest.cc

Issue 667943003: Standardize usage of virtual/override/final in content/browser/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/shared_memory.h" 9 #include "base/memory/shared_memory.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 explicit MockInputRouter(InputRouterClient* client) 60 explicit MockInputRouter(InputRouterClient* client)
61 : send_event_called_(false), 61 : send_event_called_(false),
62 sent_mouse_event_(false), 62 sent_mouse_event_(false),
63 sent_wheel_event_(false), 63 sent_wheel_event_(false),
64 sent_keyboard_event_(false), 64 sent_keyboard_event_(false),
65 sent_gesture_event_(false), 65 sent_gesture_event_(false),
66 send_touch_event_not_cancelled_(false), 66 send_touch_event_not_cancelled_(false),
67 message_received_(false), 67 message_received_(false),
68 client_(client) { 68 client_(client) {
69 } 69 }
70 virtual ~MockInputRouter() {} 70 ~MockInputRouter() override {}
71 71
72 // InputRouter 72 // InputRouter
73 virtual void Flush() override { 73 void Flush() override { flush_called_ = true; }
74 flush_called_ = true; 74 bool SendInput(scoped_ptr<IPC::Message> message) override {
75 }
76 virtual bool SendInput(scoped_ptr<IPC::Message> message) override {
77 send_event_called_ = true; 75 send_event_called_ = true;
78 return true; 76 return true;
79 } 77 }
80 virtual void SendMouseEvent( 78 void SendMouseEvent(const MouseEventWithLatencyInfo& mouse_event) override {
81 const MouseEventWithLatencyInfo& mouse_event) override {
82 sent_mouse_event_ = true; 79 sent_mouse_event_ = true;
83 } 80 }
84 virtual void SendWheelEvent( 81 void SendWheelEvent(
85 const MouseWheelEventWithLatencyInfo& wheel_event) override { 82 const MouseWheelEventWithLatencyInfo& wheel_event) override {
86 sent_wheel_event_ = true; 83 sent_wheel_event_ = true;
87 } 84 }
88 virtual void SendKeyboardEvent( 85 void SendKeyboardEvent(const NativeWebKeyboardEvent& key_event,
89 const NativeWebKeyboardEvent& key_event, 86 const ui::LatencyInfo& latency_info,
90 const ui::LatencyInfo& latency_info, 87 bool is_shortcut) override {
91 bool is_shortcut) override {
92 sent_keyboard_event_ = true; 88 sent_keyboard_event_ = true;
93 } 89 }
94 virtual void SendGestureEvent( 90 void SendGestureEvent(
95 const GestureEventWithLatencyInfo& gesture_event) override { 91 const GestureEventWithLatencyInfo& gesture_event) override {
96 sent_gesture_event_ = true; 92 sent_gesture_event_ = true;
97 } 93 }
98 virtual void SendTouchEvent( 94 void SendTouchEvent(const TouchEventWithLatencyInfo& touch_event) override {
99 const TouchEventWithLatencyInfo& touch_event) override {
100 send_touch_event_not_cancelled_ = 95 send_touch_event_not_cancelled_ =
101 client_->FilterInputEvent(touch_event.event, touch_event.latency) == 96 client_->FilterInputEvent(touch_event.event, touch_event.latency) ==
102 INPUT_EVENT_ACK_STATE_NOT_CONSUMED; 97 INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
103 } 98 }
104 virtual const NativeWebKeyboardEvent* GetLastKeyboardEvent() const override { 99 const NativeWebKeyboardEvent* GetLastKeyboardEvent() const override {
105 NOTREACHED(); 100 NOTREACHED();
106 return NULL; 101 return NULL;
107 } 102 }
108 virtual bool ShouldForwardTouchEvent() const override { return true; } 103 bool ShouldForwardTouchEvent() const override { return true; }
109 virtual void OnViewUpdated(int view_flags) override {} 104 void OnViewUpdated(int view_flags) override {}
110 virtual bool HasPendingEvents() const override { return false; } 105 bool HasPendingEvents() const override { return false; }
111 106
112 // IPC::Listener 107 // IPC::Listener
113 virtual bool OnMessageReceived(const IPC::Message& message) override { 108 bool OnMessageReceived(const IPC::Message& message) override {
114 message_received_ = true; 109 message_received_ = true;
115 return false; 110 return false;
116 } 111 }
117 112
118 bool flush_called_; 113 bool flush_called_;
119 bool send_event_called_; 114 bool send_event_called_;
120 bool sent_mouse_event_; 115 bool sent_mouse_event_;
121 bool sent_wheel_event_; 116 bool sent_wheel_event_;
122 bool sent_keyboard_event_; 117 bool sent_keyboard_event_;
123 bool sent_gesture_event_; 118 bool sent_gesture_event_;
(...skipping 20 matching lines...) Expand all
144 } 139 }
145 140
146 // Allow poking at a few private members. 141 // Allow poking at a few private members.
147 using RenderWidgetHostImpl::OnUpdateRect; 142 using RenderWidgetHostImpl::OnUpdateRect;
148 using RenderWidgetHostImpl::RendererExited; 143 using RenderWidgetHostImpl::RendererExited;
149 using RenderWidgetHostImpl::last_requested_size_; 144 using RenderWidgetHostImpl::last_requested_size_;
150 using RenderWidgetHostImpl::is_hidden_; 145 using RenderWidgetHostImpl::is_hidden_;
151 using RenderWidgetHostImpl::resize_ack_pending_; 146 using RenderWidgetHostImpl::resize_ack_pending_;
152 using RenderWidgetHostImpl::input_router_; 147 using RenderWidgetHostImpl::input_router_;
153 148
154 virtual void OnTouchEventAck( 149 void OnTouchEventAck(const TouchEventWithLatencyInfo& event,
155 const TouchEventWithLatencyInfo& event, 150 InputEventAckState ack_result) override {
156 InputEventAckState ack_result) override {
157 // Sniff touch acks. 151 // Sniff touch acks.
158 acked_touch_event_type_ = event.event.type; 152 acked_touch_event_type_ = event.event.type;
159 RenderWidgetHostImpl::OnTouchEventAck(event, ack_result); 153 RenderWidgetHostImpl::OnTouchEventAck(event, ack_result);
160 } 154 }
161 155
162 bool unresponsive_timer_fired() const { 156 bool unresponsive_timer_fired() const {
163 return unresponsive_timer_fired_; 157 return unresponsive_timer_fired_;
164 } 158 }
165 159
166 void set_hung_renderer_delay_ms(int64 delay_ms) { 160 void set_hung_renderer_delay_ms(int64 delay_ms) {
(...skipping 11 matching lines...) Expand all
178 172
179 void SetupForInputRouterTest() { 173 void SetupForInputRouterTest() {
180 input_router_.reset(new MockInputRouter(this)); 174 input_router_.reset(new MockInputRouter(this));
181 } 175 }
182 176
183 MockInputRouter* mock_input_router() { 177 MockInputRouter* mock_input_router() {
184 return static_cast<MockInputRouter*>(input_router_.get()); 178 return static_cast<MockInputRouter*>(input_router_.get());
185 } 179 }
186 180
187 protected: 181 protected:
188 virtual void NotifyRendererUnresponsive() override { 182 void NotifyRendererUnresponsive() override {
189 unresponsive_timer_fired_ = true; 183 unresponsive_timer_fired_ = true;
190 } 184 }
191 185
192 bool unresponsive_timer_fired_; 186 bool unresponsive_timer_fired_;
193 WebInputEvent::Type acked_touch_event_type_; 187 WebInputEvent::Type acked_touch_event_type_;
194 188
195 DISALLOW_COPY_AND_ASSIGN(MockRenderWidgetHost); 189 DISALLOW_COPY_AND_ASSIGN(MockRenderWidgetHost);
196 }; 190 };
197 191
198 namespace { 192 namespace {
199 193
200 // RenderWidgetHostProcess ----------------------------------------------------- 194 // RenderWidgetHostProcess -----------------------------------------------------
201 195
202 class RenderWidgetHostProcess : public MockRenderProcessHost { 196 class RenderWidgetHostProcess : public MockRenderProcessHost {
203 public: 197 public:
204 explicit RenderWidgetHostProcess(BrowserContext* browser_context) 198 explicit RenderWidgetHostProcess(BrowserContext* browser_context)
205 : MockRenderProcessHost(browser_context), 199 : MockRenderProcessHost(browser_context),
206 update_msg_reply_flags_(0) { 200 update_msg_reply_flags_(0) {
207 } 201 }
208 virtual ~RenderWidgetHostProcess() { 202 ~RenderWidgetHostProcess() override {}
209 }
210 203
211 void set_update_msg_reply_flags(int flags) { 204 void set_update_msg_reply_flags(int flags) {
212 update_msg_reply_flags_ = flags; 205 update_msg_reply_flags_ = flags;
213 } 206 }
214 207
215 // Fills the given update parameters with resonable default values. 208 // Fills the given update parameters with resonable default values.
216 void InitUpdateRectParams(ViewHostMsg_UpdateRect_Params* params); 209 void InitUpdateRectParams(ViewHostMsg_UpdateRect_Params* params);
217 210
218 virtual bool HasConnection() const override { return true; } 211 bool HasConnection() const override { return true; }
219 212
220 protected: 213 protected:
221 // Indicates the flags that should be sent with a repaint request. This 214 // Indicates the flags that should be sent with a repaint request. This
222 // only has an effect when update_msg_should_reply_ is true. 215 // only has an effect when update_msg_should_reply_ is true.
223 int update_msg_reply_flags_; 216 int update_msg_reply_flags_;
224 217
225 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostProcess); 218 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostProcess);
226 }; 219 };
227 220
228 void RenderWidgetHostProcess::InitUpdateRectParams( 221 void RenderWidgetHostProcess::InitUpdateRectParams(
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 264
272 void SetMockPhysicalBackingSize(const gfx::Size& mock_physical_backing_size) { 265 void SetMockPhysicalBackingSize(const gfx::Size& mock_physical_backing_size) {
273 use_fake_physical_backing_size_ = true; 266 use_fake_physical_backing_size_ = true;
274 mock_physical_backing_size_ = mock_physical_backing_size; 267 mock_physical_backing_size_ = mock_physical_backing_size;
275 } 268 }
276 void ClearMockPhysicalBackingSize() { 269 void ClearMockPhysicalBackingSize() {
277 use_fake_physical_backing_size_ = false; 270 use_fake_physical_backing_size_ = false;
278 } 271 }
279 272
280 // RenderWidgetHostView override. 273 // RenderWidgetHostView override.
281 virtual gfx::Rect GetViewBounds() const override { 274 gfx::Rect GetViewBounds() const override { return bounds_; }
282 return bounds_; 275 void ProcessAckedTouchEvent(const TouchEventWithLatencyInfo& touch,
283 } 276 InputEventAckState ack_result) override {
284 virtual void ProcessAckedTouchEvent(const TouchEventWithLatencyInfo& touch,
285 InputEventAckState ack_result) override {
286 acked_event_ = touch.event; 277 acked_event_ = touch.event;
287 ++acked_event_count_; 278 ++acked_event_count_;
288 } 279 }
289 virtual void WheelEventAck(const WebMouseWheelEvent& event, 280 void WheelEventAck(const WebMouseWheelEvent& event,
290 InputEventAckState ack_result) override { 281 InputEventAckState ack_result) override {
291 if (ack_result == INPUT_EVENT_ACK_STATE_CONSUMED) 282 if (ack_result == INPUT_EVENT_ACK_STATE_CONSUMED)
292 return; 283 return;
293 unhandled_wheel_event_count_++; 284 unhandled_wheel_event_count_++;
294 unhandled_wheel_event_ = event; 285 unhandled_wheel_event_ = event;
295 } 286 }
296 virtual void GestureEventAck(const WebGestureEvent& event, 287 void GestureEventAck(const WebGestureEvent& event,
297 InputEventAckState ack_result) override { 288 InputEventAckState ack_result) override {
298 gesture_event_type_ = event.type; 289 gesture_event_type_ = event.type;
299 ack_result_ = ack_result; 290 ack_result_ = ack_result;
300 } 291 }
301 virtual gfx::Size GetPhysicalBackingSize() const override { 292 gfx::Size GetPhysicalBackingSize() const override {
302 if (use_fake_physical_backing_size_) 293 if (use_fake_physical_backing_size_)
303 return mock_physical_backing_size_; 294 return mock_physical_backing_size_;
304 return TestRenderWidgetHostView::GetPhysicalBackingSize(); 295 return TestRenderWidgetHostView::GetPhysicalBackingSize();
305 } 296 }
306 #if defined(USE_AURA) 297 #if defined(USE_AURA)
307 virtual ~TestView() { 298 virtual ~TestView() {
308 // Simulate the mouse exit event dispatched when an aura window is 299 // Simulate the mouse exit event dispatched when an aura window is
309 // destroyed. (MakeWebMouseEventFromAuraEvent translates ET_MOUSE_EXITED 300 // destroyed. (MakeWebMouseEventFromAuraEvent translates ET_MOUSE_EXITED
310 // into WebInputEvent::MouseMove.) 301 // into WebInputEvent::MouseMove.)
311 rwh_->input_router()->SendMouseEvent( 302 rwh_->input_router()->SendMouseEvent(
(...skipping 23 matching lines...) Expand all
335 public: 326 public:
336 MockRenderWidgetHostDelegate() 327 MockRenderWidgetHostDelegate()
337 : prehandle_keyboard_event_(false), 328 : prehandle_keyboard_event_(false),
338 prehandle_keyboard_event_called_(false), 329 prehandle_keyboard_event_called_(false),
339 prehandle_keyboard_event_type_(WebInputEvent::Undefined), 330 prehandle_keyboard_event_type_(WebInputEvent::Undefined),
340 unhandled_keyboard_event_called_(false), 331 unhandled_keyboard_event_called_(false),
341 unhandled_keyboard_event_type_(WebInputEvent::Undefined), 332 unhandled_keyboard_event_type_(WebInputEvent::Undefined),
342 handle_wheel_event_(false), 333 handle_wheel_event_(false),
343 handle_wheel_event_called_(false) { 334 handle_wheel_event_called_(false) {
344 } 335 }
345 virtual ~MockRenderWidgetHostDelegate() {} 336 ~MockRenderWidgetHostDelegate() override {}
346 337
347 // Tests that make sure we ignore keyboard event acknowledgments to events we 338 // Tests that make sure we ignore keyboard event acknowledgments to events we
348 // didn't send work by making sure we didn't call UnhandledKeyboardEvent(). 339 // didn't send work by making sure we didn't call UnhandledKeyboardEvent().
349 bool unhandled_keyboard_event_called() const { 340 bool unhandled_keyboard_event_called() const {
350 return unhandled_keyboard_event_called_; 341 return unhandled_keyboard_event_called_;
351 } 342 }
352 343
353 WebInputEvent::Type unhandled_keyboard_event_type() const { 344 WebInputEvent::Type unhandled_keyboard_event_type() const {
354 return unhandled_keyboard_event_type_; 345 return unhandled_keyboard_event_type_;
355 } 346 }
(...skipping 12 matching lines...) Expand all
368 359
369 void set_handle_wheel_event(bool handle) { 360 void set_handle_wheel_event(bool handle) {
370 handle_wheel_event_ = handle; 361 handle_wheel_event_ = handle;
371 } 362 }
372 363
373 bool handle_wheel_event_called() { 364 bool handle_wheel_event_called() {
374 return handle_wheel_event_called_; 365 return handle_wheel_event_called_;
375 } 366 }
376 367
377 protected: 368 protected:
378 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, 369 bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
379 bool* is_keyboard_shortcut) override { 370 bool* is_keyboard_shortcut) override {
380 prehandle_keyboard_event_type_ = event.type; 371 prehandle_keyboard_event_type_ = event.type;
381 prehandle_keyboard_event_called_ = true; 372 prehandle_keyboard_event_called_ = true;
382 return prehandle_keyboard_event_; 373 return prehandle_keyboard_event_;
383 } 374 }
384 375
385 virtual void HandleKeyboardEvent( 376 void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) override {
386 const NativeWebKeyboardEvent& event) override {
387 unhandled_keyboard_event_type_ = event.type; 377 unhandled_keyboard_event_type_ = event.type;
388 unhandled_keyboard_event_called_ = true; 378 unhandled_keyboard_event_called_ = true;
389 } 379 }
390 380
391 virtual bool HandleWheelEvent( 381 bool HandleWheelEvent(const blink::WebMouseWheelEvent& event) override {
392 const blink::WebMouseWheelEvent& event) override {
393 handle_wheel_event_called_ = true; 382 handle_wheel_event_called_ = true;
394 return handle_wheel_event_; 383 return handle_wheel_event_;
395 } 384 }
396 385
397 private: 386 private:
398 bool prehandle_keyboard_event_; 387 bool prehandle_keyboard_event_;
399 bool prehandle_keyboard_event_called_; 388 bool prehandle_keyboard_event_called_;
400 WebInputEvent::Type prehandle_keyboard_event_type_; 389 WebInputEvent::Type prehandle_keyboard_event_type_;
401 390
402 bool unhandled_keyboard_event_called_; 391 bool unhandled_keyboard_event_called_;
(...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after
1500 1489
1501 ASSERT_TRUE(host_->is_hidden()); 1490 ASSERT_TRUE(host_->is_hidden());
1502 host_->RendererExited(base::TERMINATION_STATUS_PROCESS_CRASHED, -1); 1491 host_->RendererExited(base::TERMINATION_STATUS_PROCESS_CRASHED, -1);
1503 ASSERT_FALSE(host_->is_hidden()); 1492 ASSERT_FALSE(host_->is_hidden());
1504 1493
1505 // Make sure the input router is in a fresh state. 1494 // Make sure the input router is in a fresh state.
1506 ASSERT_FALSE(host_->input_router()->HasPendingEvents()); 1495 ASSERT_FALSE(host_->input_router()->HasPendingEvents());
1507 } 1496 }
1508 1497
1509 } // namespace content 1498 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.cc ('k') | content/browser/renderer_host/render_widget_host_view_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698