Allowing turning on / off DOM storage on android webviews

Summary:
Was developing on a WebView and couldnt get it to run. Turns out its JS code mostly depends on `localStorage` and I realized it wasnt turned on in RN. This PR adds a prop, similar to `javascriptEnabledAndroid` to be able to turn DOM storage on / off.

TBH I dont really know how it works on IOS, so I created an android specific thingy. I assume DOM storage is enabled by default on IOS.
Closes https://github.com/facebook/react-native/pull/5065

Reviewed By: svcscm

Differential Revision: D2797735

Pulled By: androidtrunkagent

fb-gh-sync-id: cd60cfa4d24d80fb82e4f54f387a4517a99e75ab
This commit is contained in:
odino
2015-12-31 18:03:37 -08:00
committed by facebook-github-bot-4
parent 55fe7ac9ae
commit 6793128435
4 changed files with 20 additions and 1 deletions

View File

@@ -38,7 +38,7 @@ var WebView = React.createClass({
propTypes: {
...View.propTypes,
renderError: PropTypes.func,
renderError: PropTypes.func,
renderLoading: PropTypes.func,
url: PropTypes.string,
html: PropTypes.string,
@@ -54,6 +54,12 @@ var WebView = React.createClass({
*/
javaScriptEnabledAndroid: PropTypes.bool,
/**
* Used on Android only, controls whether DOM Storage is enabled or not
* @platform android
*/
domStorageEnabledAndroid: PropTypes.bool,
/**
* Sets the JS to be injected when the webpage loads.
*/
@@ -117,6 +123,7 @@ var WebView = React.createClass({
injectedJavaScript={this.props.injectedJavaScript}
userAgent={this.props.userAgent}
javaScriptEnabledAndroid={this.props.javaScriptEnabledAndroid}
domStorageEnabledAndroid={this.props.domStorageEnabledAndroid}
contentInset={this.props.contentInset}
automaticallyAdjustContentInsets={this.props.automaticallyAdjustContentInsets}
onLoadingStart={this.onLoadingStart}