fix: Fix JavaScript handlers in InAppBrowser for Android #2428
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Android InAppBrowserActivity would not call
prepareAndAddUserScripts
whenWebViewFeature.DOCUMENT_START_SCRIPT
, which would prevent shims likecallHandler
from being injected.Fix this by calling
prepareAndAddUserScripts
during OnCreate.Other injections were likely also broken but this is the one I needed.
I also added an integration test for JavaScript handlers in in_app_browser. This test fails without this change on Android emulators 33+.
Connection with issue(s)
Resolve issue #1973
Testing and Review Notes
So far as I can tell, we do not need to wrap
prepareAndAddUserScripts
to check ifWebViewFeature.DOCUMENT_START_SCRIPT
is supported to prevent a double call, asaddPluginScript
does this already.