| 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
|
|
|