| Index: tools/telemetry/telemetry/core/chrome/android_browser_backend.py
|
| diff --git a/tools/telemetry/telemetry/core/chrome/android_browser_backend.py b/tools/telemetry/telemetry/core/chrome/android_browser_backend.py
|
| index 34aa933ee18e62871f1261e8fb2cf83e037c7059..1aa7f5b90ca4bf7e523b63e0f8a7b02418fe56b5 100644
|
| --- a/tools/telemetry/telemetry/core/chrome/android_browser_backend.py
|
| +++ b/tools/telemetry/telemetry/core/chrome/android_browser_backend.py
|
| @@ -171,6 +171,8 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| if options.profile_dir:
|
| self._backend_settings.PushProfile(options.profile_dir)
|
|
|
| + self._root_enabled = self._adb.IsRootEnabled()
|
| +
|
| # Set up the command line.
|
| self._saved_cmdline = ''.join(self._adb.Adb().GetProtectedFileContents(
|
| self._backend_settings.cmdline_file) or [])
|
| @@ -300,5 +302,25 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| stdout=subprocess.PIPE).communicate()[0])
|
| return ret
|
|
|
| + def AddReplayServerOptions(self, options):
|
| + """Override. Only add --no-dns_forwarding if not using RNDIS."""
|
| + if not self._root_enabled:
|
| + options.append('--no-dns_forwarding')
|
| +
|
| + def GetBrowserStartupArgsForForwarder(self):
|
| + """Override. Remove --host-resolver-rules when using RNDIS."""
|
| + args = super(AndroidBrowserBackend,
|
| + self).GetBrowserStartupArgsForForwarder()
|
| + if self._root_enabled:
|
| + args = [arg for arg in args
|
| + if not arg.startswith('--host-resolver-rules')]
|
| + return args
|
| +
|
| def CreateForwarder(self, *port_pairs):
|
| + if self._root_enabled:
|
| + forwarder = adb_commands.RndisForwarderWithRoot(self._adb, *port_pairs)
|
| + self.WEBPAGEREPLAY_HOST = forwarder.host_ip
|
| + return forwarder
|
| + sys.stderr.write('WARNING: Using the old forwarder. '
|
| + 'Execute adb root to enable RNDIS.\n')
|
| return adb_commands.Forwarder(self._adb, *port_pairs)
|
|
|