| Index: third_party/WebKit/PerformanceTests/resources/runner.js
|
| diff --git a/third_party/WebKit/PerformanceTests/resources/runner.js b/third_party/WebKit/PerformanceTests/resources/runner.js
|
| index 22a5e8eadcce6f54b3ce7bc6bde46b2d979af781..7ce98b7a6e066a234b59009ba97269ae7de1c4cf 100644
|
| --- a/third_party/WebKit/PerformanceTests/resources/runner.js
|
| +++ b/third_party/WebKit/PerformanceTests/resources/runner.js
|
| @@ -157,8 +157,16 @@ if (window.testRunner) {
|
| PerfTestRunner.log("Running " + iterationCount + " times");
|
| if (test.doNotIgnoreInitialRun)
|
| completedIterations++;
|
| - if (runner)
|
| +
|
| + if (runner && test.tracingCategories && window.testRunner &&
|
| + window.testRunner.supportTracing) {
|
| + window.testRunner.traceEventsToMeasure = test.traceEventsToMeasure;
|
| + window.testRunner.startTracing(test.tracingCategories, function() {
|
| + scheduleNextRun(scheduler, runner);
|
| + });
|
| + } else if (runner) {
|
| scheduleNextRun(scheduler, runner);
|
| + }
|
| }
|
|
|
| function scheduleNextRun(scheduler, runner) {
|
| @@ -225,8 +233,17 @@ if (window.testRunner) {
|
| logInDocument("Got an exception while finalizing the test with name=" + exception.name + ", message=" + exception.message);
|
| }
|
|
|
| - if (window.testRunner)
|
| - testRunner.notifyDone();
|
| + if (window.testRunner) {
|
| + if (currentTest.traceEventsToMeasure &&
|
| + testRunner.supportTracing) {
|
| + testRunner.stopTracingAndMeasure(
|
| + currentTest.traceEventsToMeasure, function() {
|
| + testRunner.notifyDone();
|
| + });
|
| + } else {
|
| + testRunner.notifyDone();
|
| + }
|
| + }
|
| }
|
|
|
| PerfTestRunner.prepareToMeasureValuesAsync = function (test) {
|
| @@ -248,6 +265,25 @@ if (window.testRunner) {
|
| finish();
|
| }
|
|
|
| + function addRunTestStartMarker() {
|
| + if (!window.testRunner || !window.testRunner.supportTracing)
|
| + return;
|
| + if (completedIterations < 0)
|
| + console.time('blink_perf.runTest.warmup');
|
| + else
|
| + console.time('blink_perf.runTest');
|
| + }
|
| +
|
| + function addRunTestEndMarker() {
|
| + if (!window.testRunner || !window.testRunner.supportTracing)
|
| + return;
|
| + if (completedIterations < 0)
|
| + console.timeEnd('blink_perf.runTest.warmup');
|
| + else
|
| + console.timeEnd('blink_perf.runTest');
|
| + }
|
| +
|
| +
|
| PerfTestRunner.measureFrameTime = function (test) {
|
| PerfTestRunner.unit = "ms";
|
| PerfTestRunner.bufferedLog = true;
|
| @@ -261,9 +297,12 @@ if (window.testRunner) {
|
|
|
| var lastFrameTime = -1;
|
| function measureFrameTimeOnce() {
|
| + if (lastFrameTime != -1)
|
| + addRunTestEndMarker();
|
| var now = PerfTestRunner.now();
|
| var result = lastFrameTime == -1 ? -1 : now - lastFrameTime;
|
| lastFrameTime = now;
|
| + addRunTestStartMarker();
|
|
|
| var returnValue = currentTest.run();
|
| if (returnValue - 0 === returnValue) {
|
| @@ -290,7 +329,9 @@ if (window.testRunner) {
|
| PerfTestRunner.gc();
|
|
|
| var start = PerfTestRunner.now();
|
| + addRunTestStartMarker();
|
| var returnValue = currentTest.run();
|
| + addRunTestEndMarker();
|
| var end = PerfTestRunner.now();
|
|
|
| if (returnValue - 0 === returnValue) {
|
|
|