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

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

Issue 396483003: Separate ResizeHelper from RenderWidgetHelper (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Linux build again Created 6 years, 5 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 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 }; 195 };
196 196
197 namespace { 197 namespace {
198 198
199 // RenderWidgetHostProcess ----------------------------------------------------- 199 // RenderWidgetHostProcess -----------------------------------------------------
200 200
201 class RenderWidgetHostProcess : public MockRenderProcessHost { 201 class RenderWidgetHostProcess : public MockRenderProcessHost {
202 public: 202 public:
203 explicit RenderWidgetHostProcess(BrowserContext* browser_context) 203 explicit RenderWidgetHostProcess(BrowserContext* browser_context)
204 : MockRenderProcessHost(browser_context), 204 : MockRenderProcessHost(browser_context),
205 update_msg_should_reply_(false),
206 update_msg_reply_flags_(0) { 205 update_msg_reply_flags_(0) {
207 } 206 }
208 virtual ~RenderWidgetHostProcess() { 207 virtual ~RenderWidgetHostProcess() {
209 } 208 }
210 209
211 void set_update_msg_should_reply(bool reply) {
212 update_msg_should_reply_ = reply;
213 }
214 void set_update_msg_reply_flags(int flags) { 210 void set_update_msg_reply_flags(int flags) {
215 update_msg_reply_flags_ = flags; 211 update_msg_reply_flags_ = flags;
216 } 212 }
217 213
218 // Fills the given update parameters with resonable default values. 214 // Fills the given update parameters with resonable default values.
219 void InitUpdateRectParams(ViewHostMsg_UpdateRect_Params* params); 215 void InitUpdateRectParams(ViewHostMsg_UpdateRect_Params* params);
220 216
221 virtual bool HasConnection() const OVERRIDE { return true; } 217 virtual bool HasConnection() const OVERRIDE { return true; }
222 218
223 protected: 219 protected:
224 virtual bool WaitForBackingStoreMsg(int render_widget_id,
225 const base::TimeDelta& max_delay,
226 IPC::Message* msg) OVERRIDE;
227
228 // Set to true when WaitForBackingStoreMsg should return a successful update
229 // message reply. False implies timeout.
230 bool update_msg_should_reply_;
231
232 // Indicates the flags that should be sent with a repaint request. This 220 // Indicates the flags that should be sent with a repaint request. This
233 // only has an effect when update_msg_should_reply_ is true. 221 // only has an effect when update_msg_should_reply_ is true.
234 int update_msg_reply_flags_; 222 int update_msg_reply_flags_;
235 223
236 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostProcess); 224 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostProcess);
237 }; 225 };
238 226
239 void RenderWidgetHostProcess::InitUpdateRectParams( 227 void RenderWidgetHostProcess::InitUpdateRectParams(
240 ViewHostMsg_UpdateRect_Params* params) { 228 ViewHostMsg_UpdateRect_Params* params) {
241 const int w = 100, h = 100; 229 const int w = 100, h = 100;
242 230
243 params->view_size = gfx::Size(w, h); 231 params->view_size = gfx::Size(w, h);
244 params->flags = update_msg_reply_flags_; 232 params->flags = update_msg_reply_flags_;
245 } 233 }
246 234
247 bool RenderWidgetHostProcess::WaitForBackingStoreMsg(
248 int render_widget_id,
249 const base::TimeDelta& max_delay,
250 IPC::Message* msg) {
251 if (!update_msg_should_reply_)
252 return false;
253
254 // Construct a fake update reply.
255 ViewHostMsg_UpdateRect_Params params;
256 InitUpdateRectParams(&params);
257
258 ViewHostMsg_UpdateRect message(render_widget_id, params);
259 *msg = message;
260 return true;
261 }
262
263 // TestView -------------------------------------------------------------------- 235 // TestView --------------------------------------------------------------------
264 236
265 // This test view allows us to specify the size, and keep track of acked 237 // This test view allows us to specify the size, and keep track of acked
266 // touch-events. 238 // touch-events.
267 class TestView : public TestRenderWidgetHostView { 239 class TestView : public TestRenderWidgetHostView {
268 public: 240 public:
269 explicit TestView(RenderWidgetHostImpl* rwh) 241 explicit TestView(RenderWidgetHostImpl* rwh)
270 : TestRenderWidgetHostView(rwh), 242 : TestRenderWidgetHostView(rwh),
271 unhandled_wheel_event_count_(0), 243 unhandled_wheel_event_count_(0),
272 acked_event_count_(0), 244 acked_event_count_(0),
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1421 1393
1422 // Tests RWHI::ForwardTouchEventWithLatencyInfo(). 1394 // Tests RWHI::ForwardTouchEventWithLatencyInfo().
1423 PressTouchPoint(0, 1); 1395 PressTouchPoint(0, 1);
1424 SendTouchEvent(); 1396 SendTouchEvent();
1425 CheckLatencyInfoComponentInMessage( 1397 CheckLatencyInfoComponentInMessage(
1426 process_, GetLatencyComponentId(), WebInputEvent::TouchStart); 1398 process_, GetLatencyComponentId(), WebInputEvent::TouchStart);
1427 SendInputEventACK(WebInputEvent::TouchStart, INPUT_EVENT_ACK_STATE_CONSUMED); 1399 SendInputEventACK(WebInputEvent::TouchStart, INPUT_EVENT_ACK_STATE_CONSUMED);
1428 } 1400 }
1429 1401
1430 } // namespace content 1402 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698