| Index: tracing/tracing/base/range_utils.html
|
| diff --git a/tracing/tracing/base/range_utils.html b/tracing/tracing/base/range_utils.html
|
| deleted file mode 100644
|
| index 06127c057530fa972f17e01957c3fb1cd74175bd..0000000000000000000000000000000000000000
|
| --- a/tracing/tracing/base/range_utils.html
|
| +++ /dev/null
|
| @@ -1,140 +0,0 @@
|
| -<!DOCTYPE html>
|
| -<!--
|
| -Copyright (c) 2014 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="/tracing/base/base.html">
|
| -<link rel="import" href="/tracing/base/iteration_helpers.html">
|
| -
|
| -<script>
|
| -'use strict';
|
| -
|
| -/**
|
| - * @fileoverview Provides event merging functionality for grouping/analysis.
|
| - */
|
| -tr.exportTo('tr.b', function() {
|
| - function convertEventsToRanges(events) {
|
| - return events.map(function(event) {
|
| - return tr.b.Range.fromExplicitRange(event.start, event.end);
|
| - });
|
| - }
|
| -
|
| - function mergeRanges(inRanges, mergeThreshold, mergeFunction) {
|
| - var remainingEvents = inRanges.slice();
|
| - remainingEvents.sort(function(x, y) {
|
| - return x.min - y.min;
|
| - });
|
| -
|
| - if (remainingEvents.length <= 1) {
|
| - var merged = [];
|
| - if (remainingEvents.length === 1) {
|
| - merged.push(mergeFunction(remainingEvents));
|
| - }
|
| - return merged;
|
| - }
|
| -
|
| - var mergedEvents = [];
|
| -
|
| - var currentMergeBuffer = [];
|
| - var rightEdge;
|
| - function beginMerging() {
|
| - currentMergeBuffer.push(remainingEvents[0]);
|
| - remainingEvents.splice(0, 1);
|
| - rightEdge = currentMergeBuffer[0].max;
|
| - }
|
| -
|
| - function flushCurrentMergeBuffer() {
|
| - if (currentMergeBuffer.length === 0)
|
| - return;
|
| -
|
| - mergedEvents.push(mergeFunction(currentMergeBuffer));
|
| - currentMergeBuffer = [];
|
| -
|
| - // Refill merge buffer if needed.
|
| - if (remainingEvents.length !== 0)
|
| - beginMerging();
|
| - }
|
| -
|
| - beginMerging();
|
| -
|
| - while (remainingEvents.length) {
|
| - var currentEvent = remainingEvents[0];
|
| -
|
| - var distanceFromRightEdge = currentEvent.min - rightEdge;
|
| - if (distanceFromRightEdge < mergeThreshold) {
|
| - rightEdge = Math.max(rightEdge, currentEvent.max);
|
| - remainingEvents.splice(0, 1);
|
| - currentMergeBuffer.push(currentEvent);
|
| - continue;
|
| - }
|
| -
|
| - // Too big a gap.
|
| - flushCurrentMergeBuffer();
|
| - }
|
| - flushCurrentMergeBuffer();
|
| -
|
| - return mergedEvents;
|
| - }
|
| -
|
| - // Pass in |opt_totalRange| in order to find empty ranges before the first of
|
| - // |inRanges| and after the last of |inRanges|.
|
| - function findEmptyRangesBetweenRanges(inRanges, opt_totalRange) {
|
| - if (opt_totalRange && opt_totalRange.isEmpty)
|
| - opt_totalRange = undefined;
|
| -
|
| - var emptyRanges = [];
|
| - if (!inRanges.length) {
|
| - if (opt_totalRange)
|
| - emptyRanges.push(opt_totalRange);
|
| - return emptyRanges;
|
| - }
|
| -
|
| - inRanges = inRanges.slice();
|
| - inRanges.sort(function(x, y) {
|
| - return x.min - y.min;
|
| - });
|
| - if (opt_totalRange &&
|
| - (opt_totalRange.min < inRanges[0].min)) {
|
| - emptyRanges.push(tr.b.Range.fromExplicitRange(
|
| - opt_totalRange.min, inRanges[0].min));
|
| - }
|
| -
|
| - inRanges.forEach(function(range, index) {
|
| - for (var otherIndex = 0; otherIndex < inRanges.length; ++otherIndex) {
|
| - if (index === otherIndex)
|
| - continue;
|
| - var other = inRanges[otherIndex];
|
| -
|
| - if (other.min > range.max) {
|
| - // |inRanges| is sorted, so |other| is the first range after |range|,
|
| - // and there is an empty range between them.
|
| - emptyRanges.push(tr.b.Range.fromExplicitRange(
|
| - range.max, other.min));
|
| - return;
|
| - }
|
| - // Otherwise, |other| starts before |range| ends, so |other| might
|
| - // possibly contain the end of |range|.
|
| -
|
| - if (other.max > range.max) {
|
| - // |other| does contain the end of |range|, so no empty range starts
|
| - // at the end of this |range|.
|
| - return;
|
| - }
|
| - }
|
| - if (opt_totalRange && (range.max < opt_totalRange.max)) {
|
| - emptyRanges.push(tr.b.Range.fromExplicitRange(
|
| - range.max, opt_totalRange.max));
|
| - }
|
| - });
|
| - return emptyRanges;
|
| - }
|
| -
|
| - return {
|
| - convertEventsToRanges,
|
| - findEmptyRangesBetweenRanges,
|
| - mergeRanges,
|
| - };
|
| -});
|
| -</script>
|
|
|