| Index: tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py
|
| diff --git a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py
|
| index f286d50a825eb7303f0dde387cbfe051983dd56e..5120eb5ebaf4d97c7fb4af0bd5326ebc8d783506 100644
|
| --- a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py
|
| +++ b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py
|
| @@ -189,7 +189,7 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| # Initialize fields so that an explosion during init doesn't break in Close.
|
| self._adb = backend_settings.adb
|
| self._backend_settings = backend_settings
|
| - self._saved_cmdline = None
|
| + self._saved_cmdline = ''
|
| self._port = adb_commands.AllocateTestServerPort()
|
|
|
| # Kill old browser.
|
| @@ -296,7 +296,13 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| self.Close()
|
| raise
|
| finally:
|
| - self._SetCommandLineFile(self._saved_cmdline or '')
|
| + # Restore the saved command line if it appears to have come from a user.
|
| + # If it appears to be a Telemetry created command line, then don't restore
|
| + # it. This is to prevent a common bug where --host-resolver-rules borks
|
| + # people's browsers if something goes wrong with Telemetry.
|
| + self._SetCommandLineFile(
|
| + self._saved_cmdline
|
| + if '--host-resolver-rules' not in self._saved_cmdline else '')
|
|
|
| def GetBrowserStartupArgs(self):
|
| args = super(AndroidBrowserBackend, self).GetBrowserStartupArgs()
|
|
|