| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/renderer/input/input_handler_proxy.h" | 5 #include "content/renderer/input/input_handler_proxy.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 "InputHandlerProxy::ExtendBoostedFlingTimeout", | 743 "InputHandlerProxy::ExtendBoostedFlingTimeout", |
| 744 TRACE_EVENT_SCOPE_THREAD); | 744 TRACE_EVENT_SCOPE_THREAD); |
| 745 deferred_fling_cancel_time_seconds_ = | 745 deferred_fling_cancel_time_seconds_ = |
| 746 event.timeStampSeconds + kFlingBoostTimeoutDelaySeconds; | 746 event.timeStampSeconds + kFlingBoostTimeoutDelaySeconds; |
| 747 last_fling_boost_event_ = event; | 747 last_fling_boost_event_ = event; |
| 748 } | 748 } |
| 749 | 749 |
| 750 void InputHandlerProxy::Animate(base::TimeTicks time) { | 750 void InputHandlerProxy::Animate(base::TimeTicks time) { |
| 751 // If using synchronous animate, then only expect Animate attempts started by | 751 // If using synchronous animate, then only expect Animate attempts started by |
| 752 // the synchronous system. Don't let the InputHandler try to Animate also. | 752 // the synchronous system. Don't let the InputHandler try to Animate also. |
| 753 DCHECK_IMPLIES(input_handler_->IsCurrentlyScrollingRoot(), | 753 DCHECK_IMPLIES(input_handler_->IsCurrentlyScrollingInnerViewport(), |
| 754 allow_root_animate_); | 754 allow_root_animate_); |
| 755 | 755 |
| 756 if (scroll_elasticity_controller_) | 756 if (scroll_elasticity_controller_) |
| 757 scroll_elasticity_controller_->Animate(time); | 757 scroll_elasticity_controller_->Animate(time); |
| 758 | 758 |
| 759 if (!fling_curve_) | 759 if (!fling_curve_) |
| 760 return; | 760 return; |
| 761 | 761 |
| 762 last_fling_animate_time_ = time; | 762 last_fling_animate_time_ = time; |
| 763 double monotonic_time_sec = InSecondsF(time); | 763 double monotonic_time_sec = InSecondsF(time); |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 925 } | 925 } |
| 926 } | 926 } |
| 927 | 927 |
| 928 return had_fling_animation; | 928 return had_fling_animation; |
| 929 } | 929 } |
| 930 | 930 |
| 931 void InputHandlerProxy::RequestAnimation() { | 931 void InputHandlerProxy::RequestAnimation() { |
| 932 // When a SynchronousInputHandler is present, root flings should go through | 932 // When a SynchronousInputHandler is present, root flings should go through |
| 933 // it to allow it to control when or if the root fling is animated. Non-root | 933 // it to allow it to control when or if the root fling is animated. Non-root |
| 934 // flings always go through the normal InputHandler. | 934 // flings always go through the normal InputHandler. |
| 935 if (synchronous_input_handler_ && input_handler_->IsCurrentlyScrollingRoot()) | 935 if (synchronous_input_handler_ && |
| 936 input_handler_->IsCurrentlyScrollingInnerViewport()) |
| 936 synchronous_input_handler_->SetNeedsSynchronousAnimateInput(); | 937 synchronous_input_handler_->SetNeedsSynchronousAnimateInput(); |
| 937 else | 938 else |
| 938 input_handler_->SetNeedsAnimateInput(); | 939 input_handler_->SetNeedsAnimateInput(); |
| 939 } | 940 } |
| 940 | 941 |
| 941 bool InputHandlerProxy::TouchpadFlingScroll( | 942 bool InputHandlerProxy::TouchpadFlingScroll( |
| 942 const WebFloatSize& increment) { | 943 const WebFloatSize& increment) { |
| 943 WebMouseWheelEvent synthetic_wheel; | 944 WebMouseWheelEvent synthetic_wheel; |
| 944 synthetic_wheel.type = WebInputEvent::MouseWheel; | 945 synthetic_wheel.type = WebInputEvent::MouseWheel; |
| 945 synthetic_wheel.deltaX = increment.width; | 946 synthetic_wheel.deltaX = increment.width; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1028 // trigger a scroll, e.g., with a trivial time delta between fling updates. | 1029 // trigger a scroll, e.g., with a trivial time delta between fling updates. |
| 1029 // Return true in this case to prevent early fling termination. | 1030 // Return true in this case to prevent early fling termination. |
| 1030 if (std::abs(clipped_increment.width) < kScrollEpsilon && | 1031 if (std::abs(clipped_increment.width) < kScrollEpsilon && |
| 1031 std::abs(clipped_increment.height) < kScrollEpsilon) | 1032 std::abs(clipped_increment.height) < kScrollEpsilon) |
| 1032 return true; | 1033 return true; |
| 1033 | 1034 |
| 1034 return did_scroll; | 1035 return did_scroll; |
| 1035 } | 1036 } |
| 1036 | 1037 |
| 1037 } // namespace content | 1038 } // namespace content |
| OLD | NEW |