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 "content/browser/renderer_host/render_widget_host_view_android.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_android.h" |
6 | 6 |
7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 | 103 |
104 using_delegated_renderer |= CommandLine::ForCurrentProcess()->HasSwitch( | 104 using_delegated_renderer |= CommandLine::ForCurrentProcess()->HasSwitch( |
105 switches::kEnableDelegatedRenderer); | 105 switches::kEnableDelegatedRenderer); |
106 | 106 |
107 using_delegated_renderer &= !CommandLine::ForCurrentProcess()->HasSwitch( | 107 using_delegated_renderer &= !CommandLine::ForCurrentProcess()->HasSwitch( |
108 switches::kDisableDelegatedRenderer); | 108 switches::kDisableDelegatedRenderer); |
109 | 109 |
110 return using_delegated_renderer; | 110 return using_delegated_renderer; |
111 } | 111 } |
112 | 112 |
| 113 ui::LatencyInfo CreateLatencyInfo(const blink::WebInputEvent event) { |
| 114 ui::LatencyInfo latency_info; |
| 115 // The latency number should only be added if the timestamp is valid. |
| 116 if (event.timeStampSeconds) { |
| 117 const int64 time_micros = static_cast<int64>( |
| 118 event.timeStampSeconds * base::Time::kMicrosecondsPerSecond); |
| 119 latency_info.AddLatencyNumberWithTimestamp( |
| 120 ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, |
| 121 0, |
| 122 0, |
| 123 base::TimeTicks() + base::TimeDelta::FromMicroseconds(time_micros), |
| 124 1, |
| 125 false); |
| 126 } |
| 127 return latency_info; |
| 128 } |
| 129 |
113 } // anonymous namespace | 130 } // anonymous namespace |
114 | 131 |
115 RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( | 132 RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( |
116 RenderWidgetHostImpl* widget_host, | 133 RenderWidgetHostImpl* widget_host, |
117 ContentViewCoreImpl* content_view_core) | 134 ContentViewCoreImpl* content_view_core) |
118 : host_(widget_host), | 135 : host_(widget_host), |
119 needs_begin_frame_(false), | 136 needs_begin_frame_(false), |
120 are_layers_attached_(!widget_host->is_hidden()), | 137 are_layers_attached_(!widget_host->is_hidden()), |
121 content_view_core_(NULL), | 138 content_view_core_(NULL), |
122 ime_adapter_android_(this), | 139 ime_adapter_android_(this), |
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1171 | 1188 |
1172 void RenderWidgetHostViewAndroid::SendKeyEvent( | 1189 void RenderWidgetHostViewAndroid::SendKeyEvent( |
1173 const NativeWebKeyboardEvent& event) { | 1190 const NativeWebKeyboardEvent& event) { |
1174 if (host_) | 1191 if (host_) |
1175 host_->ForwardKeyboardEvent(event); | 1192 host_->ForwardKeyboardEvent(event); |
1176 } | 1193 } |
1177 | 1194 |
1178 void RenderWidgetHostViewAndroid::SendTouchEvent( | 1195 void RenderWidgetHostViewAndroid::SendTouchEvent( |
1179 const blink::WebTouchEvent& event) { | 1196 const blink::WebTouchEvent& event) { |
1180 if (host_) | 1197 if (host_) |
1181 host_->ForwardTouchEventWithLatencyInfo(event, ui::LatencyInfo()); | 1198 host_->ForwardTouchEventWithLatencyInfo(event, CreateLatencyInfo(event)); |
1182 } | 1199 } |
1183 | 1200 |
1184 | 1201 |
1185 void RenderWidgetHostViewAndroid::SendMouseEvent( | 1202 void RenderWidgetHostViewAndroid::SendMouseEvent( |
1186 const blink::WebMouseEvent& event) { | 1203 const blink::WebMouseEvent& event) { |
1187 if (host_) | 1204 if (host_) |
1188 host_->ForwardMouseEvent(event); | 1205 host_->ForwardMouseEvent(event); |
1189 } | 1206 } |
1190 | 1207 |
1191 void RenderWidgetHostViewAndroid::SendMouseWheelEvent( | 1208 void RenderWidgetHostViewAndroid::SendMouseWheelEvent( |
1192 const blink::WebMouseWheelEvent& event) { | 1209 const blink::WebMouseWheelEvent& event) { |
1193 if (host_) | 1210 if (host_) |
1194 host_->ForwardWheelEvent(event); | 1211 host_->ForwardWheelEvent(event); |
1195 } | 1212 } |
1196 | 1213 |
1197 void RenderWidgetHostViewAndroid::SendGestureEvent( | 1214 void RenderWidgetHostViewAndroid::SendGestureEvent( |
1198 const blink::WebGestureEvent& event) { | 1215 const blink::WebGestureEvent& event) { |
1199 // Sending a gesture that may trigger overscroll should resume the effect. | 1216 // Sending a gesture that may trigger overscroll should resume the effect. |
1200 if (overscroll_effect_enabled_) | 1217 if (overscroll_effect_enabled_) |
1201 overscroll_effect_->Enable(); | 1218 overscroll_effect_->Enable(); |
1202 | 1219 |
1203 if (host_) | 1220 if (host_) |
1204 host_->ForwardGestureEvent(event); | 1221 host_->ForwardGestureEventWithLatencyInfo(event, CreateLatencyInfo(event)); |
1205 } | 1222 } |
1206 | 1223 |
1207 void RenderWidgetHostViewAndroid::SelectRange(const gfx::Point& start, | 1224 void RenderWidgetHostViewAndroid::SelectRange(const gfx::Point& start, |
1208 const gfx::Point& end) { | 1225 const gfx::Point& end) { |
1209 if (host_) | 1226 if (host_) |
1210 host_->SelectRange(start, end); | 1227 host_->SelectRange(start, end); |
1211 } | 1228 } |
1212 | 1229 |
1213 void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) { | 1230 void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) { |
1214 if (host_) | 1231 if (host_) |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1431 // RenderWidgetHostView, public: | 1448 // RenderWidgetHostView, public: |
1432 | 1449 |
1433 // static | 1450 // static |
1434 RenderWidgetHostView* | 1451 RenderWidgetHostView* |
1435 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) { | 1452 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) { |
1436 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget); | 1453 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget); |
1437 return new RenderWidgetHostViewAndroid(rwhi, NULL); | 1454 return new RenderWidgetHostViewAndroid(rwhi, NULL); |
1438 } | 1455 } |
1439 | 1456 |
1440 } // namespace content | 1457 } // namespace content |
OLD | NEW |