-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Add support for injectedJavaScriptBeforeContentLoaded on Android #1099
Add support for injectedJavaScriptBeforeContentLoaded on Android #1099
Conversation
Up vote. I found my issue because expo using old version react-native-webview. |
Found a bug in this - will update when it's resolved! |
Ok bug is resolved. I could use some extra eyes on whether or not placing the execution of the code inside of I originally gated the execution with a boolean flag so it would only run "once", but that caused it to not execute at the proper time |
Issue is that won't work on android > N :( https://developer.android.com/reference/android/webkit/WebView.html#evaluateJavascript(java.lang.String,%20android.webkit.ValueCallback%3Cjava.lang.String%3E) |
Thanks @Titozzz - I admit I don't fully understand here as I am new to Android. I tried doing some reading but could you elaborate for my knowledge? Is this the part of the docs you are referring to:
|
You can refer to this here: |
Yes exactly this says that it won't work :/ |
I'm not reading it like that. It just says that persisted state won't survive a navigation (just as, if you evaluate any JS in a browser's web inspector that mutates the This is fine for the use-case of One way to characterise the behaviour: Use my Test Plan in #1119. Injecting into all frames is out-of-scope for this PR, but you can do the test concerning injecting into just the main frame. |
Docs for onPageStarted:
So this is indeed the appropriate lifecycle event for Unfortunately, there are no lifecycle methods that mention that they are called for frames other than the main frame 🙁 I can't find any mention online of any Android WebView native methods for injecting JS into non-main frames (only JSObjects) either, and there's no way to work around that lack of functionality. |
Any update ?, i hope this feauture soon avaiable. |
@SRandazzo Could you update the docs with this prop and make sure to note the capability issue with versions >= Android N? |
@congnt171 I'm aiming to merge this in with @shirakaba's iOS PR #1119 to have parity between iOS + Android for |
@muthuspark has an interesting workaround for injecting JS into iframes. It may only work post-page-load, i.e.
Note that it is ultimately a workaround and not a dedicated solution, so there may be subtle deficiencies in its methodology that are unclear (e.g. relating to page load lifecycle or security limitations). |
…react-native-webview into sr_injectedjs_startup_android
Thanks all for the helpful insight! |
Most injectJavascript needs to be done before it is fully loaded to get the best results. So I think this is a problem that should be carefully reviewed and quickly included in order to improve. |
I suppose that injecting JS after content loading could be achieved crudely by listening for the document “loaded” event firing from before the content has loaded. We’d best keep that in mind as an option. |
I think that's not a good idea. Doing so we can not be sure "loaded inject javascript" or not. This will result in heterogeneous results between each download. |
@congnt171 I'm not sure the results would be different between each download; could you explain your concerns? Incidentally, it looks like there are two lifecycle hooks we could use.
On iOS,
If I'm understanding correctly, WebKit injects If we injected specifically upon the |
Now that Microsoft have introduced an examples app, I've forked this PR to shirakaba/updatable-user-scripts-android and have added an example to test injection: Partial test passOnly a partial pass because Android can only inject into the main frame at present. Options for injecting into all frames are limited, but I've raised one possible approach to try to implement it. Test failOf concern: upon hot reload, injection sometimes works, but sometimes doesn't. This possibly indicates that the android implementation isn't handling props updates well. Or a race condition with loading. Hard to tell. Screenshots of the expected behaviour for a full test pass are visible in my related PR for iOS. |
I played around with the @safaiyeh if @SRandazzo updated this branch to merge the latest changes from master, would anything else be needed to merge this (and my corresponding #1119 )? Note: equally, if @SRandazzo is busy, I could open a PR from |
Any update ? 😲 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears ready to merge.
# [10.3.0](v10.2.3...v10.3.0) (2020-06-13) ### Features * **android:** Add support for injectedJavaScriptBeforeContentLoaded on Android ([#1099](#1099) by @SRandazzo and @ [@shirakaba](https://github.com/shirakaba)) ([ac4e05e](ac4e05e))
🎉 This PR is included in version 10.3.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
On behalf of the RN WebView maintainers, thanks everyone for your patience and all your help! I'm excited to finally ship this! |
Wow this is great! Thank you all for your work on this, big thanks to @shirakaba who made huge contributions that made this possible. Open source win! |
injectedJavaScriptBeforeContentLoaded is now available for android now, am I correct? |
This PR works on some Android device, but don't work on some other device. I found the injected script execute when for example:
It shows dialog as :
A related issue of Webview: https://groups.google.com/a/chromium.org/forum/#!topic/android-webview-dev/W6IBFu9f6vE |
@sapjax I believe the JS injection is implemented correctly (this PR works perfectly for HTML pages created as a string but faces problems for real hosted web pages, as I’ve noted in the documentation and in this thread). I think that the issue you’re seeing is the unsolved issue regarding lifecycle race conditions, which I hope someone can solve in a follow-up PR. |
@sapjax I’ve just checked the Chromium issue that you linked. This WebView is based on WebKit, but the pattern that they mention there – namely of erasing the JS Context stores on Window – may also match what I was finding in my debug above. So rather than a race condition, it could equally be explained by a WebKit bug in which the window’s context is reset upon page load. Unfortunately, I wasn’t able to find any solution myself. I think I noted that attaching a debugger actually caused the problem to disappear, which made it impossible for me to dig any deeper. 😕 |
@shirakaba |
@sapjax @shirakaba in my case, |
I have the same problem,Most of the time, injectedJavaScriptBeforeContentLoaded doesn't achieve the same effect as in IOS
|
# 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…
# [10.3.0](react-native-webview/react-native-webview@v10.2.3...v10.3.0) (2020-06-13) ### Features * **android:** Add support for injectedJavaScriptBeforeContentLoaded on Android ([#1099](react-native-webview/react-native-webview#1099) by @SRandazzo and @ [@shirakaba](https://github.com/shirakaba)) ([ac4e05e](react-native-webview/react-native-webview@ac4e05e))
Summary
This is the Android counterpart to #1038
This is my first time writing Java/Android so any feedback is much appreciated.
Test Plan
I am running an iOS + Android ReactNative application and have verified that the injected JS behaves the same on both platforms
What's required for testing (prerequisites)?
An Android RN app with a WebView and some JS to inject
Compatibility
Checklist
README.md
example/App.js
)