Commit Graph

505 Commits

Author SHA1 Message Date
Thibault Malbranche f3bdab5a22
feat(Android/iOS postMessage): refactoring the old postMessage implementation (#303)
fixes #29
fixes #272
fixes #221
fixes #105
fixes #66

BREAKING CHANGE: Communication from webview to react-native has been completely rewritten. React-native-webview will not use or override window.postMessage anymore. Reasons behind these changes can be found throughout so many issues that it made sense to go that way.

Instead of using window.postMessage(data, *), please now use window.ReactNativeWebView.postMessage(data).

Side note: if you wish to keep compatibility with the old version when you upgrade, you can use the injectedJavascript prop to do that:

const injectedJavascript = `(function() {
  window.postMessage = function(data) {
    window.ReactNativeWebView.postMessage(data);
  };
})()`;

Huge thanks to @jordansexton and @KoenLav!
2019-02-01 18:37:28 +01:00
semantic-release-bot 79afbd697d chore(release): 4.1.0 [skip ci]
# [4.1.0](https://github.com/react-native-community/react-native-webview/compare/v4.0.0...v4.1.0) (2019-02-01)

### Features

* **WKwebview:** Allow _target links to be opened up in the same way as UIWebView. ([#270](https://github.com/react-native-community/react-native-webview/issues/270)) ([6643a8e](https://github.com/react-native-community/react-native-webview/commit/6643a8e)), closes [#139](https://github.com/react-native-community/react-native-webview/issues/139)
2019-02-01 01:19:38 +00:00
Benjos Antony 6643a8e38d feat(WKwebview): Allow _target links to be opened up in the same way as UIWebView. (#270)
Fixes #139
2019-02-01 02:18:02 +01:00
Thibault Malbranche bf3f790358
chore(readme): Updated linking steps 2019-01-31 16:32:14 +01:00
semantic-release-bot 27b6804ee7 chore(release): 4.0.0 [skip ci]
# [4.0.0](https://github.com/react-native-community/react-native-webview/compare/v3.2.2...v4.0.0) (2019-01-30)

### Features

* **iOS/Android:** Add `cacheEnabled` prop ([#152](https://github.com/react-native-community/react-native-webview/issues/152)) ([83ce79f](https://github.com/react-native-community/react-native-webview/commit/83ce79f))

### BREAKING CHANGES

* **iOS/Android:** This change makes caching enabled by default when previously there was no caching behavior which may cause unexpected behaviour changes in your existing implementations.
2019-01-30 09:34:23 +00:00
Michael Diarmid 83ce79ff89 feat(iOS/Android): Add `cacheEnabled` prop (#152)
Added a new cacheEnabled prop to toggle Android & iOS webview caching behavior.

BREAKING CHANGE:  This change makes caching enabled by default when previously there was no caching behavior which may cause unexpected behaviour changes in your existing implementations.
2019-01-30 10:32:46 +01:00
dkbuntzen de4130c7d8 chore(readme): Updated emoji key link in Readme.md 🧐 (#289)
Just a minor correction of the anchor link in Readme file.
2019-01-30 09:52:44 +01:00
semantic-release-bot 7e9592c08b chore(release): 3.2.2 [skip ci]
## [3.2.2](https://github.com/react-native-community/react-native-webview/compare/v3.2.1...v3.2.2) (2019-01-29)

### Bug Fixes

* **android:** Fix Download on android P  ([#273](https://github.com/react-native-community/react-native-webview/issues/273)) ([15d904f](https://github.com/react-native-community/react-native-webview/commit/15d904f)), closes [#266](https://github.com/react-native-community/react-native-webview/issues/266)
2019-01-29 09:07:15 +00:00
Marcin Ochyra 15d904f769 fix(android): Fix Download on android P (#273)
Fixes #266. 
Now downloading works on Motorola Moto One with Android 9.
2019-01-29 10:05:25 +01:00
semantic-release-bot c518f716c6 chore(release): 3.2.1 [skip ci]
## [3.2.1](https://github.com/react-native-community/react-native-webview/compare/v3.2.0...v3.2.1) (2019-01-23)

### Bug Fixes

* **Gradle:** Allow kotlinVersion override using ext with gradle.properties ([#267](https://github.com/react-native-community/react-native-webview/issues/267)) ([2846e27](https://github.com/react-native-community/react-native-webview/commit/2846e27))
2019-01-23 00:59:21 +00:00
Thibault Malbranche 2846e27fcf
fix(Gradle): Allow kotlinVersion override using ext with gradle.properties (#267)
You can now override kotlin version by defining ext kotlinVersion
2019-01-23 01:58:27 +01:00
allcontributors[bot] 0fdd51de0e chore(readme): add YangXiaomei as a contributor (#268)
Adds @YangXiaomei as a contributor for code, doc.

This was requested by Titozzz [in this comment](https://github.com/react-native-community/react-native-webview/pull/265#issuecomment-456327682)
2019-01-22 11:15:22 +01:00
semantic-release-bot 1f80927c38 chore(release): 3.2.0 [skip ci]
# [3.2.0](https://github.com/react-native-community/react-native-webview/compare/v3.1.3...v3.2.0) (2019-01-22)

### Features

* **android props:** Add `androidHardwareAccelerationDisabled` prop ([#265](https://github.com/react-native-community/react-native-webview/issues/265)) ([d3fc5e6](https://github.com/react-native-community/react-native-webview/commit/d3fc5e6))
2019-01-22 09:22:43 +00:00
Margaret d3fc5e6cde feat(android props): Add `androidHardwareAccelerationDisabled` prop (#265)
* add test code for disable hardware acceleration

* add interface to disable android hardware acceleration

* Update index.d.ts
2019-01-22 10:21:10 +01:00
Thibault Malbranche 05f20862d6
Update README.md 2019-01-21 17:09:44 +01:00
allcontributors[bot] ac59610f55 chore(readme): add smathson as a contributor (#258)
Adds @smathson as a contributor for code, doc.

This was requested by Titozzz [in this comment](https://github.com/react-native-community/react-native-webview/pull/203#issuecomment-455618880)
2019-01-18 18:09:24 +01:00
allcontributors[bot] 73ff31f0d9 chore(readme): add Salakar as a contributor (#257)
Adds @Salakar as a contributor for code, review, ideas, tool.

This was requested by Titozzz [in this comment](https://github.com/react-native-community/react-native-webview/pull/164#issuecomment-455618092)
2019-01-18 18:07:26 +01:00
allcontributors[bot] 9a89a5dc4e chore(readme): add andreipfeiffer as a contributor (#256)
* docs: update README.md

* docs: update .all-contributorsrc
2019-01-18 18:04:36 +01:00
Thibault Malbranche c06e25b437
Update .all-contributorsrc 2019-01-18 18:02:26 +01:00
allcontributors[bot] 44a63c29cb chore(readme): add jamonholmgren as a contributor (#255)
* docs: update README.md

* docs: update .all-contributorsrc

* Update .all-contributorsrc
2019-01-18 17:56:34 +01:00
allcontributors[bot] 93a8928ce0 chore(readme): Setup all-contributors (#254)
Adds @titozzz as a contributor for code, ideas, review, maintenance, test, doc, infra.

This was requested by Titozzz [in this comment](https://github.com/react-native-community/react-native-webview/pull/253#issuecomment-455609852)
2019-01-18 17:48:06 +01:00
semantic-release-bot 2e7960b19d chore(release): 3.1.3 [skip ci]
## [3.1.3](https://github.com/react-native-community/react-native-webview/compare/v3.1.2...v3.1.3) (2019-01-18)

### Bug Fixes

* **gradle:** Add support library as a dependency ([#253](https://github.com/react-native-community/react-native-webview/issues/253)) ([5180033](https://github.com/react-native-community/react-native-webview/commit/5180033)), closes [#174](https://github.com/react-native-community/react-native-webview/issues/174) [#184](https://github.com/react-native-community/react-native-webview/issues/184) [#245](https://github.com/react-native-community/react-native-webview/issues/245)
2019-01-18 15:42:57 +00:00
Thibault Malbranche 518003392a
fix(gradle): Add support library as a dependency (#253)
fixes #174 
fixes #184 
fixes #245
2019-01-18 16:41:52 +01:00
Roy Zheng 245120df0c Fix typo in Reference.md (#252) 2019-01-18 02:26:20 +01:00
semantic-release-bot cf039a550b chore(release): 3.1.2 [skip ci]
## [3.1.2](https://github.com/react-native-community/react-native-webview/compare/v3.1.1...v3.1.2) (2019-01-11)

### Bug Fixes

* **WKWebview:** Update webview property when allowsBackForwardNavigationGestures prop changes ([#173](https://github.com/react-native-community/react-native-webview/issues/173)) ([4bc1dc2](https://github.com/react-native-community/react-native-webview/commit/4bc1dc2))
2019-01-11 18:55:24 +00:00
Chet Corcos 4bc1dc20fd fix(WKWebview): Update webview property when allowsBackForwardNavigationGestures prop changes (#173) 2019-01-11 19:53:55 +01:00
semantic-release-bot ac406bf66f chore(release): 3.1.1 [skip ci]
## [3.1.1](https://github.com/react-native-community/react-native-webview/compare/v3.1.0...v3.1.1) (2019-01-11)

### Bug Fixes

* **WKWebView:** Add "Frame load interrupted" error handling for OAuth ([#147](https://github.com/react-native-community/react-native-webview/issues/147)) ([6f61224](https://github.com/react-native-community/react-native-webview/commit/6f61224))
2019-01-11 14:03:17 +00:00
José Luis Pereira 6f612242fe fix(WKWebView): Add "Frame load interrupted" error handling for OAuth (#147) 2019-01-11 15:01:49 +01:00
semantic-release-bot c9a777bdfb chore(release): 3.1.0 [skip ci]
# [3.1.0](https://github.com/react-native-community/react-native-webview/compare/v3.0.3...v3.1.0) (2019-01-11)

### Features

* **WKWebview:** Add incognito prop to iOS WKWebview ([62f871c](https://github.com/react-native-community/react-native-webview/commit/62f871c))
2019-01-11 14:00:30 +00:00
José Luis Pereira 62f871c186 feat(WKWebview): Add incognito prop to iOS WKWebview
Allows the webview to be opened with an ephemeral data storage.
2019-01-11 14:59:03 +01:00
semantic-release-bot 6d64db99ec chore(release): 3.0.3 [skip ci]
## [3.0.3](https://github.com/react-native-community/react-native-webview/compare/v3.0.2...v3.0.3) (2019-01-11)

### Bug Fixes

* **android:** Blank screen due to missing super() call in RNCWebViewManager.java ([#241](https://github.com/react-native-community/react-native-webview/issues/241)) ([4e1d113](https://github.com/react-native-community/react-native-webview/commit/4e1d113)), closes [#240](https://github.com/react-native-community/react-native-webview/issues/240) [#224](https://github.com/react-native-community/react-native-webview/issues/224)
2019-01-11 09:46:34 +00:00
Thibault Malbranche 4e1d113c70
fix(android): Blank screen due to missing super() call in RNCWebViewManager.java (#241)
fixes #240 #224
2019-01-11 10:44:42 +01:00
semantic-release-bot 09a9e57b71 chore(release): 3.0.2 [skip ci]
## [3.0.2](https://github.com/react-native-community/react-native-webview/compare/v3.0.1...v3.0.2) (2019-01-10)

### Bug Fixes

* **android:** replace deprecated `WebView.PictureListener`->`onContentSizeChange` impl ([#164](https://github.com/react-native-community/react-native-webview/issues/164)) ([9014c4c](https://github.com/react-native-community/react-native-webview/commit/9014c4c))
2019-01-10 10:39:14 +00:00
Michael Diarmid 9014c4cac0 fix(android): replace deprecated `WebView.PictureListener`->`onContentSizeChange` impl (#164)
* [android] replace deprecated `WebView.PictureListener` onSizeChanged implementation

* [android] use pre-provided w/h values
2019-01-10 11:38:05 +01:00
semantic-release-bot 028e3f8512 chore(release): 3.0.1 [skip ci]
## [3.0.1](https://github.com/react-native-community/react-native-webview/compare/v3.0.0...v3.0.1) (2019-01-10)

### Bug Fixes

* **android:** cleanup `build.gradle` & fix [#218](https://github.com/react-native-community/react-native-webview/issues/218) ([#238](https://github.com/react-native-community/react-native-webview/issues/238)) ([24ec4f7](https://github.com/react-native-community/react-native-webview/commit/24ec4f7))
2019-01-10 10:25:22 +00:00
Michael Diarmid 24ec4f752c fix(android): cleanup `build.gradle` & fix #218 (#238)
This changes the following:
 - Fixes #218 
 - Removed unused Fabric Maven config
 - Versions now correctly checking `rootProject.ext.X` instead of `rootProject.X` to match behaviour from all other libs (RNFB needs changing as well 🙈)
 - Swapped `implementation` for `api` for react native sources - only used to build.


![image](https://user-images.githubusercontent.com/5347038/50959941-1af23980-14bc-11e9-8677-e60f3ee744e7.png)
![image](https://user-images.githubusercontent.com/5347038/50959955-22b1de00-14bc-11e9-8afa-d1abbba46a64.png)

cc @terrytianliang
2019-01-10 11:23:46 +01:00
semantic-release-bot f64f526376 chore(release): 3.0.0 [skip ci]
# [3.0.0](https://github.com/react-native-community/react-native-webview/compare/v2.15.0...v3.0.0) (2019-01-07)

### Features

* **WKWebview:** Add shared process pool so cookies and localStorage are shared across webviews in iOS ([#138](https://github.com/react-native-community/react-native-webview/issues/138)) ([afadc62](https://github.com/react-native-community/react-native-webview/commit/afadc62)), closes [#68](https://github.com/react-native-community/react-native-webview/issues/68)

### BREAKING CHANGES

* **WKWebview:** useSharedProcessPool prop is set to true by default. If you want the old behavior, please use useSharedProcessPool={false}
2019-01-07 14:20:36 +00:00
kylemantesso afadc62ada feat(WKWebview): Add shared process pool so cookies and localStorage are shared across webviews in iOS (#138)
* fix(WKWebview): [iOS] Add shared process pool so cookies and localStorage are shared across webviews (#68)

* Add optional shared process pool

BREAKING CHANGE: useSharedProcessPool prop is set to true by default. If you want the old behavior, please use useSharedProcessPool={false}
2019-01-07 15:19:32 +01:00
semantic-release-bot 335792ce4c chore(release): 2.15.0 [skip ci]
# [2.15.0](https://github.com/react-native-community/react-native-webview/compare/v2.14.3...v2.15.0) (2019-01-07)

### Features

* **Android Webview:** Add file download support for Android ([#203](https://github.com/react-native-community/react-native-webview/issues/203)) ([2114a9b](https://github.com/react-native-community/react-native-webview/commit/2114a9b)), closes [#80](https://github.com/react-native-community/react-native-webview/issues/80)
2019-01-07 14:04:31 +00:00
Scott Mathson 2114a9b327 feat(Android Webview): Add file download support for Android (#203)
Addresses #80.

Caveat: I am not an Android developer. This code comes from a fork of the original RN WebView that we have been using in production for some time, so all credit goes to @Oblongmana: https://github.com/Oblongmana/react-native-webview-file-upload-android.

Setting up a DownloadManager for the WebView is pretty straightforward, as is adding any known cookies to the request. Most of the complication comes from the requirement after SDK 23 to ask the user for the WRITE_EXTERNAL_STORAGE permission. Unfortunately there is no mechanism to suspend the download request until permission is resolved so this code stores off the request and sets up a listener that enqueues the download once permissions are resolved so the user experience is really nice.

I didn't see anything in the way of tests or documentation that needs to be added for this change, so let me know if I missed anything. Thanks!
2019-01-07 15:02:47 +01:00
Chi-AnTai 8427a8db69 chore(docs): Add update style doc (#225)
* add style doc in reference.md

* Update Reference.md
2019-01-07 14:56:48 +01:00
Jamon Holmgren 279147b39d chore(docs): Add testimonial to README (#217)
Adds a testimonial from Garrett McCollough (with his permission) to the README.
2019-01-02 10:07:25 +01:00
semantic-release-bot ef2f7e1530 chore(release): 2.14.3 [skip ci]
## [2.14.3](https://github.com/react-native-community/react-native-webview/compare/v2.14.2...v2.14.3) (2018-12-14)

### Bug Fixes

* **WKWebview:** Reverts [#134](https://github.com/react-native-community/react-native-webview/issues/134), fixes issue where keyboard dismiss would scroll to top ([#210](https://github.com/react-native-community/react-native-webview/issues/210)) ([9f37dde](https://github.com/react-native-community/react-native-webview/commit/9f37dde))
2018-12-14 23:03:16 +00:00
Ryan Linton 9f37ddea61 fix(WKWebview): Reverts #134, fixes issue where keyboard dismiss would scroll to top (#210) 2018-12-14 15:01:58 -08:00
semantic-release-bot 832356678c chore(release): 2.14.2 [skip ci]
## [2.14.2](https://github.com/react-native-community/react-native-webview/compare/v2.14.1...v2.14.2) (2018-12-14)

### Bug Fixes

* **WKWebview:** Surface evaluateJavaScript errors ([#179](https://github.com/react-native-community/react-native-webview/issues/179)) ([ec469cf](https://github.com/react-native-community/react-native-webview/commit/ec469cf))
2018-12-14 10:26:30 +00:00
Ryan Linton ec469cf00d fix(WKWebview): Surface evaluateJavaScript errors (#179)
In the current code using `startInLoadingState` and `injectedJavaScript` will result in an infinite loading state if `injectedJavaScript` fails to evaluate for some reason. This adds a red box error explaining there was a failure to evaluate javascript. In my case this was do to the JS string not returning a valid type so I've added a that as a potential solution in the error message and added some documentation to the API Reference with some additional warnings.

To reproduce the existing behavior setup a webview with `startInLoadingState` and `injectedJavaScript` that returns an invalid type (in my case it returned a function). You should see an infinite loading state as `onLoadEnd` is never called.

Try the same with this branch and you'll get a nice red box error suggesting one potential solution to the problem.

![simulator screen shot - iphone 8 plus - 2018-11-28 at 15 09 25](https://user-images.githubusercontent.com/1944151/49193714-fccde100-f334-11e8-89dc-bf220e0adf23.png)
2018-12-14 11:24:52 +01:00
semantic-release-bot 6eaca5f005 chore(release): 2.14.1 [skip ci]
## [2.14.1](https://github.com/react-native-community/react-native-webview/compare/v2.14.0...v2.14.1) (2018-12-14)

### Bug Fixes

* **WKWebview:** Fixed non-working iOS alert. ([#188](https://github.com/react-native-community/react-native-webview/issues/188)) ([41d9bdc](https://github.com/react-native-community/react-native-webview/commit/41d9bdc))
2018-12-14 10:20:18 +00:00
npm-ued 41d9bdcce4 fix(WKWebview): Fixed non-working iOS alert. (#188) 2018-12-14 11:18:48 +01:00
semantic-release-bot 42706fc733 chore(release): 2.14.0 [skip ci]
# [2.14.0](https://github.com/react-native-community/react-native-webview/compare/v2.13.0...v2.14.0) (2018-11-30)

### Features

* **Android Webview:** Support onShouldStartLoadWithRequest on Android ([#107](https://github.com/react-native-community/react-native-webview/issues/107)) ([b1b6626](https://github.com/react-native-community/react-native-webview/commit/b1b6626)), closes [#59](https://github.com/react-native-community/react-native-webview/issues/59) [#106](https://github.com/react-native-community/react-native-webview/issues/106) [#106](https://github.com/react-native-community/react-native-webview/issues/106)
2018-11-30 02:12:14 +00:00
Thibault Malbranche b1b662628e feat(Android Webview): Support onShouldStartLoadWithRequest on Android (#107)
This PR adds support for `onShouldStartLoadWithRequest` on android.

The initial PR was #59

The issue for this PR is: #106

fixes #106
2018-11-30 02:59:12 +01:00