| Index: tools/telemetry/telemetry/android_browser_backend.py
|
| diff --git a/tools/telemetry/telemetry/android_browser_backend.py b/tools/telemetry/telemetry/android_browser_backend.py
|
| index 04e8f1ceb291cb333c32408e59139e0851bb0a7d..07c26cac235e47f6f831c5b507d492cc004f176a 100644
|
| --- a/tools/telemetry/telemetry/android_browser_backend.py
|
| +++ b/tools/telemetry/telemetry/android_browser_backend.py
|
| @@ -5,6 +5,7 @@ import json
|
| import logging
|
| import os
|
| import subprocess
|
| +import sys
|
| import tempfile
|
|
|
| from telemetry import adb_commands
|
| @@ -29,7 +30,7 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend):
|
| self._devtools_remote_port = devtools_remote_port
|
|
|
| # Kill old browser.
|
| - self._adb.KillAll(self._package)
|
| + self._adb.CloseApplication(self._package)
|
| self._adb.KillAll('device_forwarder')
|
| self._adb.Forward('tcp:%d' % self._port, self._devtools_remote_port)
|
|
|
| @@ -65,7 +66,7 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend):
|
| self._adb.Push(f.name, cmdline_file)
|
|
|
| # Force devtools protocol on, if not already done.
|
| - if not is_content_shell:
|
| + if not is_content_shell and self._adb.IsRootEnabled():
|
| # Make sure we can find the apps' prefs file
|
| app_data_dir = '/data/data/%s' % self._package
|
| prefs_file = (app_data_dir +
|
| @@ -110,6 +111,13 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend):
|
| try:
|
| self._WaitForBrowserToComeUp()
|
| self._PostBrowserStartupInitialization()
|
| + except browser_gone_exception.BrowserGoneException:
|
| + logging.critical('Failed to connect to browser.')
|
| + if not self._adb.IsRootEnabled():
|
| + logging.critical(
|
| + 'Ensure web debugging is enabled in Chrome at '
|
| + '"Settings > Developer tools > Enable USB Web debugging".')
|
| + sys.exit(1)
|
| except:
|
| import traceback
|
| traceback.print_exc()
|
| @@ -128,7 +136,7 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend):
|
| super(AndroidBrowserBackend, self).Close()
|
|
|
| self._adb.RunShellCommand('rm %s' % self._cmdline_file)
|
| - self._adb.KillAll(self._package)
|
| + self._adb.CloseApplication(self._package)
|
|
|
| def IsBrowserRunning(self):
|
| pids = self._adb.ExtractPid(self._package)
|
|
|