Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a macOS implementation of WebView and a macOS example app #1164

Merged
merged 49 commits into from
Feb 12, 2020

Conversation

tom-un
Copy link
Contributor

@tom-un tom-un commented Jan 23, 2020

Summary

This change adds a macOS implementation of the component. It shares the same Objective C source as the iOS implementation and as such is also based on Apple's WKWebView class.

The Apple WKWebView is nearly identical between iOS and macOS but is missing an important property: scrollView. The biggest impact is that the onScroll events cannot be handled on mac. Similarly, the <WebView> backgroundColor property can't be fully implemented. On iOS backgroundColor sets the color of the scrollView. In lieu of access to scrollView, it is possible to make the mac WKWebView background transparent, so if backgroundColor's alpha channel is fully transparent I make the WKWebView transparent. Also on iOS, if the <WebView> scrollEnabled prop is false, it disables scrolling on the scrollView. On macOS I implemented scroll disabling by subclassing WKWebView and overriding scrollWheel:.

The PR introduces something new: it takes a dependency on a "out-of-tree" platform for the first time. The FB react-native repo of course contains android and ios implementations, but the macOS implementation is in a separate repo. Having two react-native implementations in node_modules creates some challenges for the metro bundler. The metro issue is being discussed here react-native-community/discussions-and-proposals#182, but in lieu of an "official" solution I'm using a workaround involving react-native.config.js and a pair of metro.config.js files for the two react-native implementations.

For the first iteration of the PR I'm consuming react-native-macos via the git: url to the repo, but I'm separately working on getting react-native-macos published as its own npm package and will switch to using the real package shortly.

react-native-macos doesn't yet have a CLI package so it's not yet possible to do react-native run-macos. It's on our near term list of things to develop but in the meantime testing is a bit more manual than ios or android: it involves opening the macOS example XCode project manually and starting the bundler via yarn start:macos.

Test Plan

The macOS implementation was tested using a new macOS test app parallel to the recently added ios and android test apps.

WebView-macos

What's required for testing (prerequisites)?

The prerequisites for testing macOS are identical to iOS: https://facebook.github.io/react-native/docs/getting-started.

What are the steps to reproduce (after prerequisites)?

$ cd react-native-webview
$ yarn install
$ open example/macos/example.xcodeproj
$ yarn start:macos

In XCode, select the example-macos target and Run.

The three test pages in the example app function except that you'll notice on the "Scrolling" page that scrolling the WebView's contents do not trigger onScroll events as occur on iOS and Android.

In addition, iOS and Android were re-tested via yarn start:ios and yarn start:android.

Compatibility

OS Implemented
iOS ✅❌
Android ✅❌
macOS ✅❌

Checklist

  • I have tested this on a device and a simulator
  • I added the documentation in README.md
  • I mentioned this change in CHANGELOG.md
  • I updated the typed files (TS and Flow)
  • I added a sample use of the API in the example project (example/App.js)

@shirakaba
Copy link
Contributor

shirakaba commented Feb 7, 2020

Just came across this PR! Very excited to see macOS activity in community repos.

I like the approach of using compiler directives for adding macOS as a platform as it greatly reduces the maintenance burden, given how similar macOS's WKWebView is to that of iOS.

It's a fossil now, but I ported react-native-wkwebview to ptmt's react-native-macos a couple of years ago. I found for that port that there was nothing to change, relative to the iOS version, beyond addressing any references to the scrollView and backgroundColor.

Sadly, I did ask the WebKit team at the time to expose the scroll view and they confirmed that they were "tracking it internally", but evidently still no progress. They're asking for enhancement requests again as of December, but it's a bit too late to help the react-native-macos effort.

We'll have to take care about how the lack of a scrollView interacts with React Native Reanimated, but as Reanimated support #1102 is still pending, we can revisit that later.

Of note: the macOS version of WKWebView uniquely has a allowsMagnification property that needs to be set to TRUE to support pinch-to-zoom on macOS just as in Safari.

@shirakaba
Copy link
Contributor

The biggest impact is that the onScroll events cannot be handled on mac.

I wonder if we could forward scroll events some other way. For instance, would it be acceptable to inject a WKUserScript, atDocumentStart and forMainFrameOnly that attaches a scroll event listener to the window and fires events to the WKWebView's script message handler? This message handler could then forward the event to React Native.

Current scroll offset, if users need to access it as a property, can be determined by window.pageXOffset and window.pageYOffset. The main thing I haven't found is a way to read the current zoom factor.

@tom-un
Copy link
Contributor Author

tom-un commented Feb 7, 2020

The biggest impact is that the onScroll events cannot be handled on mac.

I wonder if we could forward scroll events some other way. For instance, would it be acceptable to inject a WKUserScript, atDocumentStart and forMainFrameOnly that attaches a scroll event listener to the window and fires events to the WKWebView's script message handler? This message handler could then forward the event to React Native.

Current scroll offset, if users need to access it as a property, can be determined by window.pageXOffset and window.pageYOffset. The main thing I haven't found is a way to read the current zoom factor.

Thanks @shirakaba ! That sounds like a reasonable way to work around the lack of scrollView. Although I would prefer it be added in a later PR. Same for allowsMagnification prop.

src/WebViewTypes.ts Outdated Show resolved Hide resolved
Comment on lines +54 to +55
// no native implementation for macOS, depends only on permissions
return true;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be false?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assumed it would be the same as iOS. On Android there is an actual native module method that gets called. On iOS (and now macOS) there is no native method, so it just returns true.

Copy link
Collaborator

@safaiyeh safaiyeh Feb 12, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, I'll check that out separate from this PR.

@safaiyeh
Copy link
Collaborator

Also is the example target needed in the macOS example? Could it be removed and just have the macOS target?

@tom-un
Copy link
Contributor Author

tom-un commented Feb 11, 2020

Also is the example target needed in the macOS example? Could it be removed and just have the macOS target?

I added the iOS target to the mac xcodeproj just because it makes it really easy to test that iOS still builds and runs when making macOS changes.

@tom-un tom-un requested a review from safaiyeh February 11, 2020 06:14
@safaiyeh
Copy link
Collaborator

Also is the example target needed in the macOS example? Could it be removed and just have the macOS target?

I added the iOS target to the mac xcodeproj just because it makes it really easy to test that iOS still builds and runs when making macOS changes.

That sounds good!

@tom-un tom-un closed this Feb 12, 2020
@tom-un tom-un reopened this Feb 12, 2020
@safaiyeh safaiyeh merged commit 1e57231 into react-native-webview:master Feb 12, 2020
react-native-community-bot pushed a commit that referenced this pull request Feb 12, 2020
# [8.1.0](v8.0.6...v8.1.0) (2020-02-12)

### Features

* **macOS:** macOS Support ([#1164](#1164)) ([1e57231](1e57231))
@react-native-community-bot
Copy link
Collaborator

🎉 This PR is included in version 8.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

shirakaba added a commit to shirakaba/react-native-webview that referenced this pull request Feb 19, 2020
…a/animated-support

* commit '118663287acec269203c3850891cf145dc12f06e':
  chore(release): 8.1.1 [skip ci]
  fix(Android): Don't show camera options for a file upload when they can not be used (react-native-webview#1210)
  chore(docs): Fix Getting Started Guide link in Breaking History (react-native-webview#1213)
  chore(docs): Update Android assets path (react-native-webview#1173)
  chore(docs): Update cookie links (react-native-webview#1149)
  chore(Android): Convert RNCWebViewPackage to Kotlin (react-native-webview#1194)
  chore(release): 8.1.0 [skip ci]
  feat(macOS): macOS Support (react-native-webview#1164)
shirakaba added a commit to shirakaba/react-native-webview that referenced this pull request Feb 19, 2020
…a/updatable-user-scripts

* commit '118663287acec269203c3850891cf145dc12f06e':
  chore(release): 8.1.1 [skip ci]
  fix(Android): Don't show camera options for a file upload when they can not be used (react-native-webview#1210)
  chore(docs): Fix Getting Started Guide link in Breaking History (react-native-webview#1213)
  chore(docs): Update Android assets path (react-native-webview#1173)
  chore(docs): Update cookie links (react-native-webview#1149)
  chore(Android): Convert RNCWebViewPackage to Kotlin (react-native-webview#1194)
  chore(release): 8.1.0 [skip ci]
  feat(macOS): macOS Support (react-native-webview#1164)
  chore(release): 8.0.6 [skip ci]
  fix(Android): Revert "Redirected URLs now redirect correctly. (react-native-webview#991)" (react-native-webview#1177)
  chore(release): 8.0.5 [skip ci]
  fix(Android): Redirected URLs now redirect correctly. (react-native-webview#991)
  chore(example): Added three test examples: Alerts, Scrolling, and Background.
  chore(release): 8.0.4 [skip ci]
  fix(iOS): Meta method 'UIScrollViewContentInsetAdjustmentBehavior:' conflict warning
  chore(example): Added example app
  chore(iOS): Extract wkWebViewConfig setup to setUpWkWebViewConfig function
  chore(release): 8.0.3 [skip ci]
  fix(whitelisted origins): Prevent handling of un-whitelisted URLs
  chore(README): Lean Core badge

# Conflicts:
#	ios/RNCWebView.m
@tom-un tom-un deleted the tomun/macos branch February 27, 2020 17:00
noproblem23 added a commit to noproblem23/react-native-webview that referenced this pull request Apr 18, 2023
github-actions bot pushed a commit to CodinDotTop/react-native-webview that referenced this pull request Sep 13, 2023
# 1.0.0 (2023-09-13)

### Bug Fixes

* **android:** add null reference check for onMessage on android ([#770](https://github.com/CodinDotTop/react-native-webview/issues/770)) ([12db695](https://github.com/CodinDotTop/react-native-webview/commit/12db6956a98faeb381bf495eff1549a274ef654f))
* **docs:** Reference documentation updates for menuItems ([#3046](https://github.com/CodinDotTop/react-native-webview/issues/3046)) ([fcd6050](https://github.com/CodinDotTop/react-native-webview/commit/fcd60508dc861be651dd7d8e748eade98e44ad75))
* **ios:** Fixes new ios clearCache method where it wasn't getting attached ([#3122](https://github.com/CodinDotTop/react-native-webview/issues/3122) by [@jamonholmgren](https://github.com/jamonholmgren) and [@robinheinze](https://github.com/robinheinze)) ([f101eaf](https://github.com/CodinDotTop/react-native-webview/commit/f101eafd1d35b28ab16185c7f9164d5c6512f097))
* build on 0.72 new arch ([#2997](https://github.com/CodinDotTop/react-native-webview/issues/2997)) ([7ceeb2f](https://github.com/CodinDotTop/react-native-webview/commit/7ceeb2f959c5477956386fc55f2da4220c917889))
* Revert didMoveToSuperview back to didMoveToWindow ([#3041](https://github.com/CodinDotTop/react-native-webview/issues/3041)) ([836f717](https://github.com/CodinDotTop/react-native-webview/commit/836f71768ee03481d1e09af6d0156775ac988b5e))
* **android:** add null-pointer check for `activity` before creating `RNCWebChromeClient` (closes [#1406](https://github.com/CodinDotTop/react-native-webview/issues/1406), [#2190](https://github.com/CodinDotTop/react-native-webview/issues/2190)) ([#2240](https://github.com/CodinDotTop/react-native-webview/issues/2240)) ([9b14584](https://github.com/CodinDotTop/react-native-webview/commit/9b14584b78c386b0282a4ae99f6b47af1694e0a3))
* **android:** Adding mavenCentral() as jcenter() is shutting down ([#1961](https://github.com/CodinDotTop/react-native-webview/issues/1961)) ([015054c](https://github.com/CodinDotTop/react-native-webview/commit/015054c2f5db0a3931dba3b44a43041fba155cb5))
* **android:** cacheEnabled - make compatible with android sdk-33 ([#2583](https://github.com/CodinDotTop/react-native-webview/issues/2583)) ([7f78f20](https://github.com/CodinDotTop/react-native-webview/commit/7f78f206170b0a8f29b467fa2cc546544e9cd300))
* **android:** Changing ThemedReactContext to ReactContext to allow custom stuff ([#1994](https://github.com/CodinDotTop/react-native-webview/issues/1994)) ([7b71364](https://github.com/CodinDotTop/react-native-webview/commit/7b71364a9cb91d43b10e1c9dcfabf75253d3514d))
* **android:** fixed issue with refactor ([ff08b11](https://github.com/CodinDotTop/react-native-webview/commit/ff08b11e500334198e1cf2cc02724ef10fb18c91)), closes [#2538](https://github.com/CodinDotTop/react-native-webview/issues/2538)
* **android:** onPermissionRequest duplicate ([#2002](https://github.com/CodinDotTop/react-native-webview/issues/2002)) ([bba5907](https://github.com/CodinDotTop/react-native-webview/commit/bba590790662336ddb5f444737233bb88e6f48ac))
* **android:** read minSdkVersion from root project ([#1960](https://github.com/CodinDotTop/react-native-webview/issues/1960)) ([768092b](https://github.com/CodinDotTop/react-native-webview/commit/768092bba743c93aaf9c07e75cf908b62d7e7e6c))
* **android:** Respect "filename*" parameter in the field Content-Disposition when detecting filenames for downloading. ([#2767](https://github.com/CodinDotTop/react-native-webview/issues/2767)) ([47c05b0](https://github.com/CodinDotTop/react-native-webview/commit/47c05b0fba21fde471ca6c3aacf7b75756b6a52e))
* **android:** revert change ThemedReactContext to ReactContext ([8a45fcf](https://github.com/CodinDotTop/react-native-webview/commit/8a45fcf7f9d95ca589b0af9413911cfa3d25338a))
* **autolink-windows:** enable autolinking on Windows ([9114b78](https://github.com/CodinDotTop/react-native-webview/commit/9114b78d419d9d5a548e545b790a9c025e46dd63))
* **ci:** Upgrade to node 14 ([0b0a406](https://github.com/CodinDotTop/react-native-webview/commit/0b0a4069c8396c9e3c9b911d3db4f5da2a67e0a2))
* **deps:** Bump React Native version range to accept 0.64 ([#1967](https://github.com/CodinDotTop/react-native-webview/issues/1967) by [@dulmandakh](https://github.com/dulmandakh)) ([863a0e2](https://github.com/CodinDotTop/react-native-webview/commit/863a0e2408c90b1d1225e812ca80e138942c041b))
* **ios:** support requestFocus ([#2501](https://github.com/CodinDotTop/react-native-webview/issues/2501)) ([41ae896](https://github.com/CodinDotTop/react-native-webview/commit/41ae8965115b7a028d5409dd4dc36bd4544f8300))
* **iOS:** add null check safety for adding mainDocumentURL to event ([#2662](https://github.com/CodinDotTop/react-native-webview/issues/2662)) ([6c00c1f](https://github.com/CodinDotTop/react-native-webview/commit/6c00c1f9f38513f95bc44d9f3dba668c79629348))
* **iOS:** Adding the contentProcessDidTerminate property into useWebViewLogic hook arguments (fixes [#2559](https://github.com/CodinDotTop/react-native-webview/issues/2559)) ([#2580](https://github.com/CodinDotTop/react-native-webview/issues/2580)) ([045fb60](https://github.com/CodinDotTop/react-native-webview/commit/045fb602e374374beba56f6316920985c297b34f))
* **iOS:** Foundation Import ([#2917](https://github.com/CodinDotTop/react-native-webview/issues/2917)) ([a2eec17](https://github.com/CodinDotTop/react-native-webview/commit/a2eec1700271f43af1ba43bd95ad60be11d55877)), closes [#2915](https://github.com/CodinDotTop/react-native-webview/issues/2915)
* **macOS:** address regression due to didMoveToSuperview ([#3006](https://github.com/CodinDotTop/react-native-webview/issues/3006)) ([41576ca](https://github.com/CodinDotTop/react-native-webview/commit/41576ca9a7d5d0a9470f2e4227a9d2128d7727c2))
* Revert "Missing android.support.FILE_PROVIDER_PATHS meta-data on some OEMs ([#2952](https://github.com/CodinDotTop/react-native-webview/issues/2952))" ([e17a79b](https://github.com/CodinDotTop/react-native-webview/commit/e17a79b9aa1ea41c9e52ae67fb6afd91cfa144f2))
* **android:** Prevent crash from unsupported URI downloads ([#2328](https://github.com/CodinDotTop/react-native-webview/issues/2328)) ([7f95a7f](https://github.com/CodinDotTop/react-native-webview/commit/7f95a7fff4fd09c68bec06ee344581ba3da2295d))
* **Android:** Don't crash while downloading file with % in filename ([#2861](https://github.com/CodinDotTop/react-native-webview/issues/2861)) ([81e3aa4](https://github.com/CodinDotTop/react-native-webview/commit/81e3aa4ecd531220d1ec1da0711195dc6ebdc781))
* **dependencies:** Simplify react-native version management ([f8a1ba2](https://github.com/CodinDotTop/react-native-webview/commit/f8a1ba2ebc56a52030443b491bde14b1c86ec189)), closes [/github.com/react-navigation/react-navigation/blob/main/packages/native/package.json#L56-L59](https://github.com//github.com/react-navigation/react-navigation/blob/main/packages/native/package.json/issues/L56-L59)
* **ios:** fix userAgent ios type comment ([#2888](https://github.com/CodinDotTop/react-native-webview/issues/2888)) ([4d0c0de](https://github.com/CodinDotTop/react-native-webview/commit/4d0c0dea008c53dc8f4cd8760e90c008b098234d))
* **iOS:** compilation error ([c036706](https://github.com/CodinDotTop/react-native-webview/commit/c03670685bea0116084168adc982e7a8394f75a2))
* **iOS/macOS:** re-added missing properties due to hooks refactor ([453d22d](https://github.com/CodinDotTop/react-native-webview/commit/453d22d1f16cfb1bd82d4963747fc7da4a8e1ba6))
* **jcenter:** remove jcenter ([#2178](https://github.com/CodinDotTop/react-native-webview/issues/2178)) ([283c18b](https://github.com/CodinDotTop/react-native-webview/commit/283c18b379c860454fc7745370fc100f62a13032))
* **js:** messagingEnabled prop ([#2666](https://github.com/CodinDotTop/react-native-webview/issues/2666)) ([f74ee7a](https://github.com/CodinDotTop/react-native-webview/commit/f74ee7a88adf6d645f2ef80da6657b68f5d6959d))
* **logs:** remove warning logs for common/handled error events. ([#2043](https://github.com/CodinDotTop/react-native-webview/issues/2043)) ([279d6ae](https://github.com/CodinDotTop/react-native-webview/commit/279d6ae98c449b3c2d9ab2cc567f99bcc6e298b6))
* **macos:** mediaCapturePermissionGrantType is iOS only ([#2313](https://github.com/CodinDotTop/react-native-webview/issues/2313)) ([69cafd1](https://github.com/CodinDotTop/react-native-webview/commit/69cafd1d20a538426ec387fb48e4709dfe4a6afd))
* **macOS:** failing build due to missing TARGET_OS_OSX ([3d7b9ca](https://github.com/CodinDotTop/react-native-webview/commit/3d7b9cac6e0cfad0fb40707c7120ef591580f5e0))
* **refactor:** Converting dispatchEvent static method to non static method ([#1939](https://github.com/CodinDotTop/react-native-webview/issues/1939)) ([344ccce](https://github.com/CodinDotTop/react-native-webview/commit/344ccce3eead04d7b974d3c0e82c281b5bf54a3a))
* **types:** Mark android-only methods as possibly undefined ([#2362](https://github.com/CodinDotTop/react-native-webview/issues/2362)) ([1b0fd64](https://github.com/CodinDotTop/react-native-webview/commit/1b0fd6481d88852e7d1d2744f3878c664f047010))
* **types:** Remove references to nonexistent extraNativeComponentConfig prop ([#1958](https://github.com/CodinDotTop/react-native-webview/issues/1958)) ([c1e91f7](https://github.com/CodinDotTop/react-native-webview/commit/c1e91f7d7368d5ae72de0fb171049a8e7f46b8aa))
* **windows:** add Visual Studio 2022 toolset (so it doesn't fall back to v140) ([#2297](https://github.com/CodinDotTop/react-native-webview/issues/2297)) ([d665456](https://github.com/CodinDotTop/react-native-webview/commit/d6654560983f3e80ffde69536d72afc6f6bda84c))
* **windows:** Add WinUI Version Opt In Functionality ([#2575](https://github.com/CodinDotTop/react-native-webview/issues/2575)) ([3727f81](https://github.com/CodinDotTop/react-native-webview/commit/3727f81caf337c88cb1fbd6a08397dd71670eed0))
* **windows:** don't build WebView2 unless on WinUI 3 ([#2517](https://github.com/CodinDotTop/react-native-webview/issues/2517)) ([0571062](https://github.com/CodinDotTop/react-native-webview/commit/05710628128815fc5fb2f1c48e467a78d1b5a1e7))
* **windows:** Refactor JS Code for Windows ([#2554](https://github.com/CodinDotTop/react-native-webview/issues/2554)) ([b7f5c6f](https://github.com/CodinDotTop/react-native-webview/commit/b7f5c6f4970e4da179da1942b527427bdabbda37))
* cannot find `react-native-test-app` when Metro starts ([#2413](https://github.com/CodinDotTop/react-native-webview/issues/2413)) ([c6471ed](https://github.com/CodinDotTop/react-native-webview/commit/c6471edd04b5ededfcdd7b2c84aaec132e682016))
* Don't crash if trying to download "invalid" URIs on Android ([#2432](https://github.com/CodinDotTop/react-native-webview/issues/2432)) ([c424a49](https://github.com/CodinDotTop/react-native-webview/commit/c424a496a009507432e6a3fff3eacb1099f634a3))
* **android:** add missing null check for fileTypes ([#1368](https://github.com/CodinDotTop/react-native-webview/issues/1368) by [@bengy](https://github.com/bengy)) ([4f0f0af](https://github.com/CodinDotTop/react-native-webview/commit/4f0f0afe70cf32739878932e236bfebbdee02a88))
* **android:** Add SSL error handling for Android WebView ([#1450](https://github.com/CodinDotTop/react-native-webview/issues/1450) by [@thephpjedi](https://github.com/thephpjedi)) ([1bd5961](https://github.com/CodinDotTop/react-native-webview/commit/1bd596125599af1cbba6964876e305bb42a4e4cf)), closes [#259](https://github.com/CodinDotTop/react-native-webview/issues/259)
* **android:** Added fallback poster image to prevent crashes ([#1036](https://github.com/CodinDotTop/react-native-webview/issues/1036)) ([d8acd90](https://github.com/CodinDotTop/react-native-webview/commit/d8acd9086ccc7c18bfd1a81e3dfa833137ea186a))
* **android:** Allow scrolling inside ScrollView ([#281](https://github.com/CodinDotTop/react-native-webview/issues/281)) ([a5cb7ba](https://github.com/CodinDotTop/react-native-webview/commit/a5cb7ba65c65a68ba714272df21fcef16728e56a))
* **android:** Allow user to rotate fullscreen video (Android X) ([#816](https://github.com/CodinDotTop/react-native-webview/issues/816)) ([1ea05d3](https://github.com/CodinDotTop/react-native-webview/commit/1ea05d3115b4404d9b7232e4e951021bcfe2bb8f))
* **android:** Annotate RNCWebViewModule with @ReactModule to comply with latest changes ([#459](https://github.com/CodinDotTop/react-native-webview/issues/459)) ([f6e208b](https://github.com/CodinDotTop/react-native-webview/commit/f6e208be61031f1d367b3b7b74c575287ab5d165))
* **android:** Blank screen due to missing super() call in RNCWebViewManager.java ([#241](https://github.com/CodinDotTop/react-native-webview/issues/241)) ([4e1d113](https://github.com/CodinDotTop/react-native-webview/commit/4e1d113c7024f4f61c64751d369e09565be4e3b1)), closes [#240](https://github.com/CodinDotTop/react-native-webview/issues/240) [#224](https://github.com/CodinDotTop/react-native-webview/issues/224)
* **android:** Broken build due to conditional import of kotlin ([#1412](https://github.com/CodinDotTop/react-native-webview/issues/1412)) ([7ab2afb](https://github.com/CodinDotTop/react-native-webview/commit/7ab2afbab7a64d58a97723734dc2dad4021f3b9b))
* **android:** changed initial value of nextLockIdentifier from 0 to 1 ([#1689](https://github.com/CodinDotTop/react-native-webview/issues/1689)) ([53c0382](https://github.com/CodinDotTop/react-native-webview/commit/53c0382cd088ca018ca8a550c5ad95556caf00b4))
* **android:** cleanup `build.gradle` & fix [#218](https://github.com/CodinDotTop/react-native-webview/issues/218) ([#238](https://github.com/CodinDotTop/react-native-webview/issues/238)) ([24ec4f7](https://github.com/CodinDotTop/react-native-webview/commit/24ec4f752cdfd29d49b0a13a0035aaea736eb641))
* **android:** crash problem while loading local html resource ([#1010](https://github.com/CodinDotTop/react-native-webview/issues/1010)) ([05c286f](https://github.com/CodinDotTop/react-native-webview/commit/05c286fc23373c99f2adba478c71a31dcb981898))
* **android:** Do not hold a strong reference to native module in the package ([#434](https://github.com/CodinDotTop/react-native-webview/issues/434)) ([566a629](https://github.com/CodinDotTop/react-native-webview/commit/566a6292b473127e1a8674c3140c9a585a4736bb))
* **android:** duplicate `setWebChromeClient()` overwrite ([#1417](https://github.com/CodinDotTop/react-native-webview/issues/1417)) ([2f8c4c5](https://github.com/CodinDotTop/react-native-webview/commit/2f8c4c506725b3f17d352317f6c7ce28a6917bb1))
* **android:** Filter extra onLoadProgress & add url event ([#643](https://github.com/CodinDotTop/react-native-webview/issues/643)) ([fc59cae](https://github.com/CodinDotTop/react-native-webview/commit/fc59cae4bfaf6ab9d9f887565c65e3657d798f44))
* **android:** Fix ClassCastException when doing native things([#987](https://github.com/CodinDotTop/react-native-webview/issues/987)) ([7e68da4](https://github.com/CodinDotTop/react-native-webview/commit/7e68da4ffe1e14a6791135b96f4c098856ad0d41))
* **android:** Fix Download on android P  ([#273](https://github.com/CodinDotTop/react-native-webview/issues/273)) ([15d904f](https://github.com/CodinDotTop/react-native-webview/commit/15d904f769935652f24e9ec3c6f0ebd0da17d6c0)), closes [#266](https://github.com/CodinDotTop/react-native-webview/issues/266)
* **android:** Fix full=screen video when in modals ([#1748](https://github.com/CodinDotTop/react-native-webview/issues/1748) by [@cristianoccazinsp](https://github.com/cristianoccazinsp)) ([4f469ee](https://github.com/CodinDotTop/react-native-webview/commit/4f469ee9aab9f6db5f9905c6276dc604d231cd5d))
* **android:** Fix several Android file upload issues ([#1302](https://github.com/CodinDotTop/react-native-webview/issues/1302) by [@hojason117](https://github.com/hojason117)) ([89886c8](https://github.com/CodinDotTop/react-native-webview/commit/89886c820d4812e8806ac5801660aff317b8f5b2))
* **android:** Fixes black screen on back button press ([#1298](https://github.com/CodinDotTop/react-native-webview/issues/1298) by [@michan85](https://github.com/michan85)) ([0317a4b](https://github.com/CodinDotTop/react-native-webview/commit/0317a4b4a5a216610257e5fe99794f2af5cac55c))
* **android:** Improve onLoadProgress consistency ([#1373](https://github.com/CodinDotTop/react-native-webview/issues/1373) by [@hojason117](https://github.com/hojason117)) ([b97d16c](https://github.com/CodinDotTop/react-native-webview/commit/b97d16c23d734fc0812e3acfb1da665625dd8ffe))
* **android:** Move noisy debug logging out of "quiet" log level. ([#844](https://github.com/CodinDotTop/react-native-webview/issues/844)) ([b2cd6b5](https://github.com/CodinDotTop/react-native-webview/commit/b2cd6b54fa903c14098bf7c50cdbd08b776ddb6e))
* **android:** onMessage on android to return baseEvent([#755](https://github.com/CodinDotTop/react-native-webview/issues/755)) ([282f81d](https://github.com/CodinDotTop/react-native-webview/commit/282f81dcddbcfc17ba9a197bb6390da71a323c28))
* **android:** possible NullPointerException ([#965](https://github.com/CodinDotTop/react-native-webview/issues/965)) ([fab77dc](https://github.com/CodinDotTop/react-native-webview/commit/fab77dc82f5076a9b398d17a7345731cca3480e1))
* **android:** redirect and renderLoading issues ([#548](https://github.com/CodinDotTop/react-native-webview/issues/548)) ([b296f24](https://github.com/CodinDotTop/react-native-webview/commit/b296f24dd29aadc0c89333c9b44cccaba203e2d4))
* **android:** renderError - the error status might be overwritte… ([#915](https://github.com/CodinDotTop/react-native-webview/issues/915)) ([01de9e5](https://github.com/CodinDotTop/react-native-webview/commit/01de9e5fa08f3f786abd46beba697f45a8054c01))
* **android:** replace deprecated `WebView.PictureListener`->`onContentSizeChange` impl ([#164](https://github.com/CodinDotTop/react-native-webview/issues/164)) ([9014c4c](https://github.com/CodinDotTop/react-native-webview/commit/9014c4cac0d1caccea94b02d5776bef476272456))
* **android:** Revert scroll update from [#281](https://github.com/CodinDotTop/react-native-webview/issues/281) ([#889](https://github.com/CodinDotTop/react-native-webview/issues/889)) ([8f2ddf4](https://github.com/CodinDotTop/react-native-webview/commit/8f2ddf45425d1e2a096e705b652d95099441ae6f)), closes [#878](https://github.com/CodinDotTop/react-native-webview/issues/878)
* **android:** unable to re-enable hardware acceleration after disabled it ([#553](https://github.com/CodinDotTop/react-native-webview/issues/553)) ([c8977ec](https://github.com/CodinDotTop/react-native-webview/commit/c8977ec7cefebb8e0d6ca6bb6216428353d272c5))
* **android:** Unset mWebChromeClient on WebViewManager rather than WebView ([#1720](https://github.com/CodinDotTop/react-native-webview/issues/1720)) ([c95c0ea](https://github.com/CodinDotTop/react-native-webview/commit/c95c0ea923a4c30225b04ae1c652e1ed6b6fad98))
* **android:** Update SSL error handling ([#1466](https://github.com/CodinDotTop/react-native-webview/issues/1466)) ([ef48d35](https://github.com/CodinDotTop/react-native-webview/commit/ef48d35e95ed780bb011e14a7ae18ef110345142))
* **android:** Updated permissions for Android Q and above ([#1384](https://github.com/CodinDotTop/react-native-webview/issues/1384) by @Karthz) ([03dbcb8](https://github.com/CodinDotTop/react-native-webview/commit/03dbcb870eba625d8231bb4808bd91bec70afd85))
* **android:** updating source.html prop doesn't refresh webview ([#485](https://github.com/CodinDotTop/react-native-webview/issues/485)) ([9aa14f1](https://github.com/CodinDotTop/react-native-webview/commit/9aa14f1a960bb12c725daa5504e99bd438f826ae))
* **android:** webview crash with incognito in Android Lollipop ([#799](https://github.com/CodinDotTop/react-native-webview/issues/799)) ([47e9a0b](https://github.com/CodinDotTop/react-native-webview/commit/47e9a0b97d914fc1489750bc0d7d3955d269012f))
* **Android:** Don't log the cookie when downloading file. ([#1224](https://github.com/CodinDotTop/react-native-webview/issues/1224)) ([2470245](https://github.com/CodinDotTop/react-native-webview/commit/24702450f3fc17bedd8b98ad3f49150f6dba1d94))
* **Android:** Don't show camera options for a file upload when they can not be used ([#1210](https://github.com/CodinDotTop/react-native-webview/issues/1210)) ([4093682](https://github.com/CodinDotTop/react-native-webview/commit/4093682e08a7a047de39046e8e48d9a78b2ad0f2))
* **Android:** Ensure each mounted WebView binds their personal onMessage handler ([#1301](https://github.com/CodinDotTop/react-native-webview/issues/1301)) ([04f9fb2](https://github.com/CodinDotTop/react-native-webview/commit/04f9fb23ba2f67a5e7dcf056e317bcf51c89585f))
* **Android:** geolocation access ([#562](https://github.com/CodinDotTop/react-native-webview/issues/562)) ([409b9ae](https://github.com/CodinDotTop/react-native-webview/commit/409b9ae6204c225da377197b29fc2f009cb21fde))
* **Android:** hardware acceleration issue ([#854](https://github.com/CodinDotTop/react-native-webview/issues/854)) ([9e25e42](https://github.com/CodinDotTop/react-native-webview/commit/9e25e42ceef65b47467860592ae38fb9f03c24df))
* **Android:** on scroll syntax error ([#577](https://github.com/CodinDotTop/react-native-webview/issues/577)) ([cbbff21](https://github.com/CodinDotTop/react-native-webview/commit/cbbff21ea8b946f021e4026ea8079beebc353d3a))
* **Android:** Redirected URLs now redirect correctly. ([#991](https://github.com/CodinDotTop/react-native-webview/issues/991)) ([acf1ad7](https://github.com/CodinDotTop/react-native-webview/commit/acf1ad7560aac450615703b3c8410919dbddecd1))
* **Android:** Resolve crypto error with uuid usage ([#1334](https://github.com/CodinDotTop/react-native-webview/issues/1334)) ([438e292](https://github.com/CodinDotTop/react-native-webview/commit/438e29298b39c54ff70629ca4274c979a67b2b3e))
* **Android:** Revert "Redirected URLs now redirect correctly. ([#991](https://github.com/CodinDotTop/react-native-webview/issues/991))" ([#1177](https://github.com/CodinDotTop/react-native-webview/issues/1177)) ([344aab5](https://github.com/CodinDotTop/react-native-webview/commit/344aab591a920159bbec30f97b42bbb12573824b))
* **Android:** Workaround for chromium bugs 1023678 and 1050635. ([#1221](https://github.com/CodinDotTop/react-native-webview/issues/1221)) ([5d88af4](https://github.com/CodinDotTop/react-native-webview/commit/5d88af44fabc1b061f5814659aacce2e993705f1))
* **Android <input />:** Support file extensions in file input accept attributes ([#357](https://github.com/CodinDotTop/react-native-webview/issues/357)) ([803a3b0](https://github.com/CodinDotTop/react-native-webview/commit/803a3b095b20d7f9af5d5b17eee46cdd1f4f8af8))
* **android sdk 28:** build issue ([#1469](https://github.com/CodinDotTop/react-native-webview/issues/1469)) ([5f823bb](https://github.com/CodinDotTop/react-native-webview/commit/5f823bb77b9fb532dbcbe02811eab2adee42e144))
* **android:scalesPageToFit:** scalesPageToFit does not work as intended , especially for large jpg and png images. ([#275](https://github.com/CodinDotTop/react-native-webview/issues/275)) ([a661df1](https://github.com/CodinDotTop/react-native-webview/commit/a661df1ffcfdd4b2eb1b82dd05005541897b784e)), closes [#113](https://github.com/CodinDotTop/react-native-webview/issues/113)
* **android/iOS:** Fixed react-native 0.58 warnings ([#311](https://github.com/CodinDotTop/react-native-webview/issues/311)) ([4a4ccd8](https://github.com/CodinDotTop/react-native-webview/commit/4a4ccd814143840edd11cd43bc1a629618019f24))
* **AndroidX support:** Fixed broken import + added instructions ([#583](https://github.com/CodinDotTop/react-native-webview/issues/583)) ([585ac7a](https://github.com/CodinDotTop/react-native-webview/commit/585ac7a24377cca4d3cbaf87df72bf80ea68faf7)), closes [#580](https://github.com/CodinDotTop/react-native-webview/issues/580) [#581](https://github.com/CodinDotTop/react-native-webview/issues/581) [#582](https://github.com/CodinDotTop/react-native-webview/issues/582)
* **build:** Android build errors when using Gradle 6.0 ([#1037](https://github.com/CodinDotTop/react-native-webview/issues/1037)) ([5b0c634](https://github.com/CodinDotTop/react-native-webview/commit/5b0c634f15dbf8eb8210d4393da9ca86df1de453))
* **deps:** Fix RNCWebViewUIManager interface typescript error (#… ([#928](https://github.com/CodinDotTop/react-native-webview/issues/928)) ([e529fa9](https://github.com/CodinDotTop/react-native-webview/commit/e529fa9006578dd6aeecdb744fc029490b75d48b)), closes [#901](https://github.com/CodinDotTop/react-native-webview/issues/901)
* **deps:** update dependencies to address security issues ([#837](https://github.com/CodinDotTop/react-native-webview/issues/837)) ([0411345](https://github.com/CodinDotTop/react-native-webview/commit/0411345f006fce6de6d6034768d05e6cf060aaed))
* **deps:** Update lock file ([#1257](https://github.com/CodinDotTop/react-native-webview/issues/1257)) ([9732d65](https://github.com/CodinDotTop/react-native-webview/commit/9732d65289d6760fbf765e771464782e33d83eb5))
* **deps:** Update package.json ([#1583](https://github.com/CodinDotTop/react-native-webview/issues/1583)) ([8dd9969](https://github.com/CodinDotTop/react-native-webview/commit/8dd996928898f34c30da4c67cd547e3f8fd7a4e7))
* **deps:** Update React Native Windows version to ^0.61.0-beta.58 ([#1256](https://github.com/CodinDotTop/react-native-webview/issues/1256)) ([91064ab](https://github.com/CodinDotTop/react-native-webview/commit/91064ab4a94b395f27ba670a14346206e05cff9c))
* **deps:** updated dependancies and types ([#847](https://github.com/CodinDotTop/react-native-webview/issues/847)) ([85b921c](https://github.com/CodinDotTop/react-native-webview/commit/85b921ce6426a6a97b235c1fcb600cd1ca9bd1fe))
* **gradle:** Add support library as a dependency ([#253](https://github.com/CodinDotTop/react-native-webview/issues/253)) ([5180033](https://github.com/CodinDotTop/react-native-webview/commit/518003392a500f2e706e3b503a6d63900cccbdba)), closes [#174](https://github.com/CodinDotTop/react-native-webview/issues/174) [#184](https://github.com/CodinDotTop/react-native-webview/issues/184) [#245](https://github.com/CodinDotTop/react-native-webview/issues/245)
* **gradle:** Load Android Gradle Plugin conditionally ([#1230](https://github.com/CodinDotTop/react-native-webview/issues/1230) by @SaeedZhiany) ([2639d52](https://github.com/CodinDotTop/react-native-webview/commit/2639d523e9336f5f640475bafd058f82f2bc0ab4))
* **Gradle:** Allow kotlinVersion override using ext with gradle.properties ([#267](https://github.com/CodinDotTop/react-native-webview/issues/267)) ([2846e27](https://github.com/CodinDotTop/react-native-webview/commit/2846e27fcf762d93efffd92ab38fdad766daeff8))
* **incognito:** Ensures that incognito doesn't clear cookies when not enabled ([#1447](https://github.com/CodinDotTop/react-native-webview/issues/1447) by [@jasonkellydk](https://github.com/jasonkellydk)) ([63c584c](https://github.com/CodinDotTop/react-native-webview/commit/63c584c64754eaf473774966b44aa9e93f7e5dad))
* **install guide:** Add pod install step to getting started guide ([#678](https://github.com/CodinDotTop/react-native-webview/issues/678)) ([d6044c2](https://github.com/CodinDotTop/react-native-webview/commit/d6044c2b5d703f071a42f27caafb5d33c1f1cb56))
* **ios:** Add missing nullability specifiers; fix if block warning ([#1898](https://github.com/CodinDotTop/react-native-webview/issues/1898)) ([85dfca8](https://github.com/CodinDotTop/react-native-webview/commit/85dfca894f3fdcd03e527324ac33611090ebb291))
* **ios:** error on iOS < 13([#1843](https://github.com/CodinDotTop/react-native-webview/issues/1843)) ([283fe12](https://github.com/CodinDotTop/react-native-webview/commit/283fe124b3f64c2bd2f51ab05faf757bd5420584))
* **ios:** Make allowFileAccessFromFileURLs work in iOS. ([#1061](https://github.com/CodinDotTop/react-native-webview/issues/1061)) ([88b6498](https://github.com/CodinDotTop/react-native-webview/commit/88b64981f4700de4f36785e656ce2c672159d31c))
* **ios:** Xcode 12 compatibility ([#1643](https://github.com/CodinDotTop/react-native-webview/issues/1643)) ([08b7099](https://github.com/CodinDotTop/react-native-webview/commit/08b709967f92b5eba28d63ec287e4754b1fbb632))
* **iOS:** Adds missing silent hardware declaration to header file ([#1319](https://github.com/CodinDotTop/react-native-webview/issues/1319)) ([2b4d752](https://github.com/CodinDotTop/react-native-webview/commit/2b4d752c32a01524328ff011488438a925b08c32)), closes [#1140](https://github.com/CodinDotTop/react-native-webview/issues/1140)
* **iOS:** Align look and feel of Window.prompt() to Mobile Safari ([#677](https://github.com/CodinDotTop/react-native-webview/issues/677)) ([231100d](https://github.com/CodinDotTop/react-native-webview/commit/231100dc3c69c5adfe87fc7b7d81dd5a266533d0))
* **iOS:** Call dispatchViewManagerCommand with correct number of arguments ([#886](https://github.com/CodinDotTop/react-native-webview/issues/886)) ([33f1ee3](https://github.com/CodinDotTop/react-native-webview/commit/33f1ee384fbe4435ff41af662bb6d4bd0693a043))
* **iOS:** changed the way the top view controller is obtained. ([#1592](https://github.com/CodinDotTop/react-native-webview/issues/1592)) ([2cb2113](https://github.com/CodinDotTop/react-native-webview/commit/2cb2113c2922292ca617d9de99c58738f5d47c6e))
* **iOS:** file picker crash ([#1567](https://github.com/CodinDotTop/react-native-webview/issues/1567)) ([05c1d8f](https://github.com/CodinDotTop/react-native-webview/commit/05c1d8f26499ee0a3bd7fc1f68f4f66054dd17fc))
* **iOS:** Fix changing notification bars [#735](https://github.com/CodinDotTop/react-native-webview/issues/735) ([#898](https://github.com/CodinDotTop/react-native-webview/issues/898)) ([05e2d27](https://github.com/CodinDotTop/react-native-webview/commit/05e2d27662d54f3481911e18946d6bff79030f88))
* **iOS:** hideKeyboardAccessoryView on iPads ([#661](https://github.com/CodinDotTop/react-native-webview/issues/661)) ([09372c9](https://github.com/CodinDotTop/react-native-webview/commit/09372c9d95b3cceb6990d3e1ab269bcacdad4a07))
* **iOS:** Ignore WebKitDomainError 101 ([#961](https://github.com/CodinDotTop/react-native-webview/issues/961)) ([adb5608](https://github.com/CodinDotTop/react-native-webview/commit/adb5608116c4931f53d5e5f62554c2471c1b0296))
* **iOS:** inconsistent backgroundColor ([#868](https://github.com/CodinDotTop/react-native-webview/issues/868)) ([d25b20a](https://github.com/CodinDotTop/react-native-webview/commit/d25b20ac031c79cdf0e558fc87d574ec75fe5637))
* **iOS:** injectedJavaScriptBeforeContentLoaded now runs when messaging is not enabled ([#1286](https://github.com/CodinDotTop/react-native-webview/issues/1286)) ([571fb8d](https://github.com/CodinDotTop/react-native-webview/commit/571fb8df793f4f2e3218d1a55dc2fa86dbe2a748))
* **iOS:** javaScriptEnabled property ([#826](https://github.com/CodinDotTop/react-native-webview/issues/826)) ([d87bb58](https://github.com/CodinDotTop/react-native-webview/commit/d87bb5820807f60b5f1afcc90b26dfdf42c6476e))
* **iOS:** Meta method 'UIScrollViewContentInsetAdjustmentBehavior:' conflict warning ([e6edc6d](https://github.com/CodinDotTop/react-native-webview/commit/e6edc6dc73c9ebcfce0a2283d839621cf361fa45)), closes [/github.com/facebook/react-native/blob/master/React/Views/ScrollView/RCTScrollViewManager.m#L40](https://github.com//github.com/facebook/react-native/blob/master/React/Views/ScrollView/RCTScrollViewManager.m/issues/L40)
* **iOS:** restore cookie handling for iOS <= 10 ([#1728](https://github.com/CodinDotTop/react-native-webview/issues/1728)) ([d338cae](https://github.com/CodinDotTop/react-native-webview/commit/d338cae57ad9c9bb659de8ca5af32ccad980ba05))
* **iOS:** Send cookies with resource requests ([#1803](https://github.com/CodinDotTop/react-native-webview/issues/1803)) ([1f089ba](https://github.com/CodinDotTop/react-native-webview/commit/1f089baa40a04f9e71ee598c6248da7fc47aef6d))
* **iOS:** signature of the swizzled `elementDidFocus` method on iOS 13 ([68f3c08](https://github.com/CodinDotTop/react-native-webview/commit/68f3c08b549b38219ba963dd2eee7e533c01fd2a))
* **iOS:** Trigger _onContentProcessDidTerminate when removing webview from superview ([#1378](https://github.com/CodinDotTop/react-native-webview/issues/1378) by [@pmusaraj](https://github.com/pmusaraj)) ([9240536](https://github.com/CodinDotTop/react-native-webview/commit/9240536afa4481fa2221cf857e3ced2a3611e902))
* **iOS:** UIWebView Removal ([#828](https://github.com/CodinDotTop/react-native-webview/issues/828)) ([8549be5](https://github.com/CodinDotTop/react-native-webview/commit/8549be5fd0e97c6d0a73a2e8ab154d668beecf44)), closes [#819](https://github.com/CodinDotTop/react-native-webview/issues/819)
* **iOS:** use RCTConvert to convert allowingReadAccessToURL. ([#845](https://github.com/CodinDotTop/react-native-webview/issues/845)) ([c366fdf](https://github.com/CodinDotTop/react-native-webview/commit/c366fdf2e76b263722b48733dfaea2dfeb276b5b))
* **iOS:** webview retain cycle ([#1916](https://github.com/CodinDotTop/react-native-webview/issues/1916)) ([30a53d9](https://github.com/CodinDotTop/react-native-webview/commit/30a53d9480c5ca1a120063622a4c19684fcf6817))
* **iOS:** WKWebView RetainCycle ([#1096](https://github.com/CodinDotTop/react-native-webview/issues/1096)) ([4f4644f](https://github.com/CodinDotTop/react-native-webview/commit/4f4644ffd836253f1f91cebf215f768932746dfb))
* **iOS:** Xcode issues and warnings (no functionality changes) ([#860](https://github.com/CodinDotTop/react-native-webview/issues/860)) ([6cfdd4b](https://github.com/CodinDotTop/react-native-webview/commit/6cfdd4b88c21f0136f2558ab475f7573ae5a2e1f))
* **iOS WKWebView:** contentInset not properly applied ([#603](https://github.com/CodinDotTop/react-native-webview/issues/603)) ([6e79f2a](https://github.com/CodinDotTop/react-native-webview/commit/6e79f2a26f37c90ae9a9cfeb72e4280eda2e2068))
* **iOS WKWebView:** fixed local html files loading on real devices ([#403](https://github.com/CodinDotTop/react-native-webview/issues/403)) ([9c9b7d7](https://github.com/CodinDotTop/react-native-webview/commit/9c9b7d721af30b08ad08769d20635e1ed147f54c))
* **iOS/android getViewManagerConfig:** Fix crash with react-native < 0.58 ([263fc5e](https://github.com/CodinDotTop/react-native-webview/commit/263fc5ec3c4216e94ebba076a2d8ea7559e96f6d))
* **lint android:** Add TargetAPI to onPermissionRequest ([#940](https://github.com/CodinDotTop/react-native-webview/issues/940)) ([0b783da](https://github.com/CodinDotTop/react-native-webview/commit/0b783da0a4a5971a5179529376b812fa6d7f1d35))
* **macOS:** Don't include iOS pull-to-refresh control ([#1636](https://github.com/CodinDotTop/react-native-webview/issues/1636)) ([dbf4659](https://github.com/CodinDotTop/react-native-webview/commit/dbf46593fa542101ffb0f67bf89a3c8ffd1755dd))
* **onShouldStartLoadWithRequest:** android event was missing fields ([#385](https://github.com/CodinDotTop/react-native-webview/issues/385)) ([a25997b](https://github.com/CodinDotTop/react-native-webview/commit/a25997bf65196d3dad857cb07ab8ae89f7a34407)), closes [/github.com/react-native-community/react-native-webview/blob/master/js/WebViewTypes.js#L34](https://github.com//github.com/react-native-community/react-native-webview/blob/master/js/WebViewTypes.js/issues/L34)
* **package.json:** Add license to podspec and update package.json version dynamically. ([#98](https://github.com/CodinDotTop/react-native-webview/issues/98)) ([59b513b](https://github.com/CodinDotTop/react-native-webview/commit/59b513b754df14ae79268d057f32f538806ee97e))
* **package.json:** Warning because peerDependencies >=0.57 <0.59 ([#279](https://github.com/CodinDotTop/react-native-webview/issues/279)) ([#327](https://github.com/CodinDotTop/react-native-webview/issues/327)) ([46286b2](https://github.com/CodinDotTop/react-native-webview/commit/46286b272352bdb2eed0ff14327470c3c393eb60))
* **performance:** Improved `onScroll` to work efficiently on Android ([#609](https://github.com/CodinDotTop/react-native-webview/issues/609)) ([d8743ee](https://github.com/CodinDotTop/react-native-webview/commit/d8743eeed2949f62f0a7bbdfb40b260ed1b7ab3d))
* **podspec:** Lowered deployment target for MacOS to 10.13 ([#1673](https://github.com/CodinDotTop/react-native-webview/issues/1673)) ([f204195](https://github.com/CodinDotTop/react-native-webview/commit/f2041955a2788dfc3a686cf3f2462d878e34ffb5))
* **PostMessage:** Renamed ReactNativeWebview to ReactNativeWebView ([d5fc028](https://github.com/CodinDotTop/react-native-webview/commit/d5fc02838375743d0c5997ff62eb10b557b704ff)), closes [#304](https://github.com/CodinDotTop/react-native-webview/issues/304)
* **semantic-release:** Added Missong devDeps for CI ([1394c7d](https://github.com/CodinDotTop/react-native-webview/commit/1394c7de06eb46a48dfe04176055742933990cf3))
* **semantic-release:** Auto increment package.json ([171f778](https://github.com/CodinDotTop/react-native-webview/commit/171f7781349cd2acfd10e6db9d0079069307b2b9))
* **semantic-release:** Use git plugin to auto commit ([c727dd9](https://github.com/CodinDotTop/react-native-webview/commit/c727dd9848942e9ad6e7eec08dc016eb8ca9650a))
* **styles:** removed unneeded display: 'none' ([91eb7ce](https://github.com/CodinDotTop/react-native-webview/commit/91eb7ce3d18c04feea3945f07f36cf331392c38d)), closes [#473](https://github.com/CodinDotTop/react-native-webview/issues/473)
* **styles:** Removes hard-coded container white backgroundColor ([#478](https://github.com/CodinDotTop/react-native-webview/issues/478)) ([5ec74ea](https://github.com/CodinDotTop/react-native-webview/commit/5ec74ea9bb93f04a90b0e8845d756496fceb6e9e)), closes [#475](https://github.com/CodinDotTop/react-native-webview/issues/475) [#472](https://github.com/CodinDotTop/react-native-webview/issues/472)
* **ts:** Convert ContentInsetAdjustmentBehavior from an enum back to a string union type ([#1536](https://github.com/CodinDotTop/react-native-webview/issues/1536)) ([a48c981](https://github.com/CodinDotTop/react-native-webview/commit/a48c9819c527a467629c4334e6cadbb7bbc80c9b))
* **ts:** onScroll event type ([#1631](https://github.com/CodinDotTop/react-native-webview/issues/1631)) ([84b7177](https://github.com/CodinDotTop/react-native-webview/commit/84b7177d2181ce6527de6a7432f91d52f8cb4be3))
* **types:** Add missing applicationNameForUserAgent type ([#589](https://github.com/CodinDotTop/react-native-webview/issues/589)) ([b06be7e](https://github.com/CodinDotTop/react-native-webview/commit/b06be7e136ceb21217fffcbd728dec4c3776ba31))
* **types:** Add missing applicationNameForUserAgent type in WebViewSharedProps ([#1542](https://github.com/CodinDotTop/react-native-webview/issues/1542)) ([91295e5](https://github.com/CodinDotTop/react-native-webview/commit/91295e5258ee6f431c1112dc5525779c5739e773))
* **types:** Add missing type definitions of the methods ([#442](https://github.com/CodinDotTop/react-native-webview/issues/442)) ([54268ff](https://github.com/CodinDotTop/react-native-webview/commit/54268ff469ce21d3bc5dc5f35d6a282ab1ad75a7))
* **types:** Add new cacheEnabled prop to typescript prop type declarations ([#335](https://github.com/CodinDotTop/react-native-webview/issues/335)) ([ff62c95](https://github.com/CodinDotTop/react-native-webview/commit/ff62c956e34437334015fb0f0ac0c68a1c010821))
* **types:** add showScrollIndicator prop to type file ([#388](https://github.com/CodinDotTop/react-native-webview/issues/388)) ([a364d3e](https://github.com/CodinDotTop/react-native-webview/commit/a364d3ed67c87da76ab5fd6c16b831c43f5bdb0c))
* **types:** android/allowsFullscreenVideo ([#590](https://github.com/CodinDotTop/react-native-webview/issues/590)) ([f8a560b](https://github.com/CodinDotTop/react-native-webview/commit/f8a560ba512d9077787f2281cbcd8c7676892261))
* **types:** Export WebViewMessageEvent, WebViewNavigation for external use ([#855](https://github.com/CodinDotTop/react-native-webview/issues/855)) ([be027da](https://github.com/CodinDotTop/react-native-webview/commit/be027dad1fdf99d6c15573b78a2069d632f2a58b))
* **types:** export WebViewProps for external use ([#457](https://github.com/CodinDotTop/react-native-webview/issues/457)) ([ef709aa](https://github.com/CodinDotTop/react-native-webview/commit/ef709aa82bf5a3a801873d7abdc9347166a278c5))
* **types:** Fixing typing. ([#167](https://github.com/CodinDotTop/react-native-webview/issues/167)) ([65bd972](https://github.com/CodinDotTop/react-native-webview/commit/65bd97219a358eaf2df279f5112aeeaa2ff1395e))
* **types:** Make onContentProcessDidTerminate optional ([#890](https://github.com/CodinDotTop/react-native-webview/issues/890)) ([b010e0e](https://github.com/CodinDotTop/react-native-webview/commit/b010e0e04f04dc067016078f3a9db2bfc8f77a6b))
* **types:** make source html base URL optional ([a1e2368](https://github.com/CodinDotTop/react-native-webview/commit/a1e23689d22cc0ae332fb501c21e5752ed32645b))
* **types:** Remove readonly definition in WebViewTypes.ts ([#1272](https://github.com/CodinDotTop/react-native-webview/issues/1272)) ([3c06d78](https://github.com/CodinDotTop/react-native-webview/commit/3c06d782397ad422b05f504ff61a7d1dbde83016))
* **types:** Update Typescript definition file ([#1597](https://github.com/CodinDotTop/react-native-webview/issues/1597)) ([9dcd108](https://github.com/CodinDotTop/react-native-webview/commit/9dcd108b1fc58964a6dd4a49b99d7656386cdc45))
* **types:** wrong parameter type in onLoadProgress ([#538](https://github.com/CodinDotTop/react-native-webview/issues/538)) ([5892601](https://github.com/CodinDotTop/react-native-webview/commit/5892601c290a83b3c23533c2c7f7b0872986dce9))
* **typings:** incorrect package.json + fix d.ts([#453](https://github.com/CodinDotTop/react-native-webview/issues/453)) ([e2adacc](https://github.com/CodinDotTop/react-native-webview/commit/e2adacc97777a02a75551a142c96931104b14851))
* **UIWebview:** Deprecate UIWebView and add link to issue ([#313](https://github.com/CodinDotTop/react-native-webview/issues/313)) ([4c80240](https://github.com/CodinDotTop/react-native-webview/commit/4c8024047b3a3641d38cf8f378cdbb149c1f5c15))
* **vulnerability:** merge issue ([#399](https://github.com/CodinDotTop/react-native-webview/issues/399)) ([74a2086](https://github.com/CodinDotTop/react-native-webview/commit/74a20865b0443c32f1f5963d7e8c1a924749801c))
* **webviewShared.js:** Support all valid URI schemes and add testing ([#293](https://github.com/CodinDotTop/react-native-webview/issues/293)) ([fb78d13](https://github.com/CodinDotTop/react-native-webview/commit/fb78d131200ef2e20565d010f712cd366e0d960c)), closes [/tools.ietf.org/html/rfc3986#section-3](https://github.com//tools.ietf.org/html/rfc3986/issues/section-3)
* **whitelisted origins:** Prevent handling of un-whitelisted URLs ([0442126](https://github.com/CodinDotTop/react-native-webview/commit/0442126595a27b60c86c97a9ec4a71823d6c3f70))
* **windows:** Add postMessage for Windows WebView ([#1263](https://github.com/CodinDotTop/react-native-webview/issues/1263) by [@kaiguo](https://github.com/kaiguo)) ([e402e73](https://github.com/CodinDotTop/react-native-webview/commit/e402e739eaf2b67987a5ada4af4050f71b93c9fe))
* **windows:** Check UAP contract version before calling FrameworkElement.IsLoaded ([#1858](https://github.com/CodinDotTop/react-native-webview/issues/1858)) ([ac8eb97](https://github.com/CodinDotTop/react-native-webview/commit/ac8eb97910212e64930b5f3a72142f062ef71329))
* **windows:** Fix ARM/ARM64 support ([#2044](https://github.com/CodinDotTop/react-native-webview/issues/2044)) ([e3e6e68](https://github.com/CodinDotTop/react-native-webview/commit/e3e6e6841adb5316445fb9ce524d85a357da8c56))
* **windows:** Fix windows local asset path ([#1335](https://github.com/CodinDotTop/react-native-webview/issues/1335) by [@kaiguo](https://github.com/kaiguo)) ([20a3f90](https://github.com/CodinDotTop/react-native-webview/commit/20a3f90c0f0b24c59ab6b31dc981e9e4f1c0473b))
* **windows:** Fixes ScriptNotify and InvokeScript ([#1354](https://github.com/CodinDotTop/react-native-webview/issues/1354) by [@benhamlin](https://github.com/benhamlin)) ([81e0360](https://github.com/CodinDotTop/react-native-webview/commit/81e0360edea465db9cba97240f37e8e29e0d6f1b))
* **windows:** Navigation to ms-appdata and ms-appx-web local file request ([#2098](https://github.com/CodinDotTop/react-native-webview/issues/2098)) ([4f89408](https://github.com/CodinDotTop/react-native-webview/commit/4f894083cabfb9f55f1b9bc8507c98a6e361ffa9))
* **windows:** react-native.config for non windows platforms ([#2046](https://github.com/CodinDotTop/react-native-webview/issues/2046)) ([2eabfa3](https://github.com/CodinDotTop/react-native-webview/commit/2eabfa3d4a5471b9d3890c4cb3035b0c97c4a8fa))
* **windows:** Resolve Deploy Issue ([#1850](https://github.com/CodinDotTop/react-native-webview/issues/1850)) ([ad702f5](https://github.com/CodinDotTop/react-native-webview/commit/ad702f57f16eb0630af6e4fa34416d06b27a8552))
* **windows:** Resolve Missing Deploy Target ([#1716](https://github.com/CodinDotTop/react-native-webview/issues/1716) by [@chiaramooney](https://github.com/chiaramooney)) ([8bd0b41](https://github.com/CodinDotTop/react-native-webview/commit/8bd0b41381a981845222d3eff059b62c6a1449d4))
* **windows:** Simplify project structure, fix arm64 ([#2211](https://github.com/CodinDotTop/react-native-webview/issues/2211)) ([aafa899](https://github.com/CodinDotTop/react-native-webview/commit/aafa8991f5e94e7fbab51b3a66ef2ffbabc05721))
* **windows:** update Getting Started information for Windows ([92ba4fa](https://github.com/CodinDotTop/react-native-webview/commit/92ba4faad259ae5105cecd86cd2d10f0f7d7395f))
* **Windows:** Move rnpm-plugin-windows to devDependencies. ([#1266](https://github.com/CodinDotTop/react-native-webview/issues/1266)) ([d16746c](https://github.com/CodinDotTop/react-native-webview/commit/d16746c8ea8dbaaf45f6a7f823cdd5a1ba12b241))
* **WKWebview:** Fixed for supporting mediaPlaybackRequiresUserAction option under iOS 10. ([#129](https://github.com/CodinDotTop/react-native-webview/issues/129)) ([c0c0116](https://github.com/CodinDotTop/react-native-webview/commit/c0c0116c80d72f4c52751ace16deb067e6793eba))
* **WKWebview:** Fixed non-working iOS alert. ([#188](https://github.com/CodinDotTop/react-native-webview/issues/188)) ([41d9bdc](https://github.com/CodinDotTop/react-native-webview/commit/41d9bdcce482d9143f08bee093e4ca901051dff2))
* **WKWebview:** Reverts [#134](https://github.com/CodinDotTop/react-native-webview/issues/134), fixes issue where keyboard dismiss would scroll to top ([#210](https://github.com/CodinDotTop/react-native-webview/issues/210)) ([9f37dde](https://github.com/CodinDotTop/react-native-webview/commit/9f37ddea61852f4efc1b11e325fb29eb473110fd))
* **WKWebview:** Surface evaluateJavaScript errors ([#179](https://github.com/CodinDotTop/react-native-webview/issues/179)) ([ec469cf](https://github.com/CodinDotTop/react-native-webview/commit/ec469cf00d72920488d27bdf17af2c6f1fdff56b))
* **WKWebview:** Update webview property when allowsBackForwardNavigationGestures prop changes ([#173](https://github.com/CodinDotTop/react-native-webview/issues/173)) ([4bc1dc2](https://github.com/CodinDotTop/react-native-webview/commit/4bc1dc20fd5f69d79bfffb58ad54f06bce65e75f))
* **WKWebView:** Add "Frame load interrupted" error handling for OAuth ([#147](https://github.com/CodinDotTop/react-native-webview/issues/147)) ([6f61224](https://github.com/CodinDotTop/react-native-webview/commit/6f612242fea912fca33a4926463f3cbe3548164d))
* **WKWebView:** Fix the message handle bug. ([#143](https://github.com/CodinDotTop/react-native-webview/issues/143)) ([2b9292e](https://github.com/CodinDotTop/react-native-webview/commit/2b9292ed1c4c339ac633cec5fbacd24c6bef4e18))
* **WKWebView:** iOS crash when WebView's title is nil ([#521](https://github.com/CodinDotTop/react-native-webview/issues/521)) ([7a91221](https://github.com/CodinDotTop/react-native-webview/commit/7a91221926afbc57ff35c5c9fb64f2f2e4b97534))
* **WKWebView:** resolved crash with WebKit on iOS 9.x. ([#342](https://github.com/CodinDotTop/react-native-webview/issues/342)) ([f27f13e](https://github.com/CodinDotTop/react-native-webview/commit/f27f13e93164c6668360bf18f02a86f388c6063c)), closes [#150](https://github.com/CodinDotTop/react-native-webview/issues/150) [#213](https://github.com/CodinDotTop/react-native-webview/issues/213) [jerolimov/react-native-webview#fix-ios9](https://github.com/jerolimov/react-native-webview/issues/fix-ios9) [jerolimov/react-native-webview#fix-ios9](https://github.com/jerolimov/react-native-webview/issues/fix-ios9)
* **WKWebView:** StatusBar is gone after fullscreen (iOS 12) ([#544](https://github.com/CodinDotTop/react-native-webview/issues/544)) ([c2914a8](https://github.com/CodinDotTop/react-native-webview/commit/c2914a8d7345204997678956ecf076dfbf776cc5)), closes [#62](https://github.com/CodinDotTop/react-native-webview/issues/62)
* **WKWebview Scroll:** Don't allow the scrollView to scroll when `scrollEnabled={false}`. ([#158](https://github.com/CodinDotTop/react-native-webview/issues/158)) ([0e6e92a](https://github.com/CodinDotTop/react-native-webview/commit/0e6e92a7f19c1e968cf852f5e659115895e8f49f))
* **WKWebView Scrolling:** fixed broken scroll ([#372](https://github.com/CodinDotTop/react-native-webview/issues/372)) ([2cef5cb](https://github.com/CodinDotTop/react-native-webview/commit/2cef5cbb3ff5967a8f207b0c54340003ab1abc80)), closes [#371](https://github.com/CodinDotTop/react-native-webview/issues/371)
* **WKWebView.m:** Reapplied [#134](https://github.com/CodinDotTop/react-native-webview/issues/134) with additional checks to tackle unintentional scrolls ([#296](https://github.com/CodinDotTop/react-native-webview/issues/296)) ([3f58b0e](https://github.com/CodinDotTop/react-native-webview/commit/3f58b0e5974b7a65474c7727845ef58037aaf5a9))

### Features

* **android:** Android injectJavaScriptObject ([#2960](https://github.com/CodinDotTop/react-native-webview/issues/2960)) ([447f68e](https://github.com/CodinDotTop/react-native-webview/commit/447f68e700385247ee67640c8fa609ba458bd94c))
* Add clearCache method on iOS ([#3119](https://github.com/CodinDotTop/react-native-webview/issues/3119)) ([0868f91](https://github.com/CodinDotTop/react-native-webview/commit/0868f91b3b9294e4779a2456a1755ed563e37635))
* **android:** Add androidLayerType as prop ([#1588](https://github.com/CodinDotTop/react-native-webview/issues/1588)) ([9ffca8f](https://github.com/CodinDotTop/react-native-webview/commit/9ffca8f9dbbc461d35fd4517c7924617cc4eec11))
* **android:** add minimum font size ([#2279](https://github.com/CodinDotTop/react-native-webview/issues/2279)) ([a12e231](https://github.com/CodinDotTop/react-native-webview/commit/a12e231121e4dad2a5c8c8f0fcbca91c7a76a52f))
* **android:** add props to control pinch to zoom and internal zoom controls ([#2113](https://github.com/CodinDotTop/react-native-webview/issues/2113)) ([b92b986](https://github.com/CodinDotTop/react-native-webview/commit/b92b98637c673fd04a4d40c5ae15aece7578b89f))
* **android:** Add support for injectedJavaScriptBeforeContentLoaded on Android ([#1099](https://github.com/CodinDotTop/react-native-webview/issues/1099) by @SRandazzo and @ [@shirakaba](https://github.com/shirakaba)) ([ac4e05e](https://github.com/CodinDotTop/react-native-webview/commit/ac4e05e0f2a206d662f136244efd03fa05c3425c))
* **android:** Enhanced camera/audio and geolocation permissions ([#1239](https://github.com/CodinDotTop/react-native-webview/issues/1239)) ([9f6037e](https://github.com/CodinDotTop/react-native-webview/commit/9f6037e4b23535633e84bfc8b31434f90870727d))
* **android:** force dark mode ([#2063](https://github.com/CodinDotTop/react-native-webview/issues/2063)) ([19980d8](https://github.com/CodinDotTop/react-native-webview/commit/19980d888d66554875f3ac64b3e8a35bd7ad998b))
* **iOS:** Suppress menu items ([#3082](https://github.com/CodinDotTop/react-native-webview/issues/3082)) ([5cd324c](https://github.com/CodinDotTop/react-native-webview/commit/5cd324c13032696a7184918797842418b4188766))
* Add `onOpenWindow` event ([#2640](https://github.com/CodinDotTop/react-native-webview/issues/2640)) ([933fe19](https://github.com/CodinDotTop/react-native-webview/commit/933fe19a3477d3a01a19c64da2aa051c0d6b0668))
* **android:** Add support for the `capture` attribute ([#2954](https://github.com/CodinDotTop/react-native-webview/issues/2954)) ([966221e](https://github.com/CodinDotTop/react-native-webview/commit/966221e354d27a4c61117afda332566bac1aba62))
* **android:** Introduce setSupportMultipleWindows to mitigate CVE-2020-6506 ([#1747](https://github.com/CodinDotTop/react-native-webview/issues/1747) by [@mrcoinbase](https://github.com/mrcoinbase) and [@kelset](https://github.com/kelset) -- THANK YOU!) ([194c6a2](https://github.com/CodinDotTop/react-native-webview/commit/194c6a2335b12cc05283413c44d0948eb5156e02))
* **android:** remove unnecessary buildToolsVersion ([#2023](https://github.com/CodinDotTop/react-native-webview/issues/2023)) ([998b211](https://github.com/CodinDotTop/react-native-webview/commit/998b211b94214952b0d4ffe19429fad555e54a68))
* **Android:** Implement direct communication between Android code and JS ([#1203](https://github.com/CodinDotTop/react-native-webview/issues/1203)) ([c88e380](https://github.com/CodinDotTop/react-native-webview/commit/c88e3807625d70b3055e413e8d302ff0c15751ec))
* **ios:** Generate history API events on iOS ([#1082](https://github.com/CodinDotTop/react-native-webview/issues/1082)) ([3615296](https://github.com/CodinDotTop/react-native-webview/commit/361529630fbe7e0f743eaa71d72ba3f542553ec2))
* **iOS:** fraudulent website warning setting (previously [#2801](https://github.com/CodinDotTop/react-native-webview/issues/2801)) ([#2994](https://github.com/CodinDotTop/react-native-webview/issues/2994)) ([6d185e6](https://github.com/CodinDotTop/react-native-webview/commit/6d185e689320a9cd42c9f3cf5a51d4f5184e44fc))
* Allow webview to load in background tab ([#2930](https://github.com/CodinDotTop/react-native-webview/issues/2930)) ([40c9807](https://github.com/CodinDotTop/react-native-webview/commit/40c98078939d486d95c27ce83bb2f378e1d13dd6))
* custom action menu on android + improved iOS ([#2993](https://github.com/CodinDotTop/react-native-webview/issues/2993)) ([f2aef66](https://github.com/CodinDotTop/react-native-webview/commit/f2aef667b28ac36ac6b75ec81fc95055a1c5743a))
* debugging enabled prop ([#2937](https://github.com/CodinDotTop/react-native-webview/issues/2937)) ([f9a5277](https://github.com/CodinDotTop/react-native-webview/commit/f9a527753fed972650de5a0e4a5000b278926b9b))
* **android:** Adding downloadMessage as a prop for localization ([#2489](https://github.com/CodinDotTop/react-native-webview/issues/2489)) ([c3f73fe](https://github.com/CodinDotTop/react-native-webview/commit/c3f73fe2accbeeebe64ae7d0c89f9929f7031497))
* **android:** bump up kotlinVersion to 1.6.0 ([#2592](https://github.com/CodinDotTop/react-native-webview/issues/2592)) ([b850d1d](https://github.com/CodinDotTop/react-native-webview/commit/b850d1d7b1f58830763c89146f13b9c777592be9)), closes [#2578](https://github.com/CodinDotTop/react-native-webview/issues/2578)
* **android:** WebView crash handling ([#1480](https://github.com/CodinDotTop/react-native-webview/issues/1480)) ([8a8b7ce](https://github.com/CodinDotTop/react-native-webview/commit/8a8b7ceb981bc524278930ccf3f10fe49e5ec01d))
* **Android:** Handle RESOURCE_PROTECTED_MEDIA_ID permission ([#2732](https://github.com/CodinDotTop/react-native-webview/issues/2732)) ([2711f3a](https://github.com/CodinDotTop/react-native-webview/commit/2711f3a5dc04ba0cdece2fdc3d3473469ad79d55))
* **compatibility:** Support React Native 0.62 ([#1364](https://github.com/CodinDotTop/react-native-webview/issues/1364) by [@jussikinnula](https://github.com/jussikinnula) and [@kaiguo](https://github.com/kaiguo)) ([228f10d](https://github.com/CodinDotTop/react-native-webview/commit/228f10d9176098dd75a5e44739c55b3200727ec4))
* **events:** Add isTopFrame to shouldStartLoadForRequest ([#1537](https://github.com/CodinDotTop/react-native-webview/issues/1537)) ([6a9116f](https://github.com/CodinDotTop/react-native-webview/commit/6a9116f2d19a8cfd76ee691c2d793b34aee963e7))
* **ios:** Add iOS contentMode property ([#1538](https://github.com/CodinDotTop/react-native-webview/issues/1538) by @TheAlmightyBob) ([8b69452](https://github.com/CodinDotTop/react-native-webview/commit/8b694526434133cf17eec6806020b1741efdcdf6))
* **ios:** Add support for `limitsNavigationsToAppBoundDomains` ([#1662](https://github.com/CodinDotTop/react-native-webview/issues/1662)) ([7decc5c](https://github.com/CodinDotTop/react-native-webview/commit/7decc5cff1de221ad729ab16f7b18901dc2f889a))
* **ios:** Apple Pay support ([#1946](https://github.com/CodinDotTop/react-native-webview/issues/1946)) ([30685ed](https://github.com/CodinDotTop/react-native-webview/commit/30685edda045f7ba5d1400b415278e1109436dcd))
* **ios:** Cookie sync improvements ([#2535](https://github.com/CodinDotTop/react-native-webview/issues/2535)) ([4ac0d74](https://github.com/CodinDotTop/react-native-webview/commit/4ac0d746c9420191e4eb7387dadd35a674950f34))
* **macos:** Support File Input On Macos ([#2733](https://github.com/CodinDotTop/react-native-webview/issues/2733)) ([9b7ce57](https://github.com/CodinDotTop/react-native-webview/commit/9b7ce574fcc53c635b532bd8c02e8d8e9cf80a08))
* **windows:** Support headers and cookies in source prop ([#2897](https://github.com/CodinDotTop/react-native-webview/issues/2897)) ([1851ead](https://github.com/CodinDotTop/react-native-webview/commit/1851ead46582aece53884ab12694234e50457b10))
* Fabric support ([#2686](https://github.com/CodinDotTop/react-native-webview/issues/2686)) ([5558e28](https://github.com/CodinDotTop/react-native-webview/commit/5558e28feab2e8bd881450f155e642cf1e66caad))
* improve dummy WebView  ([#2509](https://github.com/CodinDotTop/react-native-webview/issues/2509)) ([2e79a03](https://github.com/CodinDotTop/react-native-webview/commit/2e79a031c81a5d29784a3f57f9a9b44f91f92279))
* make pushState changes trackable on android ([#2929](https://github.com/CodinDotTop/react-native-webview/issues/2929)) ([39ce007](https://github.com/CodinDotTop/react-native-webview/commit/39ce0077f06f1b7dbf91be1302792909ae945029))
* **apple:** userAgent can be changed at runtime ([#2116](https://github.com/CodinDotTop/react-native-webview/issues/2116)) ([2fc86f9](https://github.com/CodinDotTop/react-native-webview/commit/2fc86f9d39e44999499d1de97a48f981fc352e93))
* **auth:** Basic Authentication Support ([#1467](https://github.com/CodinDotTop/react-native-webview/issues/1467)) ([0c42a98](https://github.com/CodinDotTop/react-native-webview/commit/0c42a9812e1bf9515db9ccb2f92fce526536d44e))
* **deps:** Remove upper bound on React Native peerdep ([#2054](https://github.com/CodinDotTop/react-native-webview/issues/2054)) ([6cd000e](https://github.com/CodinDotTop/react-native-webview/commit/6cd000ec9d7135121088d2292c74f7e8994b4d73)), closes [#1935](https://github.com/CodinDotTop/react-native-webview/issues/1935)
* **ios:** Add textInteractionEnabled prop ([#2252](https://github.com/CodinDotTop/react-native-webview/issues/2252)) ([4e0cf9c](https://github.com/CodinDotTop/react-native-webview/commit/4e0cf9ca2538e8cba47f16cff8750c85303f32f0))
* **ios:** adds allowsAirPlayForMediaPlayback prop ([#2410](https://github.com/CodinDotTop/react-native-webview/issues/2410) by [@matinzd](https://github.com/matinzd)) ([eb4e923](https://github.com/CodinDotTop/react-native-webview/commit/eb4e923fb012f1dcb5c5389fb1901ee84e32fa8c))
* **ios:** Enhanced permissions handling to prevent repetitive prompts. ([#2257](https://github.com/CodinDotTop/react-native-webview/issues/2257)) ([cd42aa7](https://github.com/CodinDotTop/react-native-webview/commit/cd42aa7f1110edb13d07978badd6d52e386d145c))
* **iOS:** Add Hardware Silence ([#1218](https://github.com/CodinDotTop/react-native-webview/issues/1218)) ([d4ab332](https://github.com/CodinDotTop/react-native-webview/commit/d4ab332891af2242e663ac2e25f4aa3317945399)), closes [#1140](https://github.com/CodinDotTop/react-native-webview/issues/1140)
* **iOS:** Add onFileDownload callback ([#1214](https://github.com/CodinDotTop/react-native-webview/issues/1214)) ([a6010d9](https://github.com/CodinDotTop/react-native-webview/commit/a6010d93e070d91e7f656cf3edf604515bde586f))
* **iOS:** Add prop autoManageStatusBarEnabled ([#914](https://github.com/CodinDotTop/react-native-webview/issues/914)) ([22a60fd](https://github.com/CodinDotTop/react-native-webview/commit/22a60fd23a9ce396b11f498a6b338bf16510981b))
* **iOS:** Add the pull to refresh ([#1265](https://github.com/CodinDotTop/react-native-webview/issues/1265)) ([a02d88f](https://github.com/CodinDotTop/react-native-webview/commit/a02d88f54f789608c94ba8e53dc2f9ff6c3292f6))
* **iOS:** WKUserScripts (e.g. injectedJavaScript) can now update upon props change; and can be configured to inject into all frames. ([#1119](https://github.com/CodinDotTop/react-native-webview/issues/1119)) ([9cb2f6e](https://github.com/CodinDotTop/react-native-webview/commit/9cb2f6e2f30baa41db47446e03ab9a059852e847)), closes [/github.com/react-native-community/react-native-webview/pull/1119#issuecomment-574919464](https://github.com//github.com/react-native-community/react-native-webview/pull/1119/issues/issuecomment-574919464)
* **iOS & MacOS:** allowUniversalAccessFromFileURLs property([#1730](https://github.com/CodinDotTop/react-native-webview/issues/1730)) ([8d098ef](https://github.com/CodinDotTop/react-native-webview/commit/8d098efce72e2add9ae02aabaa9c6472c1008565))
* **iOS 13+:** automaticallyAdjustsScrollIndicatorInsets prop ([#1077](https://github.com/CodinDotTop/react-native-webview/issues/1077)) ([d46a6d3](https://github.com/CodinDotTop/react-native-webview/commit/d46a6d3c695c2575ec22028c67c9060aa062ff7d))
* **macOS:** macOS Support ([#1164](https://github.com/CodinDotTop/react-native-webview/issues/1164)) ([1e57231](https://github.com/CodinDotTop/react-native-webview/commit/1e572318ec6c9cd1f88be86950564a2d3cbfe1c2))
* **macOS:** Make podspec compatible with macOS ([#1328](https://github.com/CodinDotTop/react-native-webview/issues/1328)) ([2d9b080](https://github.com/CodinDotTop/react-native-webview/commit/2d9b0803e03660e8f19b3e5d531ccb55675f57ed))
* **onError:** Add support for preventDefault when using onError method ([#1706](https://github.com/CodinDotTop/react-native-webview/issues/1706)) ([404e3e6](https://github.com/CodinDotTop/react-native-webview/commit/404e3e69e23d8c73bc4deb688c77b9a1a0bb55f8))
* **refactor:** remove findnodehandle, use function components & codegenNativeCommands ([#2508](https://github.com/CodinDotTop/react-native-webview/issues/2508)) ([6b8e4f3](https://github.com/CodinDotTop/react-native-webview/commit/6b8e4f3f5f3cc006ebca8cb3c7ab692805824685)), closes [#2518](https://github.com/CodinDotTop/react-native-webview/issues/2518) [#2532](https://github.com/CodinDotTop/react-native-webview/issues/2532) [#2517](https://github.com/CodinDotTop/react-native-webview/issues/2517)
* **webview:** Allow javascript to open windows automatically ([#1409](https://github.com/CodinDotTop/react-native-webview/issues/1409) by [@trcoffman](https://github.com/trcoffman)) ([91df544](https://github.com/CodinDotTop/react-native-webview/commit/91df544faef8b1cae7ce29dc8b7b615401f3aced))
* **windows:** Add POST requests, fixes Windows CI issues, and other QOL ([#1926](https://github.com/CodinDotTop/react-native-webview/issues/1926)) ([d352d14](https://github.com/CodinDotTop/react-native-webview/commit/d352d147bdffbc4b55196541749363de32a0cc2c))
* **windows:** Add WebView2 UWP Desktop support ([#2419](https://github.com/CodinDotTop/react-native-webview/issues/2419)) ([5fb7b0c](https://github.com/CodinDotTop/react-native-webview/commit/5fb7b0cff005f2262c24ec6b6b7ccf2189b556e2))
* add prop to allow nested scroll on android ([#2056](https://github.com/CodinDotTop/react-native-webview/issues/2056)) ([6bac272](https://github.com/CodinDotTop/react-native-webview/commit/6bac272a5f9cd2eda122b8d6be2cf80ffacee4b6))
* **android:** add clearHistory, clearCache and clearFormData ([#450](https://github.com/CodinDotTop/react-native-webview/issues/450)) ([4a4f4a2](https://github.com/CodinDotTop/react-native-webview/commit/4a4f4a2c454d818f72fb809a6ea5f33711b37bf6))
* **android:** allowFileAccessFromFileURLs prop added ([#831](https://github.com/CodinDotTop/react-native-webview/issues/831)) ([4db3d84](https://github.com/CodinDotTop/react-native-webview/commit/4db3d84dda6301005b3531a9ab690f194adcf677))
* **android:** Expose cacheMode property ([#895](https://github.com/CodinDotTop/react-native-webview/issues/895)) ([5da5925](https://github.com/CodinDotTop/react-native-webview/commit/5da59251cea7e979f07e877deb555c8c93cf0f8c))
* **android:** fix overflow issues and match iOS default renders ([#472](https://github.com/CodinDotTop/react-native-webview/issues/472)) ([319a86e](https://github.com/CodinDotTop/react-native-webview/commit/319a86e2361ac0161cbe2897a907d43b085029fc)), closes [#466](https://github.com/CodinDotTop/react-native-webview/issues/466) [#194](https://github.com/CodinDotTop/react-native-webview/issues/194)
* **android:** Migrate to Android X ([#520](https://github.com/CodinDotTop/react-native-webview/issues/520)) ([1d6c88d](https://github.com/CodinDotTop/react-native-webview/commit/1d6c88dcf57ecee67a6e7e84a032fc4642e6c1bd))
* **android:** polyfill applicationNameForUserAgent on Android ([#707](https://github.com/CodinDotTop/react…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants