| Index: perf_insights/perf_insights/mappers/scheduling/map_gesture_timing.html
|
| diff --git a/perf_insights/perf_insights/mappers/scheduling/map_gesture_timing.html b/perf_insights/perf_insights/mappers/scheduling/map_gesture_timing.html
|
| deleted file mode 100644
|
| index bf2d7d20d4e581701a22ce557b07878bb592e37c..0000000000000000000000000000000000000000
|
| --- a/perf_insights/perf_insights/mappers/scheduling/map_gesture_timing.html
|
| +++ /dev/null
|
| @@ -1,78 +0,0 @@
|
| -<!DOCTYPE html>
|
| -<!--
|
| -Copyright 2015 The Chromium Authors. All rights reserved.
|
| -Use of this source code is governed by a BSD-style license that can be
|
| -found in the LICENSE file.
|
| --->
|
| -
|
| -<link rel="import" href="/perf_insights/mre/function_handle.html">
|
| -
|
| -<script>
|
| -'use strict';
|
| -
|
| -tr.exportTo('pie', function() {
|
| - // Reports the delay and length of scroll gestures relative to first paint.
|
| - // See https://goo.gl/l7V5xg.
|
| - function mapGestureTiming(result, model) {
|
| - var loadIRs = model.userModel.expectations.filter(function(ir) {
|
| - return ir instanceof tr.model.um.LoadExpectation;
|
| - });
|
| - var responseIRs = model.userModel.expectations.filter(function(ir) {
|
| - return ir.stageTitle === 'Response' &&
|
| - ir.initiatorTitle.indexOf('Scroll') >= 0;
|
| - });
|
| - var animationIRs = model.userModel.expectations.filter(function(ir) {
|
| - return ir.stageTitle === 'Animation' &&
|
| - ir.initiatorTitle.indexOf('Scroll') >= 0;
|
| - });
|
| -
|
| - var firstGestureAfterLoadTimes = [];
|
| - var gestureDurations = new Array(responseIRs.length);
|
| - var intervalBetweenGestures = [];
|
| -
|
| - // This loop is quadratic, but typically we only expect a low number (~tens
|
| - // per minute of tracing) of both load and response IRs.
|
| - loadIRs.forEach(function(loadIR) {
|
| - var loadEnd = loadIR.start + loadIR.duration;
|
| - for (var i = 0; i < responseIRs.length; i++) {
|
| - var responseIR = responseIRs[i];
|
| - if (responseIR.start < loadEnd)
|
| - continue;
|
| - firstGestureAfterLoadTimes.push(responseIR.start - loadEnd);
|
| - break;
|
| - }
|
| - });
|
| -
|
| - // Compute the interval between responses and the duration of each gesture
|
| - // and any gesture animation that follows. This loop is also quadratic, but
|
| - // again the expected number of IRs is small (~tens per minute).
|
| - var prevGestureStart = undefined;
|
| - responseIRs.forEach(function(responseIR, index) {
|
| - if (prevGestureStart !== undefined)
|
| - intervalBetweenGestures.push(responseIR.start - prevGestureStart);
|
| - prevGestureStart = responseIR.start;
|
| - var gestureDuration = responseIR.duration;
|
| - for (var i = 0; i < animationIRs.length; i++) {
|
| - if (animationIRs[i].start !== responseIR.start + responseIR.duration)
|
| - continue;
|
| - gestureDuration += animationIRs[i].duration;
|
| - break;
|
| - }
|
| - gestureDurations[index] = gestureDuration;
|
| - });
|
| -
|
| - result.addPair(
|
| - 'gestureTiming', {
|
| - firstGestureAfterLoadTime: firstGestureAfterLoadTimes,
|
| - gestureDuration: gestureDurations,
|
| - intervalBetweenGestures: intervalBetweenGestures
|
| - });
|
| - }
|
| -
|
| - pi.FunctionRegistry.register(mapGestureTiming);
|
| -
|
| - return {
|
| - mapGestureTimingForTest: mapGestureTiming
|
| - };
|
| -});
|
| -</script>
|
|
|