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. 4 import logging 5 6 from telemetry.page import page as page_module 7 from telemetry.page import page_set as page_set_module 8 9 10 class ToughWebglCasesPage(page_module.Page): 11 12 def __init__(self, url, page_set): 13 super(ToughWebglCasesPage, self).__init__(url=url, page_set=page_set) 14 self.archive_data_file = 'data/tough_webgl_cases.json' 15 16 def CanRunOnBrowser(self, browser_info): 17 if not browser_info.HasWebGLSupport(): 18 logging.warning('Browser does not support webgl, skipping test') 19 return False 20 return True 21 22 def RunNavigateSteps(self, action_runner): 23 action_runner.NavigateToPage(self) 24 action_runner.WaitForJavaScriptCondition( 25 'document.readyState == "complete"') 26 action_runner.Wait(2) 27 28 def RunSmoothness(self, action_runner): 29 action_runner.Wait(5) 30 31 32 class ToughWebglCasesPageSet(page_set_module.PageSet): 33 34 """ 35 Description: Self-driven WebGL animation examples 36 """ 37 38 def __init__(self): 39 super(ToughWebglCasesPageSet, self).__init__( 40 archive_data_file='data/tough_webgl_cases.json') 41 42 urls_list = [ 43 # pylint: disable=C0301 44 'http://www.khronos.org/registry/webgl/sdk/demos/google/nvidia-vertex-buffer-object/index.html', 45 # pylint: disable=C0301 46 'http://www.khronos.org/registry/webgl/sdk/demos/google/san-angeles/index.html', 47 # pylint: disable=C0301 48 'http://www.khronos.org/registry/webgl/sdk/demos/google/particles/index.html', 49 'http://www.khronos.org/registry/webgl/sdk/demos/webkit/Earth.html', 50 # pylint: disable=C0301 51 'http://www.khronos.org/registry/webgl/sdk/demos/webkit/ManyPlanetsDeep.html', 52 'http://webglsamples.googlecode.com/hg/aquarium/aquarium.html', 53 'http://webglsamples.googlecode.com/hg/blob/blob.html', 54 # pylint: disable=C0301 55 'http://webglsamples.googlecode.com/hg/dynamic-cubemap/dynamic-cubemap.html' 56 ] 57 for url in urls_list: 58 self.AddPage(ToughWebglCasesPage(url, self)) 59