remove unused vars
use gesture handler
change callback name, pass selected text back
do not use deprecate setTarget
do not call super on methodSignatureForSelector twice
add checks for custom menu items and callback
make custom params optional
add custom menu items outside of initWithFrame
require key and label for menuItems
fix typo
* feat: add prop to allow nested scroll on android
When set to true, this prop allow to scroll inside the webview when the webview is inside a scrollview on android
* docs: nestedScrollEnabled prop usage
* Apple Pay support in ios Webview
* Apple Pay example
* rename prop to enableApplePay
* disable js evaluation if enableApplePay set to true
* documentation update for apple pay support
* Added POST request support for Windows.
* Cleanup formatting for docs
* Updated test certificate
* Reverted publisher name and fixed password mismatch
* Fixes to Windows tests
* Remove winappdriver install
* Run react-native server in background
* Added url encoded form support
* Added support for custom headers
Co-authored-by: Kennedy Mumo <kemumo@microsoft.com>
* Add support for iOS-specific prop `limitsNavigationsToAppBoundDomains`
* Add check for `limitsNavigationsToAppBoundDomains` property
Turns out that @available is simply bugged right
now in Xcode and will pretty much always return
`true`. Adding a check for the property actually
existing as well will avoid iOS <14 crashing horribly.
* Improve documentation
Co-authored-by: Thibault Malbranche <thibault.malbranche@epitech.eu>
* Added allowUniversalAccessFromFileURLs property to iOS and macOS
Updated the types to include allowUniversalAccessFromFileURLs and allowFileAccessFromFileURLs for iOS and macOS
Updated the Reference.md to include in the allowUniversalAccessFromFileURLs section iOS and macOS
* Updated platform in the type definition
* fix:iOS13 scrollView.automaticallyAdjustsScrollIndicatorInsets default value YES which make the webview vertical indicator position in wrong offset
* added types and doc
Co-authored-by: BillHsieh <xietian@meitunmama.com>
Co-authored-by: xietian <xietian@innotechx.com>
Co-authored-by: Thibault Malbranche <thibault.malbranche@epitech.eu>
Co-authored-by: Thibault Malbranche <malbranche.thibault@gmail.com>
BREAKING CHANGE:
This release introduces the `setSupportMultipleWindows` prop for Android. This sets the underlying Android WebView setting `setSupportMultipleWindows`. This prop defaults to `true` (previously `false`), and serves to mitigate the security advisory [CVE-2020-6506](https://github.com/react-native-webview/react-native-webview/security/advisories/GHSA-36j3-xxf7-4pqg).
The primary way this new behavior changes existing React Native WebView implementations on Android is that links that open in new tabs/windows (such as `<a target="_blank">`) will now prompt to open in the system browser, rather than re-using the current WebView.
If this behavior is not desirable, you can set this new prop to `false`, but be aware that this exposes your app to the security vulnerability listed above. Make sure you have read and understand the whole advisory and relevant links.
iOS & Windows are unaffected.
```jsx
<WebView
// ...
setSupportMultipleWindows={true} // default: true
/>
```
Thanks to @mrcoinbase, @kelset, and @Titozzz for their work on this.
* Add pull to refresh support for iOS
* Add pull to refresh control removal from WebView
* Add the type and reference description about pull to refresh
* Set bounces to true when enabling pull to refresh, add references
* Add the back to props anchor to pullToRefreshEnabled
* Add isTopFrame to shouldStartLoadForRequest on iOS
onLoadingStart is not raised for inner frames, but onShouldStartLoadWithRequest still is. This keeps that behavior but adds isTopFrame to onShouldStartLoadWithRequest so that apps can perform their own filtering if desired.
* Update docs
Co-authored-by: Jamon Holmgren <jamonholmgren@gmail.com>
This allows overriding iPadOS 13's desktop-class browsing to load mobile content instead of desktop content.
Co-authored-by: Jamon Holmgren <jamonholmgren@gmail.com>
`onFileDownload` is called with the URL that you can use to download the file.
When RNCWebView detects that the HTTP response should result in a file download,
`onFileDownload` is called. The client can then provide code to download
the file.
RNCWebView determines that a file download should take place if either of the
following is true:
1. The HTTP response contains a `Content-Disposition` header that is of type
'attachment'
2. The MIME type of the response cannot be rendered by the iOS WebView