New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 836339 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocked on:
issue 837815

Blocking:
issue 781754


Show other hotlists

Hotlists containing this issue:
Hotlist-2


Sign in to add a comment

Ensure we can convert back and forth between frameworks and support library glue versions of post-L WebView Support Library classes.

Project Member Reported by gsennton@chromium.org, Apr 24 2018

Issue description

Corresponding buganizer bug: b/77808798

To fully support per-method feature detection in the WebView Support Library we need to be able to convert between the framework version and the support library glue version of post-L WebView Support Library classes.

In practice this means we need conversion methods in the support library glue converting between classes from the webkit glue and the support library glue - just like SupportLibWebkitToCompatConverterAdapter is doing
https://cs.chromium.org/chromium/src/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java
except both ways (not just from webkit to the support library glue).

The reason we need this is that any support library version can have APIs creating support library objects FooCompat implemented by either the framework or the support library glue. For this example, let's say we have such a method only implemented by the support library glue (on the current device), and let's also assume that we have another FooCompat method FooCompat.Bar() only implemented by the framework (of the current device). To implement FooCompat.Bar() we need to fetch frameworks-versions of the (implementation of the) FooCompat object we fetched from the support library glue.


IMO the change that fixes this bug should be merged into 67 to be shipped with the first version of the support library.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db9520ce98b750e578caf7270eee0c5130a0e1fb

commit db9520ce98b750e578caf7270eee0c5130a0e1fb
Author: Gustav Sennton <gsennton@google.com>
Date: Fri Apr 27 11:13:24 2018

[android webview] properly support per-method feature detection.

To properly support per-method feature detection we need to allow
converting back and forth between support library and frameworks
classes.
This CL adds support for converting between webkit and support library
objects for already implemented post-L classes:
1. ServiceWorkerController
2. ServiceWorkerWebSettings
3. WebResourceError

Bug:  836339 
Change-Id: I334d17153eb8d71834e1fafc43676bc2c706b4e2
Reviewed-on: https://chromium-review.googlesource.com/1027815
Commit-Queue: Gustav Sennton <gsennton@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554356}
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/glue/BUILD.gn
[add] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/glue/java/src/com/android/webview/chromium/WebResourceErrorAdapter.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/glue/java/src/com/android/webview/chromium/WebkitToSharedGlueConverter.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/callback/BUILD.gn
[add] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebResourceError.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibServiceWorkerSettingsAdapter.java
[modify] https://crrev.com/db9520ce98b750e578caf7270eee0c5130a0e1fb/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java

Blockedon: 837815
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 30 2018

Labels: merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ca19570d6f478a845897df912efdd7d649af0686

commit ca19570d6f478a845897df912efdd7d649af0686
Author: Gustav Sennton <gsennton@google.com>
Date: Mon Apr 30 19:12:46 2018

[android webview] properly support per-method feature detection.

To properly support per-method feature detection we need to allow
converting back and forth between support library and frameworks
classes.
This CL adds support for converting between webkit and support library
objects for already implemented post-L classes:
1. ServiceWorkerController
2. ServiceWorkerWebSettings
3. WebResourceError

This is a cherry-pick to 67.

Bug:  836339 
Change-Id: I334d17153eb8d71834e1fafc43676bc2c706b4e2
Reviewed-on: https://chromium-review.googlesource.com/1027815
Commit-Queue: Gustav Sennton <gsennton@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554356}(cherry picked from commit db9520ce98b750e578caf7270eee0c5130a0e1fb)
Reviewed-on: https://chromium-review.googlesource.com/1034533
Cr-Commit-Position: refs/branch-heads/3396@{#391}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/glue/BUILD.gn
[add] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/glue/java/src/com/android/webview/chromium/WebResourceErrorAdapter.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/glue/java/src/com/android/webview/chromium/WebkitToSharedGlueConverter.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/callback/BUILD.gn
[add] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebResourceError.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibServiceWorkerSettingsAdapter.java
[modify] https://crrev.com/ca19570d6f478a845897df912efdd7d649af0686/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java

Keeping this open until  crbug.com/837815  is done. Otherwise this is done.
Status: Fixed (was: Assigned)
Closing as per comment #4
 ntfschr@ can we mark it has verified this issue? as this don't manual steps to verify?

Status: Verified (was: Fixed)
Gustav verified this as he landed it, no other manual verification necessary.

Sign in to add a comment