Index: tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py |
diff --git a/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py b/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py |
index b685d52eb9b50929634515889f312031be12f086..0acb6846517c2b0841215c0a5a3276a7c801604a 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py |
@@ -70,10 +70,6 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend): |
@property |
def devtools_client(self): |
- if not self._devtools_client: |
- assert self._port, 'No DevTools port info available.' |
- self._devtools_client = devtools_client_backend.DevToolsClientBackend( |
- self._port, self) |
return self._devtools_client |
@property |
@@ -172,11 +168,19 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend): |
return replay_args |
def HasBrowserFinishedLaunching(self): |
- return self.devtools_client.IsAlive() |
+ assert self._port, 'No DevTools port info available.' |
+ return devtools_client_backend.IsDevToolsAgentAvailable(self._port) |
- def _WaitForBrowserToComeUp(self, wait_for_extensions=True): |
+ def _WaitForBrowserToComeUp( |
+ self, remote_devtools_port=None, wait_for_extensions=True): |
+ """ |
+ Args: |
+ remote_devtools_port: The remote devtools port, if |
+ any. Otherwise assumed to be the same as self._port.""" |
try: |
util.WaitFor(self.HasBrowserFinishedLaunching, timeout=30) |
+ self._devtools_client = devtools_client_backend.DevToolsClientBackend( |
+ self._port, remote_devtools_port or self._port, self) |
except (util.TimeoutException, exceptions.ProcessGoneException) as e: |
if not self.IsBrowserRunning(): |
raise exceptions.BrowserGoneException(self.browser, e) |