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

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

Issue 2943183002: Revert of Re-target wheel events only when a new scroll sequence has started. (Closed)
Patch Set: Created 3 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_input_event_router.h" 5 #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "cc/quads/surface_draw_quad.h" 10 #include "cc/quads/surface_draw_quad.h"
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 if (root_view->IsMouseLocked()) { 277 if (root_view->IsMouseLocked()) {
278 target = RenderWidgetHostImpl::From(root_view->GetRenderWidgetHost()) 278 target = RenderWidgetHostImpl::From(root_view->GetRenderWidgetHost())
279 ->delegate() 279 ->delegate()
280 ->GetMouseLockWidget() 280 ->GetMouseLockWidget()
281 ->GetView(); 281 ->GetView();
282 if (!root_view->TransformPointToCoordSpaceForView( 282 if (!root_view->TransformPointToCoordSpaceForView(
283 gfx::Point(event->PositionInWidget().x, 283 gfx::Point(event->PositionInWidget().x,
284 event->PositionInWidget().y), 284 event->PositionInWidget().y),
285 target, &transformed_point)) 285 target, &transformed_point))
286 return; 286 return;
287 } else if (root_view->wheel_scroll_latching_enabled()) { 287 } else {
288 if (event->phase == blink::WebMouseWheelEvent::kPhaseBegan) {
289 wheel_target_.target = FindEventTarget(
290 root_view,
291 gfx::Point(event->PositionInWidget().x, event->PositionInWidget().y),
292 &transformed_point);
293 wheel_target_.delta =
294 transformed_point -
295 gfx::Point(event->PositionInWidget().x, event->PositionInWidget().y);
296 target = wheel_target_.target;
297 } else {
298 if (wheel_target_.target) {
299 target = wheel_target_.target;
300 transformed_point = gfx::Point(event->PositionInWidget().x,
301 event->PositionInWidget().y) +
302 wheel_target_.delta;
303 }
304 }
305
306 } else { // !root_view->IsMouseLocked() &&
307 // !root_view->wheel_scroll_latching_enabled()
308 target = FindEventTarget( 288 target = FindEventTarget(
309 root_view, 289 root_view,
310 gfx::Point(event->PositionInWidget().x, event->PositionInWidget().y), 290 gfx::Point(event->PositionInWidget().x, event->PositionInWidget().y),
311 &transformed_point); 291 &transformed_point);
312 } 292 }
313 293
314 if (!target) 294 if (!target)
315 return; 295 return;
316 296
317 event->SetPositionInWidget(transformed_point.x(), transformed_point.y()); 297 event->SetPositionInWidget(transformed_point.x(), transformed_point.y());
318 target->ProcessMouseWheelEvent(*event, latency); 298 target->ProcessMouseWheelEvent(*event, latency);
319
320 DCHECK(root_view->wheel_scroll_latching_enabled() || !wheel_target_.target);
321 if (event->phase == blink::WebMouseWheelEvent::kPhaseEnded ||
322 event->momentum_phase == blink::WebMouseWheelEvent::kPhaseEnded) {
323 wheel_target_.target = nullptr;
324 }
325 } 299 }
326 300
327 void RenderWidgetHostInputEventRouter::RouteGestureEvent( 301 void RenderWidgetHostInputEventRouter::RouteGestureEvent(
328 RenderWidgetHostViewBase* root_view, 302 RenderWidgetHostViewBase* root_view,
329 blink::WebGestureEvent* event, 303 blink::WebGestureEvent* event,
330 const ui::LatencyInfo& latency) { 304 const ui::LatencyInfo& latency) {
331 if (event->IsTargetViewport()) { 305 if (event->IsTargetViewport()) {
332 root_view->ProcessGestureEvent(*event, latency); 306 root_view->ProcessGestureEvent(*event, latency);
333 return; 307 return;
334 } 308 }
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 std::vector<RenderWidgetHostView*> 847 std::vector<RenderWidgetHostView*>
874 RenderWidgetHostInputEventRouter::GetRenderWidgetHostViewsForTests() const { 848 RenderWidgetHostInputEventRouter::GetRenderWidgetHostViewsForTests() const {
875 std::vector<RenderWidgetHostView*> hosts; 849 std::vector<RenderWidgetHostView*> hosts;
876 for (auto entry : owner_map_) 850 for (auto entry : owner_map_)
877 hosts.push_back(entry.second); 851 hosts.push_back(entry.second);
878 852
879 return hosts; 853 return hosts;
880 } 854 }
881 855
882 } // namespace content 856 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_input_event_router.h ('k') | content/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698