History log of /frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dc375072c4fc95d612ccd3c60ff0519eb75b804c 11-Jan-2017 Torne (Richard Coles) <torne@google.com> Prepare to enable multiprocess by default.

Implement logic to track the version on which the user last manually
enabled/disabled multiprocess (by storing the version code in the
setting, negated for disabled). This enables us to have the following
logic:

1) If multiprocess is enabled by default, re-enable it for users who
turned it off on a previous version, but leave it off for users who
turned it off on the current version. This lets us collect fresh
bug reports after fixing previous issues.

2) If multiprocess is disabled by default, leave it on for users who
have enabled it manually, but turn it back off for users who were
just relying on the default.

This CL leaves it set to "disabled by default" so there is no immediate
behavioural change, but this enables us to switch the "enabled by
default" flag back and forth freely later.

Bug: 21643067
Test: run WebViewUpdateServiceTest
Test: manually upgrade/downgrade webview, verify behaviour of setting
Change-Id: Ibbecac7e5ee75e9c4a1b6efb84253ace98d1eb1a
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
364e16029017a4e16ed727a5e501f70363d04e5a 14-Dec-2016 Gustav Sennton <gsennton@google.com> Change WebView fallback mechanism to consider all users' package states.

MultiProcess WebView will use a Service to start a separate process (the
renderer process). This Service can only be started if the WebView
package is enabled for the current user. To ensure that the current
WebView package is usable by all users on a single device we now only
use a WebView package as WebView implementation if that package is
enabled and installed for all user on the device. This also means that
the WebView-fallback mechanism will trigger when disabling the primary
WebView package for any user (not just the system user).

Also add multi-user unit tests to cover this new change.

Bug: 32894152
Test: run unit tests in WebViewUpdateServiceTest
Test: ensure the standalone WebView package becomes enabled (for all
device users) when disabling Chrome for a secondary user.
Test: load WebView (both using Monochrome, and using the standalone
WebView).

Change-Id: Iad3fc48aa50273062c2f29ae48a343c2dea38116
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
1a4c4e35397adb964fb53695f66e1ac1ace39ff1 10-Jan-2017 Torne (Richard Coles) <torne@google.com> Handle multiprocess flag in WebView update service.

Instead of letting DevelopmentSettings manage the setting directly and
observing the changes from WebViewUpdateService, have the update service
manage the setting and just expose IPCs for the settings app to use to
get/set the setting. This means we can set a more flexible policy for
whether multiprocess is enabled by default and change it without
touching the settings code, though for now this CL does not change the
behaviour and is just a refactoring.

Bug: 21643067
Test: Toggle multiprocess WebView in developer settings
Change-Id: I3057c09d99f5f6f472a5195a8e14e9164ea5733a
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
86f7bbe134a274a4936b73e2fc2287482ac0157e 24-Oct-2016 Gustav Sennton <gsennton@google.com> Fix WebViewUpdateServiceTest failures when using Thread without Looper.

Add some more methods to SystemInterface to avoid calling into the rest
of the framework from WebViewUpdateServiceTests.

Also convert WebViewUpdateServiceTest to use non-deprecated test
utilities.

Test: make sure tests in WebViewUpdateServiceTest pass.
Bug: 32364900
Change-Id: I8cf67568bb7e551e1c011028e0bb4e15c0e9f2bb
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
ded209843616a98e6f97db0d1784f6d630cbd5e9 15-Aug-2016 Robert Sesek <rsesek@google.com> Create the WebViewZygote and implement WebViewZygoteInit.

This adds a new init-spawned daemon, webview_zygote, that starts a JVM and
acts as a zygote process for WebView isolated_app services.

Test: m
Test: angler boots
Test: Turn on Settings>Developer>Multiprocess Webview. webview_zygote32 or
webview_zygote64 start (requires dependent CLs).

Bug: 21643067
Change-Id: Ida98bd04b4d77736b672b03af651c4eb97ce88c1
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
9e8c0584faae06ad903b8b859c5a5e5b11d63257 25-Mar-2016 Hui Shu <hush@google.com> Disallow WebView provider packages lower version than Chrome Stable

Doing so has security benefits, making sure the device is at least as secure as
the MonoChrome Stable on the system image.

This is implemented as checking WebView provider package versionCode against the
default available, non-fallback WebView provider package. On GMS devices, this
is MonoChrome Stable. On AOSP devices, this is standalone WebView.

BUG: 27469181
Change-Id: Id5b68ee28401a24843421cfcc3755e63196ac0f9
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java
065b7e6ef588a11c82cee22012706e6c0e66d0a3 01-Apr-2016 Gustav Sennton <gsennton@google.com> Move more code from WebViewUpdateService to separate overridable class

Move more code from WebViewUpdateService to utility classes (methods
handling settings and uninstalling/enabling/disabling packages) to be
overridden during tests.

Also rename system utility class.

Bug: 27635535

Change-Id: If49999fba4fd0962f103f389898fa5ddf19365bd
/frameworks/base/services/core/java/com/android/server/webkit/SystemInterface.java