| 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 "ui/events/blink/input_handler_proxy.h" | 5 #include "ui/events/blink/input_handler_proxy.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 blink::WebGestureEvent::ScrollUnits::Page) { | 590 blink::WebGestureEvent::ScrollUnits::Page) { |
| 591 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; | 591 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; |
| 592 scroll_status.main_thread_scrolling_reasons = | 592 scroll_status.main_thread_scrolling_reasons = |
| 593 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; | 593 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; |
| 594 } else if (gesture_event.data.scrollBegin.targetViewport) { | 594 } else if (gesture_event.data.scrollBegin.targetViewport) { |
| 595 scroll_status = input_handler_->RootScrollBegin(&scroll_state, | 595 scroll_status = input_handler_->RootScrollBegin(&scroll_state, |
| 596 cc::InputHandler::GESTURE); | 596 cc::InputHandler::GESTURE); |
| 597 } else if (smooth_scroll_enabled_ && | 597 } else if (smooth_scroll_enabled_ && |
| 598 gesture_event.data.scrollBegin.deltaHintUnits == | 598 gesture_event.data.scrollBegin.deltaHintUnits == |
| 599 blink::WebGestureEvent::ScrollUnits::Pixels) { | 599 blink::WebGestureEvent::ScrollUnits::Pixels) { |
| 600 gfx::Vector2dF scroll_delta(-gesture_event.data.scrollBegin.deltaXHint, | 600 // Generate a scroll begin/end combination to determine if |
| 601 -gesture_event.data.scrollBegin.deltaYHint); | 601 // this can actually be handled by the impl thread or not. But |
| 602 scroll_status = input_handler_->ScrollAnimated( | 602 // don't generate any scroll yet; GestureScrollUpdate will generate |
| 603 gfx::Point(gesture_event.x, gesture_event.y), scroll_delta); | 603 // the scroll animation. |
| 604 scroll_status = input_handler_->ScrollBegin( |
| 605 &scroll_state, cc::InputHandler::ANIMATED_WHEEL); |
| 606 if (scroll_status.thread == cc::InputHandler::SCROLL_ON_IMPL_THREAD) { |
| 607 cc::ScrollStateData scroll_state_end_data; |
| 608 scroll_state_end_data.is_ending = true; |
| 609 cc::ScrollState scroll_state_end(scroll_state_end_data); |
| 610 input_handler_->ScrollEnd(&scroll_state_end); |
| 611 } |
| 604 } else { | 612 } else { |
| 605 scroll_status = | 613 scroll_status = |
| 606 input_handler_->ScrollBegin(&scroll_state, cc::InputHandler::GESTURE); | 614 input_handler_->ScrollBegin(&scroll_state, cc::InputHandler::GESTURE); |
| 607 } | 615 } |
| 608 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", | 616 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", |
| 609 scroll_status.thread, | 617 scroll_status.thread, |
| 610 cc::InputHandler::LAST_SCROLL_STATUS + 1); | 618 cc::InputHandler::LAST_SCROLL_STATUS + 1); |
| 611 | 619 |
| 612 RecordMainThreadScrollingReasons(gesture_event.type, | 620 RecordMainThreadScrollingReasons(gesture_event.type, |
| 613 scroll_status.main_thread_scrolling_reasons); | 621 scroll_status.main_thread_scrolling_reasons); |
| (...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1296 // trigger a scroll, e.g., with a trivial time delta between fling updates. | 1304 // trigger a scroll, e.g., with a trivial time delta between fling updates. |
| 1297 // Return true in this case to prevent early fling termination. | 1305 // Return true in this case to prevent early fling termination. |
| 1298 if (std::abs(clipped_increment.width) < kScrollEpsilon && | 1306 if (std::abs(clipped_increment.width) < kScrollEpsilon && |
| 1299 std::abs(clipped_increment.height) < kScrollEpsilon) | 1307 std::abs(clipped_increment.height) < kScrollEpsilon) |
| 1300 return true; | 1308 return true; |
| 1301 | 1309 |
| 1302 return did_scroll; | 1310 return did_scroll; |
| 1303 } | 1311 } |
| 1304 | 1312 |
| 1305 } // namespace ui | 1313 } // namespace ui |
| OLD | NEW |