AW: implement support lib callbacks
This implements support library callbacks (WebViewclientCompat). This
creates a new layer (support_library/callback) which the glue layer
depends on. This dependency lets us instantiate a
SupportLibWebViewContentsClientAdapter inside setWebViewClient(), and
benefit from the glue layer's parameter cleanup code (e.g., in
onReceivedError2()).
The support_library/callback glue must be a separate layer from
support_library/ glue, as that already depends on the webkit glue to
initiate state. Implementing callbacks as a separate target avoids the
circular dependency.
This refactors the (post-L) glue layer callback methods to take the
following precedence:
1. SupportLibWebViewContentsClientAdapter (if it supports the callback)
2. WebViewClient (if on the appropriate platform level)
3. Default behavior (implementation provided by the glue layer)
This implements both category 1 and 2 APIs.
Design doc: http://go/wv-support-library-callbacks
Bug: 781764
Test: manual - built test application with latest support-lib changes
Change-Id: I21e28493873e670cfd428c7eeef12b0e212aeec4
Reviewed-on: https://chromium-review.googlesource.com/989015
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Gustav Sennton <gsennton@chromium.org>
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#548538}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f3b8b74e8f237e377d65145879790dc5a222fb9b
2 files changed