Upstream WebView java code for Android 7.0 |
|||||||
Issue descriptionWe need to upstream the internal version of the WebView glue layer for Android 7.0. This first requires: 1) rolling the public SDK ( issue 623989 ) 2) checking in a new system SDK jar for 7.0 - in this case we can build one from the AOSP 7.0 branch since that's out already, but we should, separately, talk to android about whether we can get a prebuilt of this for future releases in advance of the AOSP source release (as soon as possible after the public SDK release). 3) actually upstream the differing code 4) go through and fix up all the things that use temporary API/codename/etc checks as mentioned in issue 586703 Bo was looking at this as part of the unforking project so assigning to him for now, but can reassign as needed. We really should get this done for M55 as we've already missed several releases :(
,
Sep 2 2016
I'll try to work on the system sdk jar today
,
Sep 2 2016
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/1e5f607462b9de2658a857995163257a15d3178c commit 1e5f607462b9de2658a857995163257a15d3178c Author: Bo Liu <boliu@google.com> Date: Fri Sep 02 18:54:21 2016
,
Sep 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1714619ebb3e94c7bd1e4be123f1be3bd1c1424c commit 1714619ebb3e94c7bd1e4be123f1be3bd1c1424c Author: Bo Liu <boliu@chromium.org> Date: Fri Sep 02 18:56:43 2016 android: Add new system jar for android 7 Only adding the jar file. It's not used yet in this CL. BUG= 643660 R=sgurun@chromium.org Review URL: https://codereview.chromium.org/2300383003 . Cr-Commit-Position: refs/heads/master@{#416310} [add] https://crrev.com/1714619ebb3e94c7bd1e4be123f1be3bd1c1424c/third_party/android_platform/webview/frameworks_7.0.0_r1.jar
,
Sep 2 2016
So we don't need to roll the sdk.. things built fine with the new jar file after upstreaming: https://codereview.chromium.org/2298093008/
,
Sep 2 2016
,
Sep 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/52e7818fabf74f3deaacc952e5fc29daa55ba1e3 commit 52e7818fabf74f3deaacc952e5fc29daa55ba1e3 Author: boliu <boliu@chromium.org> Date: Fri Sep 02 23:45:16 2016 android webview: Upstream android 7 glue layer BUG= 643660 Review-Url: https://codereview.chromium.org/2298093008 Cr-Commit-Position: refs/heads/master@{#416392} [modify] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/BUILD.gn [add] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/MonochromeLibraryPreloader.java [add] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerClientAdapter.java [add] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerControllerAdapter.java [add] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerSettingsAdapter.java [add] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/TokenBindingManagerAdapter.java [modify] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java [modify] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java [modify] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java [modify] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java [modify] https://crrev.com/52e7818fabf74f3deaacc952e5fc29daa55ba1e3/build/config/android/config.gni
,
Sep 5 2016
Oh, yeah. I thought there was an actual need to roll the SDK to get newer build tools (aapt?) to support new manifest features and the like, but I guess the glue itself doesn't touch that, and I'm not sure if that really works that way or not anyway.
,
Sep 7 2016
A lot of clean up depends on actually rolling the sdk and updating the target sdk version. There is one particular clean up I'm interested in: removing use_webview_internal_framework Downstream, it should merged with use_unpublished_apis: use_webview_internal_framework should always imply use_unpublished_apis, and use_unpublished_apis=true but use_webview_internal_framework=false isn't really needed either. Upstream, apparently it's used to remove system_webview_apk target so it can be defined downstream. After sdk roll, that won't be necessary anymore.
,
Sep 8 2016
Note, we still need build system_webview_apk with Android O in downstream, so, use_webview_internal_framework or other similar thing needs in upstream.
,
Sep 8 2016
IIRC, kerz had concern of the variable name we use for building with unpublished framework, if we want use name other than 'use_webview_internal_framework' in upstream, please sync with him.
,
Sep 8 2016
> Note, we still need build system_webview_apk with Android O in downstream, so, use_webview_internal_framework or other similar thing needs in upstream. I'll have to think a bit about that one. I'm hoping with unforking, we can make it work without having to move the target definition downstream. > IIRC, kerz had concern of the variable name we use for building with unpublished framework, if we want use name other than 'use_webview_internal_framework' in upstream, please sync with him. The plan is to *remove* all traces of use_webview_internal_framework from upstream... end of discussion? :p
,
Sep 8 2016
Right, because we don't need to support gyp now, downstream system_webview_apk should be able to move to upstream, maybe get ride of use_webview_internal_framework, but we still need a way to know something (like framework jar, manifest) are already defined in downstream.
,
Oct 5 2016
There's still a problem with building upstream: the sandbox service is not set as an externalService so multiprocess doesn't work. The extra attribute is still guarded by use_webview_internal_framework and downstream-only.
,
Oct 5 2016
Yeah we only talked about removing use_webview_internal_framework, but I didn't even look into it since sdk roll still hasn't happened.
,
Oct 5 2016
I assumed it was already the case that setting it was only required if you wanted to compile against the next unreleased SDK, though, not that right now you still have to set it to actually get a working build. I'll just fix it, anyway :)
,
Oct 5 2016
The target SDK also need to set to 24.
,
Oct 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/59981e3bcf550b3db4c0d7f6f0953c873626fb70 commit 59981e3bcf550b3db4c0d7f6f0953c873626fb70 Author: torne <torne@chromium.org> Date: Wed Oct 05 16:40:25 2016 Update WebView manifest for API 24. The sandboxed renderer service must be defined as an external service for multiprocess to work; this was only being set via a downstream jinja variable override. Remove the jinja variable as it's not used for anything else, and just always set externalService to true. Also, target API 24 by default. BUG= 643660 Review-Url: https://codereview.chromium.org/2387413003 Cr-Commit-Position: refs/heads/master@{#423185} [modify] https://crrev.com/59981e3bcf550b3db4c0d7f6f0953c873626fb70/android_webview/apk/java/AndroidManifest.xml
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/59981e3bcf550b3db4c0d7f6f0953c873626fb70 commit 59981e3bcf550b3db4c0d7f6f0953c873626fb70 Author: torne <torne@chromium.org> Date: Wed Oct 05 16:40:25 2016 Update WebView manifest for API 24. The sandboxed renderer service must be defined as an external service for multiprocess to work; this was only being set via a downstream jinja variable override. Remove the jinja variable as it's not used for anything else, and just always set externalService to true. Also, target API 24 by default. BUG= 643660 Review-Url: https://codereview.chromium.org/2387413003 Cr-Commit-Position: refs/heads/master@{#423185} [modify] https://crrev.com/59981e3bcf550b3db4c0d7f6f0953c873626fb70/android_webview/apk/java/AndroidManifest.xml
,
Nov 4 2016
[Automated comment] removing mislabelled merge-merged-2840
,
Jan 25 2017
Don't think there's anything else to do here.. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by torne@chromium.org
, Sep 2 2016