File tree Expand file tree Collapse file tree 3 files changed +14
-6
lines changed
WebViewJavascriptBridgeAbstract
WebViewJavascriptBridge_OSX
WebViewJavascriptBridge_iOS Expand file tree Collapse file tree 3 files changed +14
-6
lines changed Original file line number Diff line number Diff line change 2
2
#define kCustomProtocolScheme @" wvjbscheme"
3
3
#define kQueueHasMessage @" __WVJB_QUEUE_MESSAGE__"
4
4
5
+ #if TARGET_OS_IPHONE && defined(__IPHONE_5_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0)
6
+ #define WEAK_FALLBACK weak
7
+ #elif TARGET_OS_MAC && defined(__MAC_10_7) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_7)
8
+ #define WEAK_FALLBACK weak
9
+ #else
10
+ #define WEAK_FALLBACK unsafe_unretained
11
+ #endif
12
+
5
13
typedef void (^WVJBResponseCallback)(id responseData);
6
14
typedef void (^WVJBHandler)(id data, WVJBResponseCallback responseCallback);
7
15
8
16
@interface WebViewJavascriptBridgeAbstract : NSObject
9
17
10
- @property (nonatomic , weak ) id webView;
11
- @property (nonatomic , weak ) id webViewDelegate;
18
+ @property (nonatomic , WEAK_FALLBACK ) id webView;
19
+ @property (nonatomic , WEAK_FALLBACK ) id webViewDelegate;
12
20
@property (nonatomic , strong ) NSMutableArray *startupMessageQueue;
13
21
@property (nonatomic , strong ) NSMutableDictionary *responseCallbacks;
14
22
@property (nonatomic , strong ) NSMutableDictionary *messageHandlers;
Original file line number Diff line number Diff line change 3
3
4
4
@interface WebViewJavascriptBridge : WebViewJavascriptBridgeAbstract
5
5
6
- @property (nonatomic , weak ) WebView *webView;
7
- @property (nonatomic , weak ) id webViewDelegate;
6
+ @property (nonatomic , WEAK_FALLBACK ) WebView *webView;
7
+ @property (nonatomic , WEAK_FALLBACK ) id webViewDelegate;
8
8
9
9
+ (id )bridgeForWebView : (WebView *)webView handler : (WVJBHandler)handler ;
10
10
+ (id )bridgeForWebView : (WebView *)webView webViewDelegate : (id )webViewDelegate handler : (WVJBHandler)handler ;
Original file line number Diff line number Diff line change 3
3
4
4
@interface WebViewJavascriptBridge : WebViewJavascriptBridgeAbstract <UIWebViewDelegate>
5
5
6
- @property (nonatomic , weak ) UIWebView *webView;
7
- @property (nonatomic , weak ) id <UIWebViewDelegate> webViewDelegate;
6
+ @property (nonatomic , WEAK_FALLBACK ) UIWebView *webView;
7
+ @property (nonatomic , WEAK_FALLBACK ) id <UIWebViewDelegate> webViewDelegate;
8
8
9
9
+ (id )bridgeForWebView : (UIWebView*)webView handler : (WVJBHandler)handler ;
10
10
+ (id )bridgeForWebView : (UIWebView*)webView webViewDelegate : (id <UIWebViewDelegate>)webViewDelegate handler : (WVJBHandler)handler ;
You can’t perform that action at this time.
0 commit comments