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

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

Issue 2050033002: Revert of Remove enable/disable wheel gestures setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@can_scroll_remove
Patch Set: Created 4 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 (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/overscroll_controller.h" 5 #include "content/browser/renderer_host/overscroll_controller.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "content/browser/renderer_host/overscroll_controller_delegate.h" 9 #include "content/browser/renderer_host/overscroll_controller_delegate.h"
10 #include "content/common/input/input_event_utils.h"
10 #include "content/public/browser/overscroll_configuration.h" 11 #include "content/public/browser/overscroll_configuration.h"
11 #include "content/public/common/content_switches.h" 12 #include "content/public/common/content_switches.h"
12 13
13 using blink::WebInputEvent; 14 using blink::WebInputEvent;
14 15
15 namespace { 16 namespace {
16 17
17 bool IsScrollEndEffectEnabled() { 18 bool IsScrollEndEffectEnabled() {
18 return base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 19 return base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
19 switches::kScrollEndEffect) == "1"; 20 switches::kScrollEndEffect) == "1";
20 } 21 }
21 22
22 bool IsGestureEventFromTouchpad(const blink::WebInputEvent& event) { 23 bool IsGestureEventFromTouchpad(const blink::WebInputEvent& event) {
23 DCHECK(blink::WebInputEvent::isGestureEventType(event.type)); 24 DCHECK(blink::WebInputEvent::isGestureEventType(event.type));
24 const blink::WebGestureEvent& gesture = 25 const blink::WebGestureEvent& gesture =
25 static_cast<const blink::WebGestureEvent&>(event); 26 static_cast<const blink::WebGestureEvent&>(event);
26 return gesture.sourceDevice == blink::WebGestureDeviceTouchpad; 27 return gesture.sourceDevice == blink::WebGestureDeviceTouchpad;
27 } 28 }
28 29
29 } // namespace 30 } // namespace
30 31
31 namespace content { 32 namespace content {
32 33
33 OverscrollController::OverscrollController() 34 OverscrollController::OverscrollController()
34 : overscroll_mode_(OVERSCROLL_NONE), 35 : overscroll_mode_(OVERSCROLL_NONE),
35 scroll_state_(STATE_UNKNOWN), 36 scroll_state_(STATE_UNKNOWN),
36 overscroll_delta_x_(0.f), 37 overscroll_delta_x_(0.f),
37 overscroll_delta_y_(0.f), 38 overscroll_delta_y_(0.f),
38 delegate_(NULL) {} 39 delegate_(NULL),
40 use_gesture_wheel_scrolling_(UseGestureBasedWheelScrolling()) {}
39 41
40 OverscrollController::~OverscrollController() { 42 OverscrollController::~OverscrollController() {
41 } 43 }
42 44
43 bool OverscrollController::ShouldProcessEvent( 45 bool OverscrollController::ShouldProcessEvent(
44 const blink::WebInputEvent& event) { 46 const blink::WebInputEvent& event) {
47 if (use_gesture_wheel_scrolling_) {
45 switch (event.type) { 48 switch (event.type) {
46 case blink::WebInputEvent::MouseWheel: 49 case blink::WebInputEvent::MouseWheel:
47 return false; 50 return false;
48 case blink::WebInputEvent::GestureScrollBegin: 51 case blink::WebInputEvent::GestureScrollBegin:
49 case blink::WebInputEvent::GestureScrollUpdate: 52 case blink::WebInputEvent::GestureScrollUpdate:
50 case blink::WebInputEvent::GestureScrollEnd: { 53 case blink::WebInputEvent::GestureScrollEnd: {
51 const blink::WebGestureEvent& gesture = 54 const blink::WebGestureEvent& gesture =
52 static_cast<const blink::WebGestureEvent&>(event); 55 static_cast<const blink::WebGestureEvent&>(event);
53 if (gesture.sourceDevice == blink::WebGestureDeviceTouchpad) 56 if (gesture.sourceDevice == blink::WebGestureDeviceTouchpad)
54 return true; 57 return true;
(...skipping 11 matching lines...) Expand all
66 default: 69 default:
67 scrollUnits = blink::WebGestureEvent::Pixels; 70 scrollUnits = blink::WebGestureEvent::Pixels;
68 break; 71 break;
69 } 72 }
70 73
71 return scrollUnits == blink::WebGestureEvent::PrecisePixels; 74 return scrollUnits == blink::WebGestureEvent::PrecisePixels;
72 } 75 }
73 default: 76 default:
74 break; 77 break;
75 } 78 }
79 }
76 return true; 80 return true;
77 } 81 }
78 82
79 bool OverscrollController::WillHandleEvent(const blink::WebInputEvent& event) { 83 bool OverscrollController::WillHandleEvent(const blink::WebInputEvent& event) {
80 if (!ShouldProcessEvent(event)) 84 if (!ShouldProcessEvent(event))
81 return false; 85 return false;
82 86
83 bool reset_scroll_state = false; 87 bool reset_scroll_state = false;
84 if (scroll_state_ != STATE_UNKNOWN || 88 if (scroll_state_ != STATE_UNKNOWN ||
85 overscroll_delta_x_ || overscroll_delta_y_) { 89 overscroll_delta_x_ || overscroll_delta_y_) {
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 overscroll_mode_ = mode; 424 overscroll_mode_ = mode;
421 if (overscroll_mode_ == OVERSCROLL_NONE) 425 if (overscroll_mode_ == OVERSCROLL_NONE)
422 overscroll_delta_x_ = overscroll_delta_y_ = 0.f; 426 overscroll_delta_x_ = overscroll_delta_y_ = 0.f;
423 else 427 else
424 scroll_state_ = STATE_OVERSCROLLING; 428 scroll_state_ = STATE_OVERSCROLLING;
425 if (delegate_) 429 if (delegate_)
426 delegate_->OnOverscrollModeChange(old_mode, overscroll_mode_); 430 delegate_->OnOverscrollModeChange(old_mode, overscroll_mode_);
427 } 431 }
428 432
429 } // namespace content 433 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/overscroll_controller.h ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698