10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch# Copyright 2014 The Chromium Authors. All rights reserved. 20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch# Use of this source code is governed by a BSD-style license that can be 30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch# found in the LICENSE file. 40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochfrom telemetry.page import page as page_module 50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochfrom telemetry.page import page_set as page_set_module 60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class GpuProcessTestsPage(page_module.Page): 90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch def __init__(self, url, name, page_set): 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) super(GpuProcessTestsPage, self).__init__(url=url, page_set=page_set, 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) name=name) 130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch self.user_agent_type = 'desktop' 140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch def RunNavigateSteps(self, action_runner): 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) action_runner.NavigateToPage(self) 170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass FunctionalVideoPage(GpuProcessTestsPage): 190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch def __init__(self, page_set): 210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch super(FunctionalVideoPage, self).__init__( 220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch url='file://../../data/gpu/functional_video.html', 230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch name='GpuProcess.video', 240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch page_set=page_set) 250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch def RunNavigateSteps(self, action_runner): 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) action_runner.NavigateToPage(self) 28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) action_runner.WaitForJavaScriptCondition( 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'domAutomationController._finished', timeout_in_seconds=30) 300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 310529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass GpuProcessTestsPageSet(page_set_module.PageSet): 330529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch """ Tests that accelerated content triggers the creation of a GPU process """ 350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch def __init__(self): 370529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch super(GpuProcessTestsPageSet, self).__init__( 380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch serving_dirs=set(['../../../../content/test/data']), 390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch user_agent_type='desktop') 400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 410529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch urls_and_names_list = [ 420529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ('file://../../data/gpu/functional_canvas_demo.html', 430529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 'GpuProcess.canvas2d'), 440529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ('file://../../data/gpu/functional_3d_css.html', 450529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 'GpuProcess.css3d'), 460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ('file://../../data/gpu/functional_webgl.html', 470529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 'GpuProcess.webgl') 480529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ] 490529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 500529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch for url, name in urls_and_names_list: 510529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch self.AddPage(GpuProcessTestsPage(url, name, self)) 520529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 530529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch self.AddPage(FunctionalVideoPage(self)) 54