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

Unified Diff: tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py

Issue 14359012: Telemetry: Add option to create a dirty profile as part of a test run (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Whitespace fixes Created 7 years, 8 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/core/chrome/desktop_browser_backend.py
diff --git a/tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py b/tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py
index 58a6307fd613191fe687b197f3bb8ec7bb357dc7..6d89542e83a3d247ba1dacb033fcacd64360105d 100644
--- a/tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py
+++ b/tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py
@@ -16,10 +16,12 @@ class DesktopBrowserBackend(browser_backend.BrowserBackend):
"""The backend for controlling a locally-executed browser instance, on Linux,
Mac or Windows.
"""
- def __init__(self, options, executable, is_content_shell, use_login):
+ def __init__(self, options, executable, is_content_shell, use_login,
+ delete_profile_dir_after_run=True):
super(DesktopBrowserBackend, self).__init__(
is_content_shell=is_content_shell,
- supports_extensions=not is_content_shell, options=options)
+ supports_extensions=not is_content_shell,
+ options=options)
# Initialize fields so that an explosion during init doesn't break in Close.
self._proc = None
@@ -37,7 +39,9 @@ class DesktopBrowserBackend(browser_backend.BrowserBackend):
'Content shell does not support extensions.')
self._port = util.GetAvailableLocalPort()
+ self._profile_dir = None
self._supports_net_benchmarking = True
+ self._delete_profile_dir_after_run = delete_profile_dir_after_run
self._LaunchBrowser(options)
# For old chrome versions, might have to relaunch to have the
@@ -78,6 +82,7 @@ class DesktopBrowserBackend(browser_backend.BrowserBackend):
args.append('--enable-benchmarking')
if not self.options.dont_override_profile:
self._tmpdir = tempfile.mkdtemp()
+ self._profile_dir = self._tmpdir
if self.options.profile_dir:
if self.is_content_shell:
logging.critical('Profiles cannot be used with content shell')
@@ -98,6 +103,10 @@ class DesktopBrowserBackend(browser_backend.BrowserBackend):
return self._proc.pid
return None
+ @property
+ def profile_directory(self):
+ return self._profile_dir
+
def IsBrowserRunning(self):
return self._proc.poll() == None
@@ -141,7 +150,8 @@ class DesktopBrowserBackend(browser_backend.BrowserBackend):
self._proc = None
raise Exception('Could not shutdown the browser.')
- if self._tmpdir and os.path.exists(self._tmpdir):
+ if self._delete_profile_dir_after_run and \
+ self._tmpdir and os.path.exists(self._tmpdir):
shutil.rmtree(self._tmpdir, ignore_errors=True)
self._tmpdir = None

Powered by Google App Engine
This is Rietveld 408576698