#!/usr/bin/env python # Copyright (c) 2012 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. import os from telemetry import multi_page_benchmark _JS = 'chrome.gpuBenchmarking.printToSkPicture("{0}");' class SkPicturePrinter(multi_page_benchmark.MultiPageBenchmark): def AddCommandLineOptions(self, parser): parser.add_option('-o', '--outdir', help='Output directory') def CustomizeBrowserOptions(self, options): options.extra_browser_args.extend(['--enable-gpu-benchmarking', '--no-sandbox']) def MeasurePage(self, page, tab, results): if self.options.outdir is not None: outpath = os.path.join(self.options.outdir, page.url_as_file_safe_name) outpath = os.path.abspath(outpath) # Replace win32 path separator char '\' with '\\'. js = _JS.format(outpath.replace('\\', '\\\\')) tab.runtime.Evaluate(js) results.Add('output_path', 'path', outpath)