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.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdochimport logging
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochfrom telemetry.page import page as page_module
80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochfrom telemetry.page import page_set as page_set_module
90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class MapsPage(page_module.Page):
120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  def __init__(self, page_set):
140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    super(MapsPage, self).__init__(
150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch      url='http://localhost:10020/tracker.html',
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)      page_set=page_set,
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      name='Maps.maps_002')
180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    self.archive_data_file = 'data/maps.json'
190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  def CanRunOnBrowser(self, browser_info):
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    if not browser_info.HasWebGLSupport():
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      logging.warning('Browser does not support webgl, skipping test')
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      return False
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    return True
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  def RunNavigateSteps(self, action_runner):
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    action_runner.NavigateToPage(self)
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    action_runner.Wait(3)
290529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  def RunSmoothness(self, action_runner):
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    action_runner.WaitForJavaScriptCondition('window.testDone', 120)
320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
330529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass MapsPageSet(page_set_module.PageSet):
350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  """ Google Maps examples """
370529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  def __init__(self):
390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    super(MapsPageSet, self).__init__(
40f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)        archive_data_file='data/maps.json',
411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci        bucket=page_set_module.PUBLIC_BUCKET)
420529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
430529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    self.AddPage(MapsPage(self))
44