| 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 eccdb5a1edae6e1981a7fa38f597e4eb468641c4..15a70532dd9212524fac9ca0ffc6ba86b1254239 100644
|
| --- a/tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py
|
| +++ b/tools/telemetry/telemetry/core/chrome/desktop_browser_backend.py
|
| @@ -20,7 +20,7 @@ class DesktopBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| Mac or Windows.
|
| """
|
| def __init__(self, options, executable, flash_path, is_content_shell,
|
| - browser_directory, delete_profile_dir_after_run=True):
|
| + browser_directory, output_profile_path=None):
|
| super(DesktopBrowserBackend, self).__init__(
|
| is_content_shell=is_content_shell,
|
| supports_extensions=not is_content_shell,
|
| @@ -50,7 +50,7 @@ class DesktopBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| 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._output_profile_path = output_profile_path
|
| self._tmp_minidump_dir = tempfile.mkdtemp()
|
|
|
| self._SetupProfile()
|
| @@ -221,8 +221,16 @@ class DesktopBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| self._proc = None
|
| raise Exception('Could not shutdown the browser.')
|
|
|
| - if self._delete_profile_dir_after_run and \
|
| - self._tmp_profile_dir and os.path.exists(self._tmp_profile_dir):
|
| + # Copy profile aside if requested.
|
| + if self._output_profile_path:
|
| + if not (self._tmp_profile_dir and os.path.exists(self._tmp_profile_dir)):
|
| + raise Exception("No profile directory generated by Chrome: '%s'." %
|
| + self._tmp_profile_dir)
|
| + shutil.move(self._tmp_profile_dir, self._output_profile_path)
|
| + logging.info("Generated profile moved teporarily to '%s'." %
|
| + self._output_profile_path)
|
| +
|
| + if self._tmp_profile_dir and os.path.exists(self._tmp_profile_dir):
|
| shutil.rmtree(self._tmp_profile_dir, ignore_errors=True)
|
| self._tmp_profile_dir = None
|
|
|
|
|