Skip to content

Commit f3e90bf

Browse files
committed
add ability to reset a given bridge for reloading webviews
1 parent 77b5263 commit f3e90bf

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

WebViewJavascriptBridge/WebViewJavascriptBridge.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ typedef void (^WVJBHandler)(id data, WVJBResponse* response);
1414
- (void)callHandler:(NSString*)handlerName;
1515
- (void)callHandler:(NSString*)handlerName data:(id)data;
1616
- (void)callHandler:(NSString*)handlerName data:(id)data responseCallback:(WVJBResponseCallback)responseCallback;
17+
- (void)reset;
1718
@end
1819

1920
@interface WVJBResponse : NSObject

WebViewJavascriptBridge/WebViewJavascriptBridge.m

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,10 @@ + (id)bridgeForWebView:(UIWebView *)webView handler:(WVJBHandler)handler {
3737
+ (id)bridgeForWebView:(UIWebView *)webView webViewDelegate:(id<UIWebViewDelegate>)webViewDelegate handler:(WVJBHandler)messageHandler {
3838
WebViewJavascriptBridge* bridge = [[WebViewJavascriptBridge alloc] init];
3939
bridge.messageHandler = messageHandler;
40-
bridge.startupMessageQueue = [NSMutableArray array];
41-
bridge.responseCallbacks = [NSMutableDictionary dictionary];
42-
bridge.messageHandlers = [NSMutableDictionary dictionary];
43-
bridge.uniqueId = 0;
4440
bridge.webView = webView;
4541
bridge.webViewDelegate = webViewDelegate;
42+
bridge.messageHandlers = [NSMutableDictionary dictionary];
43+
[bridge reset];
4644
webView.delegate = bridge;
4745
return bridge;
4846
}
@@ -74,6 +72,12 @@ - (void)registerHandler:(NSString *)handlerName handler:(WVJBHandler)handler {
7472
[self.messageHandlers setObject:handler forKey:handlerName];
7573
}
7674

75+
- (void)reset {
76+
self.startupMessageQueue = [NSMutableArray array];
77+
self.responseCallbacks = [NSMutableDictionary dictionary];
78+
self.uniqueId = 0;
79+
}
80+
7781
- (void)_sendData:(NSDictionary *)data responseCallback:(WVJBResponseCallback)responseCallback handlerName:(NSString*)handlerName {
7882
NSMutableDictionary* message = [NSMutableDictionary dictionaryWithObject:data forKey:@"data"];
7983

0 commit comments

Comments
 (0)