Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Unified Diff: tools/telemetry/telemetry/page/__init__.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/page/__init__.py
diff --git a/tools/telemetry/telemetry/page/__init__.py b/tools/telemetry/telemetry/page/__init__.py
deleted file mode 100644
index b814086ada86b5c18321e86fb3e0f4679a777603..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/page/__init__.py
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import inspect
-import logging
-import os
-import urlparse
-
-from catapult_base import cloud_storage # pylint: disable=import-error
-
-from telemetry import story
-from telemetry.page import shared_page_state
-from telemetry.page import action_runner as action_runner_module
-
-
-class Page(story.Story):
-
- def __init__(self, url, page_set=None, base_dir=None, name='',
- credentials_path=None,
- credentials_bucket=cloud_storage.PUBLIC_BUCKET, labels=None,
- startup_url='', make_javascript_deterministic=True,
- shared_page_state_class=shared_page_state.SharedPageState):
- self._url = url
-
- super(Page, self).__init__(
- shared_page_state_class, name=name, labels=labels,
- is_local=self._scheme in ['file', 'chrome', 'about'],
- make_javascript_deterministic=make_javascript_deterministic)
-
- self._page_set = page_set
- # Default value of base_dir is the directory of the file that defines the
- # class of this page instance.
- if base_dir is None:
- base_dir = os.path.dirname(inspect.getfile(self.__class__))
- self._base_dir = base_dir
- self._name = name
- if credentials_path:
- credentials_path = os.path.join(self._base_dir, credentials_path)
- cloud_storage.GetIfChanged(credentials_path, credentials_bucket)
- if not os.path.exists(credentials_path):
- logging.error('Invalid credentials path: %s' % credentials_path)
- credentials_path = None
- self._credentials_path = credentials_path
-
- # Whether to collect garbage on the page before navigating & performing
- # page actions.
- self._collect_garbage_before_run = True
-
- # These attributes can be set dynamically by the page.
- self.synthetic_delays = dict()
- self._startup_url = startup_url
- self.credentials = None
- self.skip_waits = False
- self.script_to_evaluate_on_commit = None
- self._SchemeErrorCheck()
-
- @property
- def credentials_path(self):
- return self._credentials_path
-
- @property
- def startup_url(self):
- return self._startup_url
-
- def _SchemeErrorCheck(self):
- if not self._scheme:
- raise ValueError('Must prepend the URL with scheme (e.g. file://)')
-
- if self.startup_url:
- startup_url_scheme = urlparse.urlparse(self.startup_url).scheme
- if not startup_url_scheme:
- raise ValueError('Must prepend the URL with scheme (e.g. http://)')
- if startup_url_scheme == 'file':
- raise ValueError('startup_url with local file scheme is not supported')
-
- def Run(self, shared_state):
- current_tab = shared_state.current_tab
- # Collect garbage from previous run several times to make the results more
- # stable if needed.
- if self._collect_garbage_before_run:
- for _ in xrange(0, 5):
- current_tab.CollectGarbage()
- shared_state.page_test.WillNavigateToPage(self, current_tab)
- shared_state.page_test.RunNavigateSteps(self, current_tab)
- shared_state.page_test.DidNavigateToPage(self, current_tab)
- action_runner = action_runner_module.ActionRunner(
- current_tab, skip_waits=self.skip_waits)
- self.RunPageInteractions(action_runner)
-
- def RunNavigateSteps(self, action_runner):
- url = self.file_path_url_with_scheme if self.is_file else self.url
- action_runner.Navigate(
- url, script_to_evaluate_on_commit=self.script_to_evaluate_on_commit)
-
- def RunPageInteractions(self, action_runner):
- """Override this to define custom interactions with the page.
- e.g:
- def RunPageInteractions(self, action_runner):
- action_runner.ScrollPage()
- action_runner.TapElement(text='Next')
- """
- pass
-
- def AsDict(self):
- """Converts a page object to a dict suitable for JSON output."""
- d = {
- 'id': self._id,
- 'url': self._url,
- }
- if self._name:
- d['name'] = self._name
- return d
-
- @property
- def story_set(self):
- return self._page_set
-
- # TODO(nednguyen, aiolos): deprecate this property.
- @property
- def page_set(self):
- return self._page_set
-
- @property
- def url(self):
- return self._url
-
- def GetSyntheticDelayCategories(self):
- result = []
- for delay, options in self.synthetic_delays.items():
- options = '%f;%s' % (options.get('target_duration', 0),
- options.get('mode', 'static'))
- result.append('DELAY(%s;%s)' % (delay, options))
- return result
-
- def __lt__(self, other):
- return self.url < other.url
-
- def __cmp__(self, other):
- x = cmp(self.name, other.name)
- if x != 0:
- return x
- return cmp(self.url, other.url)
-
- def __str__(self):
- return self.url
-
- def AddCustomizeBrowserOptions(self, options):
- """ Inherit page overrides this to add customized browser options."""
- pass
-
- @property
- def _scheme(self):
- return urlparse.urlparse(self.url).scheme
-
- @property
- def is_file(self):
- """Returns True iff this URL points to a file."""
- return self._scheme == 'file'
-
- @property
- def file_path(self):
- """Returns the path of the file, stripping the scheme and query string."""
- assert self.is_file
- # Because ? is a valid character in a filename,
- # we have to treat the URL as a non-file by removing the scheme.
- parsed_url = urlparse.urlparse(self.url[7:])
- return os.path.normpath(os.path.join(
- self._base_dir, parsed_url.netloc + parsed_url.path))
-
- @property
- def base_dir(self):
- return self._base_dir
-
- @property
- def file_path_url(self):
- """Returns the file path, including the params, query, and fragment."""
- assert self.is_file
- file_path_url = os.path.normpath(
- os.path.join(self._base_dir, self.url[7:]))
- # Preserve trailing slash or backslash.
- # It doesn't matter in a file path, but it does matter in a URL.
- if self.url.endswith('/'):
- file_path_url += os.sep
- return file_path_url
-
- @property
- def file_path_url_with_scheme(self):
- return 'file://' + self.file_path_url
-
- @property
- def serving_dir(self):
- if not self.is_file:
- return None
- file_path = os.path.realpath(self.file_path)
- if os.path.isdir(file_path):
- return file_path
- else:
- return os.path.dirname(file_path)
-
- @property
- def display_name(self):
- if self.name:
- return self.name
- if not self.is_file:
- return self.url
- all_urls = [p.url.rstrip('/') for p in self.page_set if p.is_file]
- common_prefix = os.path.dirname(os.path.commonprefix(all_urls))
- return self.url[len(common_prefix):].strip('/')
« no previous file with comments | « tools/telemetry/telemetry/internal/util/webpagereplay_unittest.py ('k') | tools/telemetry/telemetry/page/action_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698