| Index: tools/telemetry/telemetry/page/shared_page_state.py
|
| diff --git a/tools/telemetry/telemetry/page/shared_page_state.py b/tools/telemetry/telemetry/page/shared_page_state.py
|
| index c32b72c58a14eab8a8f910ccb5d8b02810a476fe..2ff781b1f5adfdcdf9b300f9e2e05dbdb18755ca 100644
|
| --- a/tools/telemetry/telemetry/page/shared_page_state.py
|
| +++ b/tools/telemetry/telemetry/page/shared_page_state.py
|
| @@ -77,8 +77,6 @@ class SharedPageState(story.SharedState):
|
| self._possible_browser = self._GetPossibleBrowser(
|
| self._test, finder_options)
|
|
|
| - # TODO(slamm): Remove _append_to_existing_wpr when replay lifetime changes.
|
| - self._append_to_existing_wpr = False
|
| self._first_browser = True
|
| self._did_login_for_current_page = False
|
| self._current_page = None
|
| @@ -88,6 +86,19 @@ class SharedPageState(story.SharedState):
|
| self._pregenerated_profile_archive_dir = None
|
| self._test.SetOptions(self._finder_options)
|
|
|
| + # TODO(crbug/404771): Move network controller options out of
|
| + # browser_options and into finder_options.
|
| + browser_options = finder_options.browser_options
|
| + if finder_options.use_live_sites:
|
| + wpr_mode = wpr_modes.WPR_OFF
|
| + elif browser_options.wpr_mode == wpr_modes.WPR_RECORD:
|
| + wpr_mode = wpr_modes.WPR_RECORD
|
| + else:
|
| + wpr_mode = wpr_modes.WPR_REPLAY
|
| +
|
| + self.platform.network_controller.Open(
|
| + wpr_mode, browser_options.netsim, browser_options.extra_wpr_args)
|
| +
|
| @property
|
| def browser(self):
|
| return self._browser
|
| @@ -167,28 +178,6 @@ class SharedPageState(story.SharedState):
|
| def platform(self):
|
| return self._possible_browser.platform
|
|
|
| - def _PrepareWpr(self, network_controller, archive_path,
|
| - make_javascript_deterministic):
|
| - browser_options = self._finder_options.browser_options
|
| - if self._finder_options.use_live_sites:
|
| - browser_options.wpr_mode = wpr_modes.WPR_OFF
|
| - elif browser_options.wpr_mode != wpr_modes.WPR_RECORD:
|
| - browser_options.wpr_mode = (
|
| - wpr_modes.WPR_REPLAY
|
| - if archive_path and os.path.isfile(archive_path)
|
| - else wpr_modes.WPR_OFF)
|
| -
|
| - # Replay's life-cycle is tied to the browser. Start and Stop are handled by
|
| - # platform_backend.DidCreateBrowser and platform_backend.WillCloseBrowser,
|
| - # respectively.
|
| - # TODO(slamm): Update life-cycle comment with https://crbug.com/424777 fix.
|
| - wpr_mode = browser_options.wpr_mode
|
| - if self._append_to_existing_wpr and wpr_mode == wpr_modes.WPR_RECORD:
|
| - wpr_mode = wpr_modes.WPR_APPEND
|
| - network_controller.SetReplayArgs(
|
| - archive_path, wpr_mode, browser_options.netsim,
|
| - browser_options.extra_wpr_args, make_javascript_deterministic)
|
| -
|
| def _StartBrowser(self, page):
|
| assert self._browser is None
|
| self._possible_browser.SetCredentialsPath(page.credentials_path)
|
| @@ -241,13 +230,16 @@ class SharedPageState(story.SharedState):
|
| if self._test.RestartBrowserBeforeEachPage() or page.startup_url:
|
| self._StopBrowser()
|
| started_browser = not self.browser
|
| - self._PrepareWpr(self.platform.network_controller,
|
| - page_set.WprFilePathForStory(page),
|
| - page.make_javascript_deterministic)
|
| +
|
| + archive_path = page_set.WprFilePathForStory(page)
|
| + if archive_path and not os.path.isfile(archive_path):
|
| + archive_path = None
|
| + self.platform.network_controller.StartReplay(
|
| + archive_path, page.make_javascript_deterministic)
|
| +
|
| if self.browser:
|
| # Set new credential path for browser.
|
| self.browser.credentials.credentials_path = page.credentials_path
|
| - self.platform.network_controller.UpdateReplayForExistingBrowser()
|
| else:
|
| self._StartBrowser(page)
|
| if self.browser.supports_tab_control and self._test.close_tabs_before_run:
|
| @@ -348,6 +340,7 @@ class SharedPageState(story.SharedState):
|
| self._migrated_profile = None
|
|
|
| self._StopBrowser()
|
| + self.platform.network_controller.Close()
|
| self.platform.StopAllLocalServers()
|
|
|
| def _StopBrowser(self):
|
| @@ -355,11 +348,6 @@ class SharedPageState(story.SharedState):
|
| self._browser.Close()
|
| self._browser = None
|
|
|
| - # Restarting the state will also restart the wpr server. If we're
|
| - # recording, we need to continue adding into the same wpr archive,
|
| - # not overwrite it.
|
| - self._append_to_existing_wpr = True
|
| -
|
| def _StartProfiling(self, page):
|
| output_file = os.path.join(self._finder_options.output_dir,
|
| page.file_safe_name)
|
|
|