mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
android: allow whitelisting urls to bypass default webview loading
Summary: This is a workaround for missing PDF url support in Android WebView, which is a general known issue: when tapping a PDF url within WebView, instead of doing nothing, we just let android default intent handle it (e.g. it will open Chrome to load it). This is basically to trick `shouldOverrideUrlLoading()` to return true for the specific url. The drawback is that product code needs to provide the whitelist. The proper fix would be to use PdfRenderer in that method, but it seems like it's only for API >= 21... Differential Revision: D5619383 fbshipit-source-id: f86b930f970dab9a5f57999df69ce94b9508edc9
This commit is contained in:
committed by
Facebook Github Bot
parent
1cc7ae2ae1
commit
40a2885847
@@ -195,6 +195,15 @@ class WebView extends React.Component {
|
||||
* @platform android
|
||||
*/
|
||||
saveFormDataDisabled: PropTypes.bool,
|
||||
|
||||
/**
|
||||
* Used on Android only, controls whether the given list of URL prefixes should
|
||||
* make {@link com.facebook.react.views.webview.ReactWebViewClient} to launch a
|
||||
* default activity intent for those URL instead of loading it within the webview.
|
||||
* Use this to list URLs that WebView cannot handle, e.g. a PDF url.
|
||||
* @platform android
|
||||
*/
|
||||
urlPrefixesForDefaultIntent: PropTypes.arrayOf(PropTypes.string),
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
@@ -276,6 +285,7 @@ class WebView extends React.Component {
|
||||
allowUniversalAccessFromFileURLs={this.props.allowUniversalAccessFromFileURLs}
|
||||
mixedContentMode={this.props.mixedContentMode}
|
||||
saveFormDataDisabled={this.props.saveFormDataDisabled}
|
||||
urlPrefixesForDefaultIntent={this.props.urlPrefixesForDefaultIntent}
|
||||
/>;
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user