| OLD | NEW |
| (Empty) |
| 1 # Copyright 2015 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 | |
| 5 | |
| 6 from telemetry.page import traffic_setting as traffic_setting_module | |
| 7 from telemetry.page import page as page_module | |
| 8 from telemetry.page import shared_page_state | |
| 9 from telemetry import story | |
| 10 | |
| 11 | |
| 12 class CTPage(page_module.Page): | |
| 13 | |
| 14 def __init__(self, url, page_set, shared_page_state_class, archive_data_file, | |
| 15 traffic_setting, run_page_interaction_callback): | |
| 16 super(CTPage, self).__init__( | |
| 17 url=url, | |
| 18 page_set=page_set, | |
| 19 shared_page_state_class=shared_page_state_class, | |
| 20 traffic_setting=traffic_setting) | |
| 21 self.archive_data_file = archive_data_file | |
| 22 self._run_page_interaction_callback = run_page_interaction_callback | |
| 23 | |
| 24 def RunNavigateSteps(self, action_runner): | |
| 25 action_runner.Navigate(self.url) | |
| 26 | |
| 27 def RunPageInteractions(self, action_runner): | |
| 28 if self._run_page_interaction_callback: | |
| 29 self._run_page_interaction_callback(action_runner) | |
| 30 | |
| 31 | |
| 32 class CTPageSet(story.StorySet): | |
| 33 """Page set used by CT Benchmarks.""" | |
| 34 | |
| 35 def __init__(self, urls_list, user_agent, archive_data_file, | |
| 36 traffic_setting=traffic_setting_module.NONE, | |
| 37 run_page_interaction_callback=None): | |
| 38 if user_agent == 'mobile': | |
| 39 shared_page_state_class = shared_page_state.SharedMobilePageState | |
| 40 elif user_agent == 'desktop': | |
| 41 shared_page_state_class = shared_page_state.SharedDesktopPageState | |
| 42 else: | |
| 43 raise ValueError('user_agent %s is unrecognized' % user_agent) | |
| 44 | |
| 45 super(CTPageSet, self).__init__(archive_data_file=archive_data_file) | |
| 46 | |
| 47 for url in urls_list.split(','): | |
| 48 self.AddStory( | |
| 49 CTPage(url, self, shared_page_state_class=shared_page_state_class, | |
| 50 archive_data_file=archive_data_file, | |
| 51 traffic_setting=traffic_setting, | |
| 52 run_page_interaction_callback=run_page_interaction_callback)) | |
| OLD | NEW |