| OLD | NEW |
| 1 # Copyright 2012 The Chromium Authors. All rights reserved. | 1 # Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 import inspect | 4 import inspect |
| 5 import logging | 5 import logging |
| 6 import os | 6 import os |
| 7 import urlparse | 7 import urlparse |
| 8 | 8 |
| 9 from py_utils import cloud_storage # pylint: disable=import-error | 9 from py_utils import cloud_storage # pylint: disable=import-error |
| 10 | 10 |
| 11 from telemetry import story | 11 from telemetry import story |
| 12 from telemetry.page import cache_temperature as cache_temperature_module | 12 from telemetry.page import cache_temperature as cache_temperature_module |
| 13 from telemetry.page import shared_page_state | 13 from telemetry.page import shared_page_state |
| 14 from telemetry.page import traffic_setting as traffic_setting_module | 14 from telemetry.page import traffic_setting as traffic_setting_module |
| 15 from telemetry.internal.actions import action_runner as action_runner_module | 15 from telemetry.internal.actions import action_runner as action_runner_module |
| 16 | 16 |
| 17 | 17 |
| 18 class Page(story.Story): | 18 class Page(story.Story): |
| 19 | 19 |
| 20 def __init__(self, url, page_set=None, base_dir=None, name='', | 20 def __init__(self, url, page_set=None, base_dir=None, name='', |
| 21 credentials_path=None, | 21 credentials_path=None, |
| 22 credentials_bucket=cloud_storage.PUBLIC_BUCKET, tags=None, | 22 credentials_bucket=cloud_storage.PUBLIC_BUCKET, tags=None, |
| 23 startup_url='', make_javascript_deterministic=True, | 23 startup_url='', make_javascript_deterministic=True, |
| 24 shared_page_state_class=shared_page_state.SharedPageState, | 24 shared_page_state_class=shared_page_state.SharedPageState, |
| 25 grouping_keys=None, | 25 grouping_keys=None, |
| 26 cache_temperature=cache_temperature_module.ANY, | 26 cache_temperature=cache_temperature_module.ANY, |
| 27 traffic_setting=traffic_setting_module.NONE, | 27 traffic_setting=traffic_setting_module.NONE): |
| 28 platform_specific=False): | |
| 29 self._url = url | 28 self._url = url |
| 30 | 29 |
| 31 super(Page, self).__init__( | 30 super(Page, self).__init__( |
| 32 shared_page_state_class, name=name, tags=tags, | 31 shared_page_state_class, name=name, tags=tags, |
| 33 is_local=self._scheme in ['file', 'chrome', 'about'], | 32 is_local=self._scheme in ['file', 'chrome', 'about'], |
| 34 make_javascript_deterministic=make_javascript_deterministic, | 33 make_javascript_deterministic=make_javascript_deterministic, |
| 35 grouping_keys=grouping_keys, platform_specific=platform_specific) | 34 grouping_keys=grouping_keys) |
| 36 | 35 |
| 37 self._page_set = page_set | 36 self._page_set = page_set |
| 38 # Default value of base_dir is the directory of the file that defines the | 37 # Default value of base_dir is the directory of the file that defines the |
| 39 # class of this page instance. | 38 # class of this page instance. |
| 40 if base_dir is None: | 39 if base_dir is None: |
| 41 base_dir = os.path.dirname(inspect.getfile(self.__class__)) | 40 base_dir = os.path.dirname(inspect.getfile(self.__class__)) |
| 42 self._base_dir = base_dir | 41 self._base_dir = base_dir |
| 43 self._name = name | 42 self._name = name |
| 44 if credentials_path: | 43 if credentials_path: |
| 45 credentials_path = os.path.join(self._base_dir, credentials_path) | 44 credentials_path = os.path.join(self._base_dir, credentials_path) |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 | 218 |
| 220 @property | 219 @property |
| 221 def display_name(self): | 220 def display_name(self): |
| 222 if self.name: | 221 if self.name: |
| 223 return self.name | 222 return self.name |
| 224 if self.page_set is None or not self.is_file: | 223 if self.page_set is None or not self.is_file: |
| 225 return self.url | 224 return self.url |
| 226 all_urls = [p.url.rstrip('/') for p in self.page_set if p.is_file] | 225 all_urls = [p.url.rstrip('/') for p in self.page_set if p.is_file] |
| 227 common_prefix = os.path.dirname(os.path.commonprefix(all_urls)) | 226 common_prefix = os.path.dirname(os.path.commonprefix(all_urls)) |
| 228 return self.url[len(common_prefix):].strip('/') | 227 return self.url[len(common_prefix):].strip('/') |
| OLD | NEW |