Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Unified Diff: tools/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py

Issue 1213423003: Remove adb_commands from android_browser_backend and android_browser_backend_settings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo referencing invalid _backend_settings member of WebviewShellBackendSettings Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
diff --git a/tools/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py b/tools/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
index 90bf88057949f91fb1228cd0b69f613d589aae1d..698b300573beadbd144da9e0d10f803e95e234c4 100644
--- a/tools/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
+++ b/tools/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
@@ -9,14 +9,17 @@ from telemetry.core import exceptions
from telemetry.core.platform import android_platform_backend as \
android_platform_backend_module
from telemetry.core import util
-from telemetry.internal.backends import adb_commands
from telemetry.internal.backends import android_command_line_backend
from telemetry.internal.backends import browser_backend
from telemetry.internal.backends.chrome import chrome_browser_backend
from telemetry.internal import forwarders
util.AddDirToPythonPath(util.GetChromiumSrcDir(), 'build', 'android')
-from pylib.device import intent # pylint: disable=F0401
+try:
+ from pylib import ports # pylint: disable=import-error
+except ImportError:
+ ports = None
+from pylib.device import intent # pylint: disable=import-error
class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
@@ -43,7 +46,7 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
# TODO(tonyg): This is flaky because it doesn't reserve the port that it
# allocates. Need to fix this.
- self._port = adb_commands.AllocateTestServerPort()
+ self._port = ports.AllocateTestServerPort()
# TODO(wuhu): Move to network controller backend.
self.platform_backend.InstallTestCa()
@@ -51,7 +54,7 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
# Kill old browser.
self._KillBrowser()
- if self._adb.device().old_interface.CanAccessProtectedFileContents():
+ if self.device.HasRoot() or self.device.NeedsSU():
if self.browser_options.profile_dir:
self.platform_backend.PushProfile(
self._backend_settings.package,
@@ -73,17 +76,17 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
self.platform_backend.SetDebugApp(self._backend_settings.package)
@property
- def _adb(self):
- return self.platform_backend.adb
+ def device(self):
+ return self.platform_backend.device
def _KillBrowser(self):
- if self._adb.device().IsUserBuild():
+ if self.device.IsUserBuild():
self.platform_backend.StopApplication(self._backend_settings.package)
else:
self.platform_backend.KillApplication(self._backend_settings.package)
def Start(self):
- self._adb.device().RunShellCommand('logcat -c')
+ self.device.RunShellCommand('logcat -c')
if self.browser_options.startup_url:
url = self.browser_options.startup_url
elif self.browser_options.profile_dir:
@@ -97,15 +100,15 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
browser_startup_args = self.GetBrowserStartupArgs()
with android_command_line_backend.SetUpCommandLineFlags(
- self._adb.device(), self._backend_settings, browser_startup_args):
- self._adb.device().StartActivity(
+ self.device, self._backend_settings, browser_startup_args):
+ self.device.StartActivity(
intent.Intent(package=self._backend_settings.package,
activity=self._backend_settings.activity,
action=None, data=url, category=None),
blocking=True)
remote_devtools_port = self._backend_settings.GetDevtoolsRemotePort(
- self._adb)
+ self.device)
self.platform_backend.ForwardHostToDevice(self._port,
remote_devtools_port)
try:
@@ -113,8 +116,7 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
self._InitDevtoolsClientBackend(remote_devtools_port)
except exceptions.BrowserGoneException:
logging.critical('Failed to connect to browser.')
- device = self._adb.device()
- if not device.old_interface.CanAccessProtectedFileContents():
+ if not (self.device.HasRoot() or self.device.NeedsSU()):
logging.critical(
'Resolve this by either: '
'(1) Flashing to a userdebug build OR '
@@ -135,15 +137,11 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
return args
@property
- def adb(self):
- return self._adb
-
- @property
def pid(self):
- pids = self._adb.ExtractPid(self._backend_settings.package)
- if not pids:
+ pids = self.device.GetPids(self._backend_settings.package)
+ if not pids or self._backend_settings.package not in pids:
raise exceptions.BrowserGoneException(self.browser)
- return int(pids[0])
+ return int(pids[self._backend_settings.package])
@property
def browser_directory(self):

Powered by Google App Engine
This is Rietveld 408576698