| Index: content/renderer/input/render_widget_input_handler.cc
|
| diff --git a/content/renderer/input/render_widget_input_handler.cc b/content/renderer/input/render_widget_input_handler.cc
|
| index be87e4546d96c735d0ee289920cad896e22a80c6..3ea242a1e554f38c8684921c04c07fb6751961eb 100644
|
| --- a/content/renderer/input/render_widget_input_handler.cc
|
| +++ b/content/renderer/input/render_widget_input_handler.cc
|
| @@ -128,14 +128,14 @@ void LogPassiveEventListenersUma(WebInputEventResult result,
|
| PASSIVE_LISTENER_UMA_ENUM_SUPPRESSED,
|
| PASSIVE_LISTENER_UMA_ENUM_CANCELABLE,
|
| PASSIVE_LISTENER_UMA_ENUM_CANCELABLE_AND_CANCELED,
|
| - PASSIVE_LISTENER_UMA_ENUM_FORCED_NON_BLOCKING,
|
| + PASSIVE_LISTENER_UMA_ENUM_FORCED_NON_BLOCKING_DUE_TO_FLING,
|
| PASSIVE_LISTENER_UMA_ENUM_COUNT
|
| };
|
|
|
| int enum_value;
|
| switch (dispatch_type) {
|
| - case WebInputEvent::ListenersForcedNonBlockingPassive:
|
| - enum_value = PASSIVE_LISTENER_UMA_ENUM_FORCED_NON_BLOCKING;
|
| + case WebInputEvent::ListenersForcedNonBlockingDueToFling:
|
| + enum_value = PASSIVE_LISTENER_UMA_ENUM_FORCED_NON_BLOCKING_DUE_TO_FLING;
|
| break;
|
| case WebInputEvent::ListenersNonBlockingPassive:
|
| enum_value = PASSIVE_LISTENER_UMA_ENUM_PASSIVE;
|
| @@ -165,10 +165,11 @@ void LogPassiveEventListenersUma(WebInputEventResult result,
|
| UMA_HISTOGRAM_CUSTOM_COUNTS("Event.PassiveListeners.Latency",
|
| GetEventLatencyMicros(event_timestamp, now),
|
| 1, 10000000, 100);
|
| - } else if (enum_value == PASSIVE_LISTENER_UMA_ENUM_FORCED_NON_BLOCKING) {
|
| + } else if (enum_value ==
|
| + PASSIVE_LISTENER_UMA_ENUM_FORCED_NON_BLOCKING_DUE_TO_FLING) {
|
| base::TimeTicks now = base::TimeTicks::Now();
|
| UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| - "Event.PassiveListeners.ForcedNonBlockingLatency",
|
| + "Event.PassiveListeners.ForcedNonBlockingLatencyDueToFling",
|
| GetEventLatencyMicros(event_timestamp, now), 1, 10000000, 100);
|
| }
|
| }
|
| @@ -335,21 +336,17 @@ void RenderWidgetInputHandler::HandleInputEvent(
|
| LogPassiveEventListenersUma(processed, touch.dispatchType,
|
| input_event.timeStampSeconds, latency_info);
|
|
|
| - if (input_event.type == WebInputEvent::TouchStart &&
|
| - touch.dispatchType == WebInputEvent::Blocking &&
|
| + // TODO(lanwei): Remove this metric for event latency outside fling in M56,
|
| + // once we've gathered enough data to decide if we want to ship the passive
|
| + // event listener for fling, see https://crbug.com/638661.
|
| + if (touch.dispatchType == WebInputEvent::Blocking &&
|
| + touch.touchStartOrFirstTouchMove &&
|
| base::TimeTicks::IsHighResolution()) {
|
| base::TimeTicks now = base::TimeTicks::Now();
|
| - if (touch.dispatchedDuringFling) {
|
| - UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| - "Event.Touch.TouchStartLatencyDuringFling",
|
| - GetEventLatencyMicros(input_event.timeStampSeconds, now), 1,
|
| - 100000000, 50);
|
| - } else {
|
| - UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| - "Event.Touch.TouchStartLatencyOutsideFling",
|
| - GetEventLatencyMicros(input_event.timeStampSeconds, now), 1,
|
| - 100000000, 50);
|
| - }
|
| + UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| + "Event.Touch.TouchLatencyOutsideFling",
|
| + GetEventLatencyMicros(input_event.timeStampSeconds, now), 1,
|
| + 100000000, 50);
|
| }
|
| } else if (input_event.type == WebInputEvent::MouseWheel) {
|
| LogPassiveEventListenersUma(
|
|
|