We have several options for how the Support library WebView can be implemented:
1. compat.WebView is a subclass of android.webkit.WebView.
2. compat.WebView has a member of type android.webkit.WebView.
3. compat.WebView inherits from the superclass of android.webkit.WebView (AbsoluteLayout), and doesn’t rely on any code from android.webkit.*
Option nr.1 doesn't work because we want the support library to not rely on the Android version of the device - if we subclass WebView we are still heavily connected to the Android version of the device.
Option 2 doesn't really make sense on L+ because we would still depend on classes from the Android version on the device instead of our own custom-created support-library classes.
So option nr.3 seems like the most promising solution - using reflection into support_lib_glue on L+ devices, and using the android.webkit.WebViewProvider on KitKat (if we want to support KK).
Comment 1 by boliu@chromium.org
, Jul 17 2017