| OLD | NEW |
| (Empty) |
| 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 from telemetry.page import page as page_module | |
| 5 from telemetry.page import shared_page_state | |
| 6 from telemetry import story | |
| 7 | |
| 8 from page_sets import repaint_helpers | |
| 9 from page_sets import top_pages | |
| 10 | |
| 11 | |
| 12 class TopRepaintPage(page_module.Page): | |
| 13 | |
| 14 def __init__(self, url, page_set, mode, width, height, name=''): | |
| 15 super(TopRepaintPage, self).__init__( | |
| 16 url=url, page_set=page_set, name=name, | |
| 17 credentials_path='data/credentials.json', | |
| 18 shared_page_state_class=shared_page_state.SharedDesktopPageState) | |
| 19 self._mode = mode | |
| 20 self._width = width | |
| 21 self._height = height | |
| 22 | |
| 23 def RunPageInteractions(self, action_runner): | |
| 24 repaint_helpers.Repaint( | |
| 25 action_runner, mode=self._mode, width=self._width, height=self._height) | |
| 26 | |
| 27 | |
| 28 def _CreatePageClassWithRepaintInteractions(page_cls, mode, width, height): | |
| 29 class DerivedRepaintPage(page_cls): # pylint: disable=no-init | |
| 30 | |
| 31 def RunPageInteractions(self, action_runner): | |
| 32 repaint_helpers.Repaint( | |
| 33 action_runner, mode=mode, width=width, height=height) | |
| 34 | |
| 35 return DerivedRepaintPage | |
| 36 | |
| 37 | |
| 38 class Top25RepaintPageSet(story.StorySet): | |
| 39 | |
| 40 """ Pages hand-picked for 2012 CrOS scrolling tuning efforts. """ | |
| 41 | |
| 42 def __init__(self, mode='viewport', width=None, height=None): | |
| 43 super(Top25RepaintPageSet, self).__init__( | |
| 44 archive_data_file='data/top_25_repaint.json', | |
| 45 cloud_storage_bucket=story.PARTNER_BUCKET) | |
| 46 | |
| 47 top_page_classes = [ | |
| 48 top_pages.GoogleWebSearchPage, | |
| 49 top_pages.GoogleImageSearchPage, | |
| 50 top_pages.GmailPage, | |
| 51 top_pages.GoogleCalendarPage, | |
| 52 top_pages.GoogleDocPage, | |
| 53 top_pages.GooglePlusPage, | |
| 54 top_pages.YoutubePage, | |
| 55 top_pages.BlogspotPage, | |
| 56 top_pages.WordpressPage, | |
| 57 top_pages.FacebookPage, | |
| 58 top_pages.LinkedinPage, | |
| 59 top_pages.WikipediaPage, | |
| 60 top_pages.TwitterPage, | |
| 61 top_pages.PinterestPage, | |
| 62 top_pages.ESPNPage, | |
| 63 top_pages.WeatherPage, | |
| 64 top_pages.YahooGamesPage, | |
| 65 ] | |
| 66 | |
| 67 for cl in top_page_classes: | |
| 68 self.AddStory(_CreatePageClassWithRepaintInteractions( | |
| 69 cl, mode=mode, width=width, height=height) | |
| 70 (self, shared_page_state.SharedDesktopPageState)) | |
| 71 | |
| 72 other_urls = [ | |
| 73 # Why: #1 news worldwide (Alexa global) | |
| 74 'http://news.yahoo.com', | |
| 75 # Why: #2 news worldwide | |
| 76 'http://www.cnn.com', | |
| 77 # Why: #1 world commerce website by visits; #3 commerce in the US by | |
| 78 # time spent | |
| 79 'http://www.amazon.com', | |
| 80 # Why: #1 commerce website by time spent by users in US | |
| 81 'http://www.ebay.com', | |
| 82 # Why: #1 Alexa recreation | |
| 83 'http://booking.com', | |
| 84 # Why: #1 Alexa reference | |
| 85 'http://answers.yahoo.com', | |
| 86 # Why: #1 Alexa sports | |
| 87 'http://sports.yahoo.com/', | |
| 88 # Why: top tech blog | |
| 89 'http://techcrunch.com' | |
| 90 ] | |
| 91 | |
| 92 for url in other_urls: | |
| 93 self.AddStory( | |
| 94 TopRepaintPage(url, self, mode=mode, height=height, width=width)) | |
| OLD | NEW |