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/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/public/browser/overscroll_configuration.h" | 10 #include "content/public/browser/overscroll_configuration.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 bool OverscrollController::ShouldProcessEvent( | 44 bool OverscrollController::ShouldProcessEvent( |
45 const blink::WebInputEvent& event) { | 45 const blink::WebInputEvent& event) { |
46 switch (event.GetType()) { | 46 switch (event.GetType()) { |
47 case blink::WebInputEvent::kMouseWheel: | 47 case blink::WebInputEvent::kMouseWheel: |
48 return false; | 48 return false; |
49 case blink::WebInputEvent::kGestureScrollBegin: | 49 case blink::WebInputEvent::kGestureScrollBegin: |
50 case blink::WebInputEvent::kGestureScrollUpdate: | 50 case blink::WebInputEvent::kGestureScrollUpdate: |
51 case blink::WebInputEvent::kGestureScrollEnd: { | 51 case blink::WebInputEvent::kGestureScrollEnd: { |
52 const blink::WebGestureEvent& gesture = | 52 const blink::WebGestureEvent& gesture = |
53 static_cast<const blink::WebGestureEvent&>(event); | 53 static_cast<const blink::WebGestureEvent&>(event); |
| 54 |
| 55 // GestureScrollBegin and GestureScrollEnd events are created to wrap |
| 56 // individual resent GestureScrollUpdates from a plugin. Hence these |
| 57 // should not be used to indicate the beginning/end of the overscroll. |
| 58 // TODO(mcnee): When we remove BrowserPlugin, delete this code. |
| 59 // See crbug.com/533069 |
| 60 if (gesture.resending_plugin_id != -1 && |
| 61 event.GetType() != blink::WebInputEvent::kGestureScrollUpdate) |
| 62 return false; |
| 63 |
54 blink::WebGestureEvent::ScrollUnits scrollUnits; | 64 blink::WebGestureEvent::ScrollUnits scrollUnits; |
55 switch (event.GetType()) { | 65 switch (event.GetType()) { |
56 case blink::WebInputEvent::kGestureScrollBegin: | 66 case blink::WebInputEvent::kGestureScrollBegin: |
57 scrollUnits = gesture.data.scroll_begin.delta_hint_units; | 67 scrollUnits = gesture.data.scroll_begin.delta_hint_units; |
58 break; | 68 break; |
59 case blink::WebInputEvent::kGestureScrollUpdate: | 69 case blink::WebInputEvent::kGestureScrollUpdate: |
60 scrollUnits = gesture.data.scroll_update.delta_units; | 70 scrollUnits = gesture.data.scroll_update.delta_units; |
61 break; | 71 break; |
62 case blink::WebInputEvent::kGestureScrollEnd: | 72 case blink::WebInputEvent::kGestureScrollEnd: |
63 scrollUnits = gesture.data.scroll_end.delta_units; | 73 scrollUnits = gesture.data.scroll_end.delta_units; |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 overscroll_mode_ = mode; | 437 overscroll_mode_ = mode; |
428 if (overscroll_mode_ == OVERSCROLL_NONE) | 438 if (overscroll_mode_ == OVERSCROLL_NONE) |
429 overscroll_delta_x_ = overscroll_delta_y_ = 0.f; | 439 overscroll_delta_x_ = overscroll_delta_y_ = 0.f; |
430 else | 440 else |
431 scroll_state_ = STATE_OVERSCROLLING; | 441 scroll_state_ = STATE_OVERSCROLLING; |
432 if (delegate_) | 442 if (delegate_) |
433 delegate_->OnOverscrollModeChange(old_mode, overscroll_mode_, source); | 443 delegate_->OnOverscrollModeChange(old_mode, overscroll_mode_, source); |
434 } | 444 } |
435 | 445 |
436 } // namespace content | 446 } // namespace content |
OLD | NEW |