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

Issue 788174 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Jun 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 832560



Sign in to add a comment

Determine which android.webkit classes are app-facing or should be passed between the webview support library and webview glue

Project Member Reported by gsennton@chromium.org, Nov 23 2017

Issue description

We won't want to duplicate / work with all of the classes in the android.webkit package under [android-project]/frameworks/base/core/java/android/webkit/. We only want to work with the ones that apps can use - i.e. the classes with public APIs.

One way of doing this would be to just manually list the classes that are public - another is to read android api files (e.g. api/21.txt).

Furthermore, different classes will be used in different ways. I think there are two major class types here:
1. classes implemented on the support library side (WebViewClient, WebMessage, etc.)
2. classes implemented in the webview APK (WebSettings, ServiceWorkerController, etc.)

note that the WebView + WebViewProvider + WebViewFactoryProvider classes are a bit special since WebView is implemented in android.webkit, by calling into WebViewProvider/WebViewFactoryProvider - most other classes fetched from the webview APK (e.g. the implementation of WebSettings) implement an app-facing API and are just passed directly from the glue layer to the app.


I believe you can tell which classes belong to which type (1/2) by looking at how the classes are fetched / used - all classes of type 1 are passed into the webview apk code through some setter/post (e.g. setWebViewClient), classes of type 2 have no such setter and instead provide a getter (e.g. WebView.getSettings returns WebSettings) - though some classes of type 1 also have a getter (e.g. getWebViewClient()).
 
Blocking: -788172
Blocking: -788138
Blocking: 832560
Status: WontFix (was: Assigned)
Closing this for now since we're no longer pursuing code generation for the support library.

Sign in to add a comment