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

Unified Diff: tools/telemetry/telemetry/core/chrome/desktop_browser_finder.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_finder.py
diff --git a/tools/telemetry/telemetry/core/chrome/desktop_browser_finder.py b/tools/telemetry/telemetry/core/chrome/desktop_browser_finder.py
index 88ec73ea15556ee04c52adb70b1c7b60b96a449a..833286b6e97ce63d16715978d211c83a86f6d7e4 100644
--- a/tools/telemetry/telemetry/core/chrome/desktop_browser_finder.py
+++ b/tools/telemetry/telemetry/core/chrome/desktop_browser_finder.py
@@ -10,6 +10,7 @@ import sys
from telemetry.core import browser
from telemetry.core import possible_browser
+from telemetry.core import dirty_profile_creator
from telemetry.core.chrome import desktop_browser_backend
from telemetry.core.chrome import linux_platform_backend
from telemetry.core.chrome import mac_platform_backend
@@ -39,10 +40,11 @@ class PossibleDesktopBrowser(possible_browser.PossibleBrowser):
def __repr__(self):
return 'PossibleDesktopBrowser(browser_type=%s)' % self.browser_type
- def Create(self):
+ def _CreateInternal(self, delete_profile_dir_after_run):
backend = desktop_browser_backend.DesktopBrowserBackend(
self._options, self._local_executable,
- self._is_content_shell, self._use_login)
+ self._is_content_shell, self._use_login,
+ delete_profile_dir_after_run=delete_profile_dir_after_run)
if sys.platform.startswith('linux'):
p = linux_platform_backend.LinuxPlatformBackend()
elif sys.platform == 'darwin':
@@ -51,10 +53,22 @@ class PossibleDesktopBrowser(possible_browser.PossibleBrowser):
p = win_platform_backend.WinPlatformBackend()
else:
raise NotImplementedError()
+
b = browser.Browser(backend, p)
backend.SetBrowser(b)
return b
+ def Create(self):
+ # If a dirty profile is needed, instantiate an initial browser object and
+ # use that to create a dirty profile.
+ if (self.options.profile_type.startswith('dirty')):
+ b = self._CreateInternal(False)
+ creator = dirty_profile_creator.DirtyProfileCreator(b, self.options)
+ dirty_profile_dir = \
+ creator.CreateDirtyProfile(self.options.profile_type)
+ self.options.profile_dir = dirty_profile_dir
+ return self._CreateInternal(True)
+
def SupportsOptions(self, options):
if (len(options.extensions_to_load) != 0) and self._is_content_shell:
return False

Powered by Google App Engine
This is Rietveld 408576698