| 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 538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 549 | 549 |
| 550 if (device != blink::WebGestureDeviceTouchpad && | 550 if (device != blink::WebGestureDeviceTouchpad && |
| 551 device != blink::WebGestureDeviceTouchscreen) { | 551 device != blink::WebGestureDeviceTouchscreen) { |
| 552 return; | 552 return; |
| 553 } | 553 } |
| 554 | 554 |
| 555 // UMA_HISTOGRAM_ENUMERATION requires that the enum_max must be strictly | 555 // UMA_HISTOGRAM_ENUMERATION requires that the enum_max must be strictly |
| 556 // greater than the sample value. kMainThreadScrollingReasonCount doesn't | 556 // greater than the sample value. kMainThreadScrollingReasonCount doesn't |
| 557 // include the NotScrollingOnMain enum but the histograms do so adding | 557 // include the NotScrollingOnMain enum but the histograms do so adding |
| 558 // the +1 is necessary. | 558 // the +1 is necessary. |
| 559 uint32_t mainThreadScrollingReasonEnumMax = | 559 // TODO(dcheng): Fix https://crbug.com/705169 so this isn't needed. |
| 560 constexpr uint32_t kMainThreadScrollingReasonEnumMax = |
| 560 cc::MainThreadScrollingReason::kMainThreadScrollingReasonCount + 1; | 561 cc::MainThreadScrollingReason::kMainThreadScrollingReasonCount + 1; |
| 561 if (reasons == cc::MainThreadScrollingReason::kNotScrollingOnMain) { | 562 if (reasons == cc::MainThreadScrollingReason::kNotScrollingOnMain) { |
| 562 if (device == blink::WebGestureDeviceTouchscreen) { | 563 if (device == blink::WebGestureDeviceTouchscreen) { |
| 563 UMA_HISTOGRAM_ENUMERATION( | 564 UMA_HISTOGRAM_ENUMERATION( |
| 564 kGestureHistogramName, | 565 kGestureHistogramName, |
| 565 cc::MainThreadScrollingReason::kNotScrollingOnMain, | 566 cc::MainThreadScrollingReason::kNotScrollingOnMain, |
| 566 mainThreadScrollingReasonEnumMax); | 567 kMainThreadScrollingReasonEnumMax); |
| 567 } else { | 568 } else { |
| 568 UMA_HISTOGRAM_ENUMERATION( | 569 UMA_HISTOGRAM_ENUMERATION( |
| 569 kWheelHistogramName, | 570 kWheelHistogramName, |
| 570 cc::MainThreadScrollingReason::kNotScrollingOnMain, | 571 cc::MainThreadScrollingReason::kNotScrollingOnMain, |
| 571 mainThreadScrollingReasonEnumMax); | 572 kMainThreadScrollingReasonEnumMax); |
| 572 } | 573 } |
| 573 } | 574 } |
| 574 | 575 |
| 575 for (uint32_t i = 0; | 576 for (uint32_t i = 0; |
| 576 i < cc::MainThreadScrollingReason::kMainThreadScrollingReasonCount; | 577 i < cc::MainThreadScrollingReason::kMainThreadScrollingReasonCount; |
| 577 ++i) { | 578 ++i) { |
| 578 unsigned val = 1 << i; | 579 unsigned val = 1 << i; |
| 579 if (reasons & val) { | 580 if (reasons & val) { |
| 580 if (val == cc::MainThreadScrollingReason::kHandlingScrollFromMainThread) { | 581 if (val == cc::MainThreadScrollingReason::kHandlingScrollFromMainThread) { |
| 581 // We only want to record "Handling scroll from main thread" reason if | 582 // We only want to record "Handling scroll from main thread" reason if |
| 582 // it's the only reason. If it's not the only reason, the "real" reason | 583 // it's the only reason. If it's not the only reason, the "real" reason |
| 583 // for scrolling on main is something else, and we only want to pay | 584 // for scrolling on main is something else, and we only want to pay |
| 584 // attention to that reason. | 585 // attention to that reason. |
| 585 if (reasons & ~val) | 586 if (reasons & ~val) |
| 586 continue; | 587 continue; |
| 587 } | 588 } |
| 588 if (device == blink::WebGestureDeviceTouchscreen) { | 589 if (device == blink::WebGestureDeviceTouchscreen) { |
| 589 UMA_HISTOGRAM_ENUMERATION(kGestureHistogramName, i + 1, | 590 UMA_HISTOGRAM_ENUMERATION(kGestureHistogramName, i + 1, |
| 590 mainThreadScrollingReasonEnumMax); | 591 kMainThreadScrollingReasonEnumMax); |
| 591 } else { | 592 } else { |
| 592 UMA_HISTOGRAM_ENUMERATION(kWheelHistogramName, i + 1, | 593 UMA_HISTOGRAM_ENUMERATION(kWheelHistogramName, i + 1, |
| 593 mainThreadScrollingReasonEnumMax); | 594 kMainThreadScrollingReasonEnumMax); |
| 594 } | 595 } |
| 595 } | 596 } |
| 596 } | 597 } |
| 597 } | 598 } |
| 598 | 599 |
| 599 void InputHandlerProxy::RecordScrollingThreadStatus( | 600 void InputHandlerProxy::RecordScrollingThreadStatus( |
| 600 blink::WebGestureDevice device, | 601 blink::WebGestureDevice device, |
| 601 uint32_t reasons) { | 602 uint32_t reasons) { |
| 602 DCHECK(device == blink::WebGestureDeviceTouchpad || | 603 DCHECK(device == blink::WebGestureDeviceTouchpad || |
| 603 device == blink::WebGestureDeviceTouchscreen); | 604 device == blink::WebGestureDeviceTouchscreen); |
| (...skipping 1012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1616 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, | 1617 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, |
| 1617 scroll_result)); | 1618 scroll_result)); |
| 1618 } | 1619 } |
| 1619 | 1620 |
| 1620 void InputHandlerProxy::SetTickClockForTesting( | 1621 void InputHandlerProxy::SetTickClockForTesting( |
| 1621 std::unique_ptr<base::TickClock> tick_clock) { | 1622 std::unique_ptr<base::TickClock> tick_clock) { |
| 1622 tick_clock_ = std::move(tick_clock); | 1623 tick_clock_ = std::move(tick_clock); |
| 1623 } | 1624 } |
| 1624 | 1625 |
| 1625 } // namespace ui | 1626 } // namespace ui |
| OLD | NEW |