| Index: third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp b/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
|
| index ed1ffd697d43b82a43c5256fbfd81f78cd8d9364..3323ab82b367286b817e67791a2de84a305aed62 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
|
| @@ -25,7 +25,7 @@
|
|
|
| #include "platform/scroll/Scrollbar.h"
|
|
|
| -#include <algorithm>
|
| +#include "platform/Histogram.h"
|
| #include "platform/HostWindow.h"
|
| #include "platform/PlatformMouseEvent.h"
|
| #include "platform/geometry/FloatRect.h"
|
| @@ -317,9 +317,47 @@ void Scrollbar::setPressedPart(ScrollbarPart part) {
|
| || m_hoveredPart != NoPart)
|
| setNeedsPaintInvalidation(
|
| static_cast<ScrollbarPart>(m_pressedPart | m_hoveredPart | part));
|
| +
|
| + sendScrollbarUseUMA(part);
|
| m_pressedPart = part;
|
| }
|
|
|
| +void Scrollbar::sendScrollbarUseUMA(ScrollbarPart part) {
|
| + DCHECK(root());
|
| +
|
| + ScrollbarUseUMA scrollbarUseUMA = IgnorePart;
|
| + switch (part) {
|
| + case BackButtonStartPart:
|
| + case ForwardButtonStartPart:
|
| + case BackButtonEndPart:
|
| + case ForwardButtonEndPart:
|
| + scrollbarUseUMA =
|
| + (orientation() == VerticalScrollbar ? VerticalScrollbarButton
|
| + : HorizontalScrollbarButton);
|
| + break;
|
| + case ThumbPart:
|
| + scrollbarUseUMA =
|
| + (orientation() == VerticalScrollbar ? VerticalScrollbarThumb
|
| + : HorizontalScrollbarThumb);
|
| + break;
|
| + case BackTrackPart:
|
| + case ForwardTrackPart:
|
| + scrollbarUseUMA =
|
| + (orientation() == VerticalScrollbar ? VerticalScrollbarTrack
|
| + : HorizontalScrollbarTrack);
|
| + break;
|
| + default:
|
| + scrollbarUseUMA = IgnorePart;
|
| + }
|
| +
|
| + if (scrollbarUseUMA != IgnorePart &&
|
| + root()->shouldSendScrollbarUseUMA(scrollbarUseUMA)) {
|
| + DEFINE_STATIC_LOCAL(EnumerationHistogram, scrollbarUseHistogram,
|
| + ("Scrollbar.ScrollbarUse", ScrollbarUseUMAMax));
|
| + scrollbarUseHistogram.count(static_cast<ScrollbarUseUMA>(part));
|
| + }
|
| +}
|
| +
|
| bool Scrollbar::gestureEvent(const WebGestureEvent& evt,
|
| bool* shouldUpdateCapture) {
|
| DCHECK(shouldUpdateCapture);
|
|
|