From 5ac2043b144ac77dc9a1ded7e9c554d40b562226 Mon Sep 17 00:00:00 2001 From: Eric Dvorsak Date: Wed, 15 Nov 2017 11:04:24 +0100 Subject: [PATCH] Fixes for react-native 0.49 (#8) * remove override depreacted in react-native 0.47 * fix weaker access priviledges on dispatchEvent method * fix prop-types and create-class --- .../reactnativewebviewbridge/WebViewBridgeManager.java | 2 +- .../reactnativewebviewbridge/WebViewBridgePackage.java | 1 - webview-bridge/index.android.js | 6 ++++-- webview-bridge/index.ios.js | 10 ++++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgeManager.java b/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgeManager.java index a3afe18..1d1c16c 100644 --- a/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgeManager.java +++ b/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgeManager.java @@ -500,7 +500,7 @@ public class WebViewBridgeManager extends ReactWebViewManager { ((ReactWebView) webView).cleanupCallbacksAndDestroy(); } - private static void dispatchEvent(WebView webView, Event event) { + protected static void dispatchEvent(WebView webView, Event event) { ReactContext reactContext = (ReactContext) webView.getContext(); EventDispatcher eventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); diff --git a/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgePackage.java b/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgePackage.java index 7b7ef68..b4d6b2f 100644 --- a/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgePackage.java +++ b/android/src/main/java/com/github/alinz/reactnativewebviewbridge/WebViewBridgePackage.java @@ -33,7 +33,6 @@ public class WebViewBridgePackage implements ReactPackage { ); } - @Override public List> createJSModules() { return Arrays.asList(); } diff --git a/webview-bridge/index.android.js b/webview-bridge/index.android.js index 31aefcb..01c0670 100644 --- a/webview-bridge/index.android.js +++ b/webview-bridge/index.android.js @@ -18,6 +18,7 @@ var ReactNative = require('react-native'); var invariant = require('invariant'); var keyMirror = require('keymirror'); var resolveAssetSource = require('react-native/Libraries/Image/resolveAssetSource'); +var createReactClass = require('create-react-class'); var { ReactNativeViewAttributes, @@ -33,7 +34,8 @@ var { WebViewBridgeManager } } = ReactNative; -var { PropTypes } = React; + +var PropTypes = require('prop-types'); var RCT_WEBVIEWBRIDGE_REF = 'webviewbridge'; @@ -48,7 +50,7 @@ var RCTWebViewBridge = requireNativeComponent('RCTWebViewBridge', WebViewBridge) /** * Renders a native WebView. */ -var WebViewBridge = React.createClass({ +var WebViewBridge = createReactClass({ propTypes: { ...RCTWebViewBridge.propTypes, diff --git a/webview-bridge/index.ios.js b/webview-bridge/index.ios.js index 1801909..2ca962c 100644 --- a/webview-bridge/index.ios.js +++ b/webview-bridge/index.ios.js @@ -1,8 +1,6 @@ 'use strict'; -import React, { - PropTypes -} from 'react'; +import React from 'react'; import ReactNative, { requireNativeComponent, EdgeInsetsPropType, @@ -13,6 +11,10 @@ import ReactNative, { Text, ActivityIndicatorIOS } from 'react-native'; + +var createReactClass = require('create-react-class'); +var PropTypes = require('prop-types'); + import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource'; import deprecatedPropType from 'react-native/Libraries/Utilities/deprecatedPropType'; import invariant from 'fbjs/lib/invariant'; @@ -73,7 +75,7 @@ var defaultRenderError = (errorDomain, errorCode, errorDesc) => ( * Renders a native WebView. */ -var WKWebView = React.createClass({ +var WKWebView = createReactClass({ statics: { JSNavigationScheme: JSNavigationScheme, NavigationType: NavigationType,