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 2d28d220c07d55812b679bffab4c7536ddea53fa..56a79d3f61b2ef9d94cc3ca87b91443dbbd6d6bb 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
@@ -75,9 +75,6 @@ class ChromeBackendSettings(AndroidBrowserBackendSettings): |
return 'localabstract:chrome_devtools_remote' |
def PushProfile(self, new_profile_dir): |
- # Clear the old profile first, since copying won't delete files. |
- self.RemoveProfile() |
- |
# Pushing the profile is slow, so we don't want to do it every time. |
# Avoid this by pushing to a safe location using PushIfNeeded, and |
# then copying into the correct location on each test run. |
@@ -90,11 +87,9 @@ class ChromeBackendSettings(AndroidBrowserBackendSettings): |
saved_profile_location = '/sdcard/profile/%s' % profile_base |
self.adb.Adb().PushIfNeeded(new_profile_dir, saved_profile_location) |
- self.adb.RunShellCommand('cp -r %s/* %s' % (saved_profile_location, |
- self.profile_dir), |
- timeout_time = 60) |
- # We now need to give the ownership back to the browser UID |
+ self.adb.Adb().EfficientDeviceDirectoryCopy(saved_profile_location, |
+ self.profile_dir) |
dumpsys = self.adb.RunShellCommand('dumpsys package %s' % self.package) |
id_line = next(line for line in dumpsys if 'userId=' in line) |
uid = re.search('\d+', id_line).group() |
@@ -106,7 +101,6 @@ class ChromeBackendSettings(AndroidBrowserBackendSettings): |
self.adb.RunShellCommand('chown %s.%s %s' % |
(uid, uid, extended_path)) |
- |
class ContentShellBackendSettings(AndroidBrowserBackendSettings): |
def __init__(self, adb, package): |
super(ContentShellBackendSettings, self).__init__( |
@@ -201,10 +195,10 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): |
self._adb.CloseApplication(self._backend_settings.package) |
if self._adb.Adb().CanAccessProtectedFileContents(): |
- if not self.browser_options.dont_override_profile: |
- self._backend_settings.RemoveProfile() |
if self.browser_options.profile_dir: |
self._backend_settings.PushProfile(self.browser_options.profile_dir) |
+ elif not self.browser_options.dont_override_profile: |
+ self._backend_settings.RemoveProfile() |
self._forwarder_factory = android_forwarder.AndroidForwarderFactory( |
self._adb, use_rndis_forwarder) |