OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/auto_reset.h" | 5 #include "base/auto_reset.h" |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "content/browser/gpu/compositor_util.h" | 8 #include "content/browser/gpu/compositor_util.h" |
9 #include "content/browser/renderer_host/render_widget_host_impl.h" | 9 #include "content/browser/renderer_host/render_widget_host_impl.h" |
10 #include "content/browser/web_contents/web_contents_impl.h" | 10 #include "content/browser/web_contents/web_contents_impl.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 101 |
102 private: | 102 private: |
103 void ReceivedEventAck(WebInputEvent::Type type, InputEventAckState state) { | 103 void ReceivedEventAck(WebInputEvent::Type type, InputEventAckState state) { |
104 if (type_ == type) { | 104 if (type_ == type) { |
105 state_ = state; | 105 state_ = state; |
106 quit_.Run(); | 106 quit_.Run(); |
107 } | 107 } |
108 } | 108 } |
109 | 109 |
110 // BrowserMessageFilter: | 110 // BrowserMessageFilter: |
111 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE { | 111 virtual bool OnMessageReceived(const IPC::Message& message) override { |
112 if (message.type() == InputHostMsg_HandleInputEvent_ACK::ID) { | 112 if (message.type() == InputHostMsg_HandleInputEvent_ACK::ID) { |
113 InputHostMsg_HandleInputEvent_ACK::Param params; | 113 InputHostMsg_HandleInputEvent_ACK::Param params; |
114 InputHostMsg_HandleInputEvent_ACK::Read(&message, ¶ms); | 114 InputHostMsg_HandleInputEvent_ACK::Read(&message, ¶ms); |
115 WebInputEvent::Type type = params.a.type; | 115 WebInputEvent::Type type = params.a.type; |
116 InputEventAckState ack = params.a.state; | 116 InputEventAckState ack = params.a.state; |
117 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 117 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
118 base::Bind(&InputEventMessageFilter::ReceivedEventAck, | 118 base::Bind(&InputEventMessageFilter::ReceivedEventAck, |
119 this, type, ack)); | 119 this, type, ack)); |
120 } | 120 } |
121 return false; | 121 return false; |
(...skipping 30 matching lines...) Expand all Loading... |
152 host->GetView()->SetSize(gfx::Size(400, 400)); | 152 host->GetView()->SetSize(gfx::Size(400, 400)); |
153 | 153 |
154 // The page is loaded in the renderer, wait for a new frame to arrive. | 154 // The page is loaded in the renderer, wait for a new frame to arrive. |
155 while (!host->ScheduleComposite()) | 155 while (!host->ScheduleComposite()) |
156 GiveItSomeTime(); | 156 GiveItSomeTime(); |
157 | 157 |
158 filter_ = new InputEventMessageFilter(); | 158 filter_ = new InputEventMessageFilter(); |
159 host->GetProcess()->AddFilter(filter_.get()); | 159 host->GetProcess()->AddFilter(filter_.get()); |
160 } | 160 } |
161 | 161 |
162 virtual void SetUpCommandLine(CommandLine* cmd) OVERRIDE { | 162 virtual void SetUpCommandLine(CommandLine* cmd) override { |
163 cmd->AppendSwitchASCII(switches::kTouchEvents, | 163 cmd->AppendSwitchASCII(switches::kTouchEvents, |
164 switches::kTouchEventsEnabled); | 164 switches::kTouchEventsEnabled); |
165 } | 165 } |
166 | 166 |
167 scoped_refptr<InputEventMessageFilter> filter_; | 167 scoped_refptr<InputEventMessageFilter> filter_; |
168 }; | 168 }; |
169 | 169 |
170 #if defined(OS_MACOSX) | 170 #if defined(OS_MACOSX) |
171 // TODO(ccameron): Failing on mac: crbug.com/346363 | 171 // TODO(ccameron): Failing on mac: crbug.com/346363 |
172 #define MAYBE_TouchNoHandler DISABLED_TouchNoHandler | 172 #define MAYBE_TouchNoHandler DISABLED_TouchNoHandler |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 EXPECT_EQ(INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS, | 244 EXPECT_EQ(INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS, |
245 filter()->last_ack_state()); | 245 filter()->last_ack_state()); |
246 | 246 |
247 touch.PressPoint(25, 125); | 247 touch.PressPoint(25, 125); |
248 GetWidgetHost()->ForwardTouchEventWithLatencyInfo(touch, ui::LatencyInfo()); | 248 GetWidgetHost()->ForwardTouchEventWithLatencyInfo(touch, ui::LatencyInfo()); |
249 filter()->WaitForAck(WebInputEvent::TouchStart); | 249 filter()->WaitForAck(WebInputEvent::TouchStart); |
250 EXPECT_EQ(INPUT_EVENT_ACK_STATE_CONSUMED, filter()->last_ack_state()); | 250 EXPECT_EQ(INPUT_EVENT_ACK_STATE_CONSUMED, filter()->last_ack_state()); |
251 } | 251 } |
252 | 252 |
253 } // namespace content | 253 } // namespace content |
OLD | NEW |