| 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_impl.h" | 5 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 using blink::WebGestureEvent; | 85 using blink::WebGestureEvent; |
| 86 using blink::WebInputEvent; | 86 using blink::WebInputEvent; |
| 87 using blink::WebKeyboardEvent; | 87 using blink::WebKeyboardEvent; |
| 88 using blink::WebMouseEvent; | 88 using blink::WebMouseEvent; |
| 89 using blink::WebMouseWheelEvent; | 89 using blink::WebMouseWheelEvent; |
| 90 using blink::WebTextDirection; | 90 using blink::WebTextDirection; |
| 91 | 91 |
| 92 namespace content { | 92 namespace content { |
| 93 namespace { | 93 namespace { |
| 94 | 94 |
| 95 // The amount of time after a mouse wheel event is sent to the delegate |
| 96 // OnUserInteraction method before another mouse wheel event will be sent. Equal |
| 97 // to blink's EventHandler interval for detecting the end of a scroll event. |
| 98 const base::TimeDelta g_wheel_coalesce_interval = |
| 99 base::TimeDelta::FromMilliseconds(100); |
| 100 |
| 95 bool g_check_for_pending_resize_ack = true; | 101 bool g_check_for_pending_resize_ack = true; |
| 96 | 102 |
| 97 // <process id, routing id> | 103 // <process id, routing id> |
| 98 using RenderWidgetHostID = std::pair<int32_t, int32_t>; | 104 using RenderWidgetHostID = std::pair<int32_t, int32_t>; |
| 99 using RoutingIDWidgetMap = | 105 using RoutingIDWidgetMap = |
| 100 base::hash_map<RenderWidgetHostID, RenderWidgetHostImpl*>; | 106 base::hash_map<RenderWidgetHostID, RenderWidgetHostImpl*>; |
| 101 base::LazyInstance<RoutingIDWidgetMap> g_routing_id_widget_map = | 107 base::LazyInstance<RoutingIDWidgetMap> g_routing_id_widget_map = |
| 102 LAZY_INSTANCE_INITIALIZER; | 108 LAZY_INSTANCE_INITIALIZER; |
| 103 | 109 |
| 104 // Implements the RenderWidgetHostIterator interface. It keeps a list of | 110 // Implements the RenderWidgetHostIterator interface. It keeps a list of |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 has_touch_handler_(false), | 203 has_touch_handler_(false), |
| 198 is_in_gesture_scroll_(false), | 204 is_in_gesture_scroll_(false), |
| 199 received_paint_after_load_(false), | 205 received_paint_after_load_(false), |
| 200 next_browser_snapshot_id_(1), | 206 next_browser_snapshot_id_(1), |
| 201 owned_by_render_frame_host_(false), | 207 owned_by_render_frame_host_(false), |
| 202 is_focused_(false), | 208 is_focused_(false), |
| 203 hung_renderer_delay_( | 209 hung_renderer_delay_( |
| 204 base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)), | 210 base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)), |
| 205 new_content_rendering_delay_( | 211 new_content_rendering_delay_( |
| 206 base::TimeDelta::FromMilliseconds(kNewContentRenderingDelayMs)), | 212 base::TimeDelta::FromMilliseconds(kNewContentRenderingDelayMs)), |
| 213 wheel_coalesce_timer_(nullptr), |
| 207 weak_factory_(this) { | 214 weak_factory_(this) { |
| 208 CHECK(delegate_); | 215 CHECK(delegate_); |
| 209 CHECK_NE(MSG_ROUTING_NONE, routing_id_); | 216 CHECK_NE(MSG_ROUTING_NONE, routing_id_); |
| 210 | 217 |
| 211 std::pair<RoutingIDWidgetMap::iterator, bool> result = | 218 std::pair<RoutingIDWidgetMap::iterator, bool> result = |
| 212 g_routing_id_widget_map.Get().insert(std::make_pair( | 219 g_routing_id_widget_map.Get().insert(std::make_pair( |
| 213 RenderWidgetHostID(process->GetID(), routing_id_), this)); | 220 RenderWidgetHostID(process->GetID(), routing_id_), this)); |
| 214 CHECK(result.second) << "Inserting a duplicate item!"; | 221 CHECK(result.second) << "Inserting a duplicate item!"; |
| 215 process_->AddRoute(routing_id_, this); | 222 process_->AddRoute(routing_id_, this); |
| 216 | 223 |
| (...skipping 1636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1853 if (event.type == WebInputEvent::MouseDown || | 1860 if (event.type == WebInputEvent::MouseDown || |
| 1854 event.type == WebInputEvent::GestureTapDown) { | 1861 event.type == WebInputEvent::GestureTapDown) { |
| 1855 OnUserGesture(); | 1862 OnUserGesture(); |
| 1856 } | 1863 } |
| 1857 | 1864 |
| 1858 if (delegate_) { | 1865 if (delegate_) { |
| 1859 if (event.type == WebInputEvent::MouseDown || | 1866 if (event.type == WebInputEvent::MouseDown || |
| 1860 event.type == WebInputEvent::GestureTapDown || | 1867 event.type == WebInputEvent::GestureTapDown || |
| 1861 event.type == WebInputEvent::RawKeyDown) { | 1868 event.type == WebInputEvent::RawKeyDown) { |
| 1862 delegate_->OnUserInteraction(event.type); | 1869 delegate_->OnUserInteraction(event.type); |
| 1870 } else if (event.type == WebInputEvent::MouseWheel) { |
| 1871 if (!wheel_coalesce_timer_.get() || |
| 1872 wheel_coalesce_timer_->Elapsed() > g_wheel_coalesce_interval) { |
| 1873 delegate_->OnUserInteraction(event.type); |
| 1874 } |
| 1875 wheel_coalesce_timer_.reset(new base::ElapsedTimer()); |
| 1863 } | 1876 } |
| 1864 } | 1877 } |
| 1865 | 1878 |
| 1866 return view_ ? view_->FilterInputEvent(event) | 1879 return view_ ? view_->FilterInputEvent(event) |
| 1867 : INPUT_EVENT_ACK_STATE_NOT_CONSUMED; | 1880 : INPUT_EVENT_ACK_STATE_NOT_CONSUMED; |
| 1868 } | 1881 } |
| 1869 | 1882 |
| 1870 void RenderWidgetHostImpl::IncrementInFlightEventCount() { | 1883 void RenderWidgetHostImpl::IncrementInFlightEventCount() { |
| 1871 increment_in_flight_event_count(); | 1884 increment_in_flight_event_count(); |
| 1872 if (!is_hidden_) | 1885 if (!is_hidden_) |
| (...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2191 } | 2204 } |
| 2192 | 2205 |
| 2193 #if defined(OS_WIN) | 2206 #if defined(OS_WIN) |
| 2194 gfx::NativeViewAccessible | 2207 gfx::NativeViewAccessible |
| 2195 RenderWidgetHostImpl::GetParentNativeViewAccessible() { | 2208 RenderWidgetHostImpl::GetParentNativeViewAccessible() { |
| 2196 return delegate_ ? delegate_->GetParentNativeViewAccessible() : NULL; | 2209 return delegate_ ? delegate_->GetParentNativeViewAccessible() : NULL; |
| 2197 } | 2210 } |
| 2198 #endif | 2211 #endif |
| 2199 | 2212 |
| 2200 } // namespace content | 2213 } // namespace content |
| OLD | NEW |