Chromium Code Reviews| Index: build/android/provision_devices.py |
| diff --git a/build/android/provision_devices.py b/build/android/provision_devices.py |
| index 8c21f97ef200987db3d3432e4f26da2b67004d19..2d97a9c1d5527dd0e243e84440ed64ac3c04b01a 100755 |
| --- a/build/android/provision_devices.py |
| +++ b/build/android/provision_devices.py |
| @@ -295,15 +295,28 @@ def SetProperties(device, options): |
| check_return=True) |
| if options.remove_system_webview: |
| - if device.HasRoot(): |
| - # This is required, e.g., to replace the system webview on a device. |
| - device.adb.Remount() |
| - device.RunShellCommand(['stop'], check_return=True) |
| - device.RunShellCommand(['rm', '-rf'] + _SYSTEM_WEBVIEW_PATHS, |
| - check_return=True) |
| - device.RunShellCommand(['start'], check_return=True) |
| + original_webview_exist = False |
|
jbudorick
2016/05/10 22:28:44
These four lines can just be:
if any(device.Pat
Yoland Yan(Google)
2016/05/10 22:36:48
Nicee, done!
|
| + for p in _SYSTEM_WEBVIEW_PATHS: |
| + original_webview_exist = original_webview_exist or device.PathExists(p) |
| + if original_webview_exist: |
| + logging.info('Original WebView exists and needs to be removed') |
| + if device.HasRoot(): |
| + # Disabled Marshmallow's Verity security feature |
| + if device.build_version_sdk >= version_codes.MARSHMALLOW: |
| + device.adb.DisableVerity() |
| + device.Reboot() |
| + device.WaitUntilFullyBooted() |
| + device.EnableRoot() |
| + # This is required, e.g., to replace the system webview on a device. |
|
jbudorick
2016/05/10 22:28:44
nit: line break before this line
Yoland Yan(Google)
2016/05/10 22:36:48
Done.
|
| + device.adb.Remount() |
| + device.RunShellCommand(['stop'], check_return=True) |
| + device.RunShellCommand(['rm', '-rf'] + _SYSTEM_WEBVIEW_PATHS, |
| + check_return=True) |
| + device.RunShellCommand(['start'], check_return=True) |
| + else: |
| + logging.warning('Cannot remove system webview from a non-rooted device') |
| else: |
| - logging.warning('Cannot remove system webview from a non-rooted device') |
| + logging.info('Original WebView already removed') |
|
jbudorick
2016/05/10 22:28:44
nit: "system webview" instead of "original webview
Yoland Yan(Google)
2016/05/10 22:36:48
Done.
|
| # Some device types can momentarily disappear after setting properties. |
| device.adb.WaitForDevice() |