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 |