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 |