Home | History | Annotate | Download | only in page_sets
      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