| 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 |