1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from telemetry
.page
import page_test
8 def Repaint(action_runner
, mode
='viewport', width
=None, height
=None):
9 action_runner
.WaitForJavaScriptCondition(
10 'document.readyState == "complete"', 90)
11 # Rasterize only what's visible.
12 action_runner
.ExecuteJavaScript(
13 'chrome.gpuBenchmarking.setRasterizeOnlyVisibleContent();')
20 args
['height'] = height
23 action_runner
.ExecuteJavaScript("""
24 window.benchmark_results = {};
25 window.benchmark_results.id =
26 chrome.gpuBenchmarking.runMicroBenchmark(
27 "invalidation_benchmark",
33 micro_benchmark_id
= action_runner
.EvaluateJavaScript(
34 'window.benchmark_results.id')
35 if not micro_benchmark_id
:
36 raise page_test
.MeasurementFailure(
37 'Failed to schedule invalidation_benchmark.')
39 with action_runner
.CreateInteraction('Repaint'):
40 action_runner
.RepaintContinuously(seconds
=5)
42 action_runner
.ExecuteJavaScript("""
43 window.benchmark_results.message_handled =
44 chrome.gpuBenchmarking.sendMessageToMicroBenchmark(
45 """ + str(micro_benchmark_id
) + """, {