84392d74fef177a87bc96a255761daf39569e726 |
|
14-Aug-2014 |
Torne (Richard Coles) <torne@google.com> |
Store the WebView's package info. When loading the WebView, save the PackageInfo for the package so that it can be retrieved later to access the package name, version data, etc. This will be used to detect WebView downgrades that may affect an app's saved WebView-related data. Bug: 16724751 Change-Id: I05ce469308cc87f79c73206327f43b76b1bab222
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
3822882b32d9b1b803aaff9b657a91d680f1d0f9 |
|
13-Aug-2014 |
Torne (Richard Coles) <torne@google.com> |
Add trace events to WebView startup. Add system trace events for several interesting points during the loading of the WebView APK so we can measure how much each part contributes to startup time. Bug: 16870075 Change-Id: Iadfd1881faea0377fa01313dddabb1d030962c5f
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
27cb0d22a839f9fc132ae6b4e7c059c75a1826e1 |
|
08-Aug-2014 |
Torne (Richard Coles) <torne@google.com> |
Make WebViewFactory more robust. Catch and discard any exception thrown in getWebViewNativeLibraryPaths to avoid the system server crashing if there is something wrong with the update APK. prepareWebViewInSystemServer(nativePaths) is safe to call even if nativePaths is null or invalid, and must be called to ensure that any process waiting for relro processing is unblocked. Bug: 16894062 Change-Id: I76c759bebcb7c4643fb50979376afea764c859c4
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
0606cd572ad345fb2c40456509feac626c68dee3 |
|
05-Aug-2014 |
Torne (Richard Coles) <torne@google.com> |
Log the version of the WebView package used. To aid in debugging app behaviour when WebView updates may be present, log the package name, version name, and version code of the WebView package when we are about to load it into an application. Do this before we actually load any part of the package in case of an issue loading it in the first place. Change-Id: Id653bad431760b7ead8e3f8eb29f9d6a8bb68d07
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
5f3278ba1e7572d4a5624d18fd08ba9038abc575 |
|
04-Aug-2014 |
Torne (Richard Coles) <torne@google.com> |
Don't let failures to load the null WebView propagate. We load the null WebView if the real WebView package is not available to support devices that aren't intended to have a WebView, but this results in confusing log messages if the real WebView is supposed to be present but is broken/unloadable for some reason. Since the null WebView is in the system classpath on devices that should use it, swallow any failures to load it on the assumption that this is actually just a failure of the real WebView to be loaded. Change-Id: I15820da3517daffde6169343c648a4486c0309d7
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
e76e81a227a29db5223d231ec88ecb02fa4d6835 |
|
29-Jul-2014 |
Primiano Tucci <primiano@google.com> |
Cherry pick Cleanup debug messages in WebViewFactory and WebViewUpdateService DO NOT MERGE This is just a cleanup CL which fixes: - Some erroneous debug messages about the relro creator process. - The condition checked in WebViewUpdateService, to prevent the WebView to be used from the SystemServer (it now looks at the process id, previously it was erroneously looking at the uid). - Adds a 5s. timeout to the waitForRelroCreationCompleted. Original BUG:16403706 Original Change-Id: I43a953949050d7df5fe334cfa7257315ee6db071 Bug: 16723226 Change-Id: I2f40be3622b8e6c68b2b52cae7f4d3a95e148cbf
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
5651fc2feeed3af1bd0991e32788a8936d698811 |
|
30-Jul-2014 |
Torne (Richard Coles) <torne@google.com> |
CHerry pick Find WebView package name from a config resource. DO NOT MERGE Use a config resource to determine the package name for the WebView implementation to allow it to be changed by a resource overlay. Original Bug: 16329371 Original Change-Id: I5977691c0223347e0382d584c3d3ee4428660180 Bug: 16723226 Change-Id: Ib0b4245f26cbf93f364aa0f30b231786931f9f16
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
5ced502fba5a69dc1d2e55b3d7e5fd429280d6ae |
|
28-Jul-2014 |
Ben Murdoch <benm@google.com> |
Cherry pick Remove dependency on WebView native library path. DO NOT MERGE This CL removes the final use of the hardcoded WebView library path from WebViewFactory. We now use a system property to set the amount of address space to reserve in the zygote rather than stat'ing the file. See also I07ad5a774623c1899eb50474d999a2b1447783f0 Original Change-Id: Id3c1e3cc2e2a06c1021ad0260a37abcd07d78fd6 Bug: 16723226 Change-Id: I55acad96b6d9ee69f14b84d772abf7740ea96b94
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
161536b5970ba5ab43233e7695ef69ba2bb804f4 |
|
28-Jul-2014 |
Primiano Tucci <primiano@google.com> |
Cherry pick Refactor ActivityManagerService and make WebViewFactory more pedantic. DO NOT MERGE This CL adds more robustness to the logic in WebViewFactory, checking whether the isolated process did start at all and catching exceptions in its java side. Also, this addresses the refactor comments received in CL 509840. Original BUG:16403706 Original Change-Id: Iaaea6d36142ece6d974c2438259edf421fce9f2e Bug: 16723226 Change-Id: Id308f2ffde9b67a3eb4719c7b81b4f46421f0c2e
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
1b7977b608cd07366a1708aba36d48203f85bbbd |
|
25-Jul-2014 |
Primiano Tucci <primiano@google.com> |
Cherry pick Refactor native library path logic in WebViewFactory DO NOT MERGE This CL changes the relro creation and loading logic. Instead of using a hardcoded path, now WebViewFactory queries the package manager to get the lib path, which will be either /system/priv-app/webview/lib/ or /data/app/... depending on the presence of an update apk. Original BUG:16403706 Original Change-Id: Icceb95da98e69032a19ac2ae8fe72ba1439e50ad Bug: 16723226 Change-Id: Ia3155f72a735d75a566a8cc4c8c892d43b6cd371
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
63d3d8a458cfc124ebd183994d3d152d3b06c1d8 |
|
22-Jul-2014 |
Marcin Kosiba <mkosiba@google.com> |
Cherry pick Append WebView assets to AssetManager when loading the WebView. DO NOT MERGE This makes the code loading the WebView Java code from the .apk also load the WebView assets into the current AssetManager. Original BUG: 11505352 Original Change-Id: Ib6203f79b98805012ffa20b233037b7da221624c Bug: 16723226 Change-Id: Ie7b0b22df9727c72debfb9ccfcd84c95bf41e039
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
810c052d9b117217152c2a609ccec056a2a61d1e |
|
25-Jul-2014 |
Primiano Tucci <primiano@google.com> |
Cherry pick Introduce startIsolatedProcess private API in ActivityManager DO NOT MERGE The new API spawns a isolated process, using a custom uid, entrypoint and abi. Such API is used by the WebViewFactory to spawn its unpriviledged but trusted process (hence the fixed uid) which rewrites the rerlo file on boot / when an update occurs. Since both the ActivityManager service and the WebViewUpdate service live in the SystemServer their calls be dispatched locally and no binder interface needs to be exposed for the new startIsolatedProcess API. Original BUG:16403706 Original Change-Id: I327b59735c12698595e0dbcc4da5d759c9103b0a Bug: 16723226 Change-Id: Iecb49888e11eec9d302d9712953fd498db5821af
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
6c778cebc73e7eb76510f6e2183d804b8c07082b |
|
17-Jul-2014 |
Torne (Richard Coles) <torne@google.com> |
Cherry pick Load the WebView Java code from an APK. DO NOT MERGE Use the WebView APK to load the Java code via createPackageContext. Original Bug: 16329371 Original Change-Id: I1292edab639d85c2027dc8ebb52def8c36d41cde Bug: 16723226 Change-Id: I8e692a5e12706f91a8af0a8b385bac336ce60913
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
64fb02956b8e6835c87e24a2b5d3947ac626a4bd |
|
28-Jul-2014 |
Ben Murdoch <benm@google.com> |
Revert "Load the WebView Java code from an APK." DO NOT MERGE This reverts commit 72618c3363c83f2668dab4495b100a61d6d8700a. Bug: 16448724
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
8b4cd92852c99ff4cdf062afd2b9f5a20c685e3e |
|
17-Jul-2014 |
Torne (Richard Coles) <torne@google.com> |
Load the WebView Java code from an APK. Use the WebView APK to load the Java code via createPackageContext. Bug: 16329371 Change-Id: I1292edab639d85c2027dc8ebb52def8c36d41cde
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
dc00a84af15ff3594a6dfa512be21095bf9fee82 |
|
17-Jul-2014 |
Ben Murdoch <benm@google.com> |
Update WebViewUpdateService to receive PACKAGE_REPLACED broadcast. This allows the WebViewUpdateService to receive notifications that an update has been installed and we need to trigger recreation of the relro file. bug: 16329377 Change-Id: I088e61487416add997995db304beca0cde71390c
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
08cfaf672604422dd355d6703aec78f3aa5ee74e |
|
08-May-2014 |
Torne (Richard Coles) <torne@google.com> |
Use the WebView's loader library to load the real library. Load libwebviewchromiumloader and use it to load the real WebView library, to enable sharing of the relro segment between different application processes without requiring that the library be preloaded in the zygote. A system service is added to track whether the relro segment file has been prepared, and block loading of the library until it has been. Bug: 13005501 Change-Id: I846b37c7b8e2a4eb8a39e4fd455bccbb2048c173
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
b5de924fad4f9dcd4d8137c0e6a17a41c32bc22a |
|
02-May-2014 |
Torne (Richard Coles) <torne@google.com> |
Remove WebView library preloading mechanism. We don't want to preload the WebView library in the zygote process any more, as loading an updatable WebView in the zygote is a stability risk. The memory benefits of preloading will be obtained in other ways. Bug: 13005501 Change-Id: Ic89f2a1d057dc92b01fb775bf326b47ac2d4caa2
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
73f328953a764eb2b4ef55da6fbc8e3125fd2244 |
|
19-May-2014 |
Ben Murdoch <benm@google.com> |
am 4088970d: am 3011fc1a: Merge "Fallback to NullWebView when Chromium WebView not present." into klp-modular-dev * commit '4088970dce354f53911f78084a32cb78af45baaf': Fallback to NullWebView when Chromium WebView not present.
|
0e04bcfbdc1845c931b45b3498aef438b944e961 |
|
16-May-2014 |
Ben Murdoch <benm@google.com> |
Fallback to NullWebView when Chromium WebView not present. If it's not possible to load the Chromium WebView, fallback to loading the NullWebView that will throw UnsupportedOperationException. Bug: 13438487 Change-Id: If44b8b7a569c2f8e0e8bba7e6953288802d1c9e0
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
2bfd9839aa04265e3c170b1743c08001a2d9313b |
|
09-May-2014 |
Selim Gurun <sgurun@google.com> |
Cleanup remainings of old webview. Cleanup some code that remained from old webview. Change-Id: I7b654a40284ff88a0a42c7407ad0b2499000f77d
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
6090995951c6e2e4dcf38102f01793f8a94166e1 |
|
19-Nov-2013 |
John Spurlock <jspurlock@google.com> |
Remove unused imports from frameworks/base. Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
d892afc88d3c67a7fe1c9550bfa7a452051d031d |
|
14-Oct-2013 |
Torne (Richard Coles) <torne@google.com> |
Remove support for switching WebView. WebViewFactory remains as an abstraction layer, but will now always creates Chromium WebView instances. Bug: 10427705 Change-Id: I045e43eb35462567fecd29d04e7b61902baef547
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
be706eb1c1107f3aba0797c657ecbed56463c4cf |
|
12-Sep-2013 |
Jonathan Dixon <joth@google.com> |
Hide Experimental WebView from dev settings DO NOT MERGE Bug 10427705 The persist.webview system property is no longer needed, so removed too. Change-Id: I8f02736469464b52636f3d59ec8537d11766d39f
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
dc1573595ca6d8b362c3ce0883a35069d2b08f13 |
|
16-Sep-2013 |
Jonathan Dixon <joth@google.com> |
Revert "Hide Experimental WebView from dev settings" DO NOT MERGE Bug 10769282 Reverting temporary patch required for factory rom. This reverts commit 292fd0351be8f414cbe32a7eb322bd18158685d9.
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
3d458ab91604cdfd6e6acec5c4164f543aa40908 |
|
12-Sep-2013 |
Jonathan Dixon <joth@google.com> |
Hide Experimental WebView from dev settings DO NOT MERGE Bug 10427705 The persist.webview system property is no longer needed, so removed too. Change-Id: I99bbf2e9b9ec42f282339c72509fd99b18594ebf
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
b7d5cbc0073e37e6bcb1e496aefb829babde6931 |
|
21-Aug-2013 |
Jonathan Dixon <joth@google.com> |
Reset the Experimental WebView property per build In order to increase test coverage, reset to the default value everytime the build ID changes. Bug: 10427705 Change-Id: I75e301d26ee0ca52265c5f7fe48661787b596168
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
74c8f51220f78e105545ad14cd2a85b1360f03cf |
|
01-Aug-2013 |
Ben Murdoch <benm@google.com> |
Revert "Revert "Flag-flip: set chromium to be the default WebView"" Turn the flag back on. This reverts commit c9f10b6be981ed4b0c4b2f0e2409d0626a3d4016. Change-Id: I1a77bdf7f59a6868fd8ab30687062f34fc914bc6
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
c9f10b6be981ed4b0c4b2f0e2409d0626a3d4016 |
|
31-Jul-2013 |
Ben Murdoch <benm@google.com> |
Revert "Flag-flip: set chromium to be the default WebView" We need to wait until GMail corruption fix is in. This reverts commit 6716bd3375c647f43a1c332a0d1b027223611610. Change-Id: Ie3c335e18901d24d878f81fb76b7065520fa32e5
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
6716bd3375c647f43a1c332a0d1b027223611610 |
|
30-Jul-2013 |
Jonathan Dixon <joth@google.com> |
Flag-flip: set chromium to be the default WebView For now, can still be disabled in Developer Settings. Change-Id: Id871d1e232de7b3c7be42c7734f2bb83dc526b32
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
dad2c6e3fad7e324affbe5a78f704f9b820632cd |
|
31-Jul-2013 |
Jonathan Dixon <joth@google.com> |
Merge "Add some logging when the webview dev setting changes"
|
cb64bb4b1692fba231bf970f19210aefa024cfba |
|
31-Jul-2013 |
Jonathan Dixon <joth@google.com> |
Add some logging when the webview dev setting changes Bug: 9773865 This will not be visible in shipping config, so shouldn't be a major source of log spam. Change-Id: If09734b70e59aeab87c6dddee72212aa6748505f
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
09397ba3d5a25fd0a2ed8e315a82b5df694c5c9a |
|
30-Jul-2013 |
Jonathan Dixon <joth@google.com> |
Make WebViewProvider constants private In preperation for DEFAULT_TO_EXPERIMENTAL_WEBVIEW flag-flip, make this field and WEBVIEW_EXPERIMENTAL_PROPERTY private so we know all users are querying the property in a consistent way. Change-Id: Iabaffb8ac5a34e323b170339d47f872eb4c83042
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
d8501485e30c1184292f15349b9e439343ff5b60 |
|
29-Jul-2013 |
Jonathan Dixon <joth@google.com> |
Build fix for WebViewFactory Make fields public again until users are no longer using them Change-Id: I27d06ca8478f5ba44940e8ce15d65df97cbbb5f1
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
a7eaa8ee222611c28f050158db4b68c4d893a8a9 |
|
26-Jul-2013 |
Jonathan Dixon <joth@google.com> |
Add accessors for WebViewFactory.UseExperimentalWebView In preperation for flag-flip, have Settings app access the current state via methods that are neutral to the on/off state. Also setup the property to change name when enabled by default, to reset any user changes to this setting. Change-Id: I55017bcd89573c1ecac7de8913264d9cf66fdcd9
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
03ce9b3e69f1eec85e7e7cbfd65bb9093e74cea8 |
|
12-Jun-2013 |
Torne (Richard Coles) <torne@google.com> |
Enable preloading of the appropriate WebView. Allow the appropriate WebView to be preloaded in the zygote by constructing the currently selected WebViewFactoryProvider when the WebViewFactory is preloaded. At runtime, if the preloaded provider is still the current selection, the preloaded instance is used, otherwise the provider is loaded at that time. This change also removes "graceful" fallback from the experimental WebView to the classic implementation: if the option to use the experimental WebView is selected and it could not be loaded successfully at the time a WebView is created, an exception will be thrown, rather than allowing execution to continue with the classic implementation, as the fallback may mislead developers who do not examine logcat output in detail. Change-Id: I0cd01c784d7048abeac55ab5863ca16b8fd9ecf2
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
eb665d66bac9aa3d7bf1834cfda6c886f721b157 |
|
17-May-2013 |
Primiano Tucci <primiano@google.com> |
Deprecate webview.use_chromium and introduce webview.force_provider. The new webview.force_provider property, when set, enforces the use of Chromium or classic WebView, regardless the value of the persist.sys.webview.exp (accessible through the settings UI). This will help telemetry tests to run correctly regardless of UI settings. Change-Id: Ica5a0faa7f7539c22332cac5a8946f11fb7df6b2
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
eb07f3cad0e3b03c7a303e87039e3a8d27b5d44d |
|
04-Jun-2013 |
Torne (Richard Coles) <torne@google.com> |
WebViewChromium: don't use a separate class loader. Use the ordinary system class loader to load the Chromium-based WebView implementation classes now that the implementation .jar is part of the boot class path. Instead of checking for the .jar file's existence, just check to see if we can load the class to determine whether the new WebView is available. This also removes the check for Build.IS_DEBUGGABLE; the Chromium-based WebView will now be available in user builds if enabled in the developer options. Change-Id: I06bae9b91656aa41b09c0e6f63f90736db993418
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
b0e35846b818bdf0db9cafe881a8a535116d596e |
|
20-Mar-2013 |
Jared Duke <jdduke@google.com> |
Adding new Chomium-WebView property key, and deprecating old key. Also adding isExperimentalWebViewAvailable(), which is required to show/hide the corresponding setting in Developer Options. BUG=8383477 Change-Id: I82608cb4a3c7a85c3ad9091365913df5f2663f9c
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
a9bbd9439c3043bd76a7474e6dca3c8131b1b258 |
|
24-Oct-2012 |
Torne (Richard Coles) <torne@google.com> |
Rename Chromium-powered WebView package. The Chromium-powered WebView package has been renamed from com.android.webviewchromium to com.android.webview.chromium. Reflect this renaming in the factory. Change-Id: I64ba2b54c52aad8f10eef68d12366ce9be09b9c8
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
9f9d34552f53c534141584a5ad4a8a49ad7939dc |
|
20-Sep-2012 |
John Reck <jreck@google.com> |
Use less static synchronized Bug: 6482144 Change-Id: I86161e3298101c10a112add406615001561e649e
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
e09e976dad1d974ca28381451b0bbbeafbb872d5 |
|
19-Jul-2012 |
Ben Murdoch <benm@google.com> |
Allow switching to the Chromium WebViewFactoryProvider at runtime. Currently, WebViewFactory is hardcoded to always load android.webkit.WebViewClassic$Factory. This change allows us to load the Chromium powered WebView by setting the "webview.use_chromium" system propery to true. Change-Id: Icebfc4d5c4a61230c5e5dccac1ec5eca59f650ac
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|
d3101b1d300f5942fdb7dfa323dc8830c4edc007 |
|
12-Apr-2012 |
Jonathan Dixon <joth@google.com> |
Seperate interface and implementation of 4 WebView classes GeolocationPermissionsClassic CookieManagerClassic WebIconDatabaseClassic WebStorageClassic Also creats a WebViewFactory top level class - this remains hidden for now, as it's currently only used implicitly by the other public WebView classes to create the provider instances. Bug: 5626244 Change-Id: Id0ca1c16d8058f31a86414bbc0e8a55db4b907ba
/frameworks/base/core/java/android/webkit/WebViewFactory.java
|