@@ -9,108 +9,108 @@ _______STRINGIFY(
99 var sendMessageQueue = [];
1010 var receiveMessageQueue = [];
1111 var messageHandlers = {};
12-
13- var CUSTOM_PROTOCOL_SCHEME = ' wvjbscheme' ;
14- var QUEUE_HAS_MESSAGE = ' __WVJB_QUEUE_MESSAGE__' ;
15-
12+
13+ var CUSTOM_PROTOCOL_SCHEME = ' wvjbscheme' ;
14+ var QUEUE_HAS_MESSAGE = ' __WVJB_QUEUE_MESSAGE__' ;
15+
1616 var responseCallbacks = {};
1717 var uniqueId = 1 ;
18-
19- function _createQueueReadyIframe (doc) {
18+
19+ function _createQueueReadyIframe (doc) {
2020 messagingIframe = doc.createElement (' iframe' );
21- messagingIframe.style .display = ' none' ;
21+ messagingIframe.style .display = ' none' ;
2222 messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + ' ://' + QUEUE_HAS_MESSAGE;
2323 doc.documentElement .appendChild (messagingIframe);
24- }
24+ }
2525
26- function init (messageHandler) {
26+ function init (messageHandler) {
2727 if (WebViewJavascriptBridge._messageHandler ) { throw new Error (' WebViewJavascriptBridge.init called twice' ); }
2828 WebViewJavascriptBridge._messageHandler = messageHandler;
2929 var receivedMessages = receiveMessageQueue;
3030 receiveMessageQueue = null;
31- for (var i=0 ; i<receivedMessages.length ; i++) {
31+ for (var i=0 ; i<receivedMessages.length ; i++) {
3232 _dispatchMessageFromObjC (receivedMessages[i]);
33- }
34- }
33+ }
34+ }
3535
36- function send (data, responseCallback) {
36+ function send (data, responseCallback) {
3737 _doSend ({ data:data }, responseCallback);
38- }
39-
40- function registerHandler (handlerName, handler) {
38+ }
39+
40+ function registerHandler (handlerName, handler) {
4141 messageHandlers[handlerName] = handler;
42- }
43-
44- function callHandler (handlerName, data, responseCallback) {
42+ }
43+
44+ function callHandler (handlerName, data, responseCallback) {
4545 _doSend ({ handlerName:handlerName, data:data }, responseCallback);
46- }
47-
48- function _doSend (message, responseCallback) {
49- if (responseCallback) {
46+ }
47+
48+ function _doSend (message, responseCallback) {
49+ if (responseCallback) {
5050 var callbackId = ' cb_' +(uniqueId++)+' _' +new Date ().getTime ();
5151 responseCallbacks[callbackId] = responseCallback;
5252 message[' callbackId' ] = callbackId;
53- }
53+ }
5454 sendMessageQueue.push (message);
5555 messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + ' ://' + QUEUE_HAS_MESSAGE;
56- }
56+ }
5757
58- function _fetchQueue () {
58+ function _fetchQueue () {
5959 var messageQueueString = JSON.stringify (sendMessageQueue);
6060 sendMessageQueue = [];
6161 return messageQueueString;
62- }
62+ }
6363
64- function _dispatchMessageFromObjC (messageJSON) {
65- setTimeout (function _timeoutDispatchMessageFromObjC () {
64+ function _dispatchMessageFromObjC (messageJSON) {
65+ setTimeout (function _timeoutDispatchMessageFromObjC () {
6666 var message = JSON.parse (messageJSON);
6767 var messageHandler;
6868 var responseCallback;
6969
70- if (message.responseId ) {
70+ if (message.responseId ) {
7171 responseCallback = responseCallbacks[message.responseId ];
72- if (!responseCallback) { return ; }
72+ if (!responseCallback) { return ; }
7373 responseCallback (message.responseData );
7474 delete responseCallbacks[message.responseId ];
75- } else {
76- if (message.callbackId ) {
75+ } else {
76+ if (message.callbackId ) {
7777 var callbackResponseId = message.callbackId ;
78- responseCallback = function (responseData) {
78+ responseCallback = function (responseData) {
7979 _doSend ({ responseId:callbackResponseId, responseData:responseData });
80- }
81- }
82-
80+ }
81+ }
82+
8383 var handler = WebViewJavascriptBridge._messageHandler ;
84- if (message.handlerName ) {
84+ if (message.handlerName ) {
8585 handler = messageHandlers[message.handlerName ];
86- }
87-
88- try {
86+ }
87+
88+ try {
8989 handler (message.data , responseCallback);
90- } catch (exception) {
91- if (typeof console != ' undefined' ) {
90+ } catch (exception) {
91+ if (typeof console != ' undefined' ) {
9292 console.log (" WebViewJavascriptBridge: WARNING: javascript handler threw." , message, exception);
93- }
94- }
95- }
96- })
97- }
98-
99- function _handleMessageFromObjC (messageJSON) {
100- if (receiveMessageQueue) {
93+ }
94+ }
95+ }
96+ })
97+ }
98+
99+ function _handleMessageFromObjC (messageJSON) {
100+ if (receiveMessageQueue) {
101101 receiveMessageQueue.push (messageJSON);
102- } else {
102+ } else {
103103 _dispatchMessageFromObjC (messageJSON);
104- }
105- }
104+ }
105+ }
106106
107- window.WebViewJavascriptBridge = {
108- init: init,
109- send: send,
110- registerHandler: registerHandler,
111- callHandler: callHandler,
112- _fetchQueue: _fetchQueue,
113- _handleMessageFromObjC: _handleMessageFromObjC
107+ window.WebViewJavascriptBridge = {
108+ init: init,
109+ send: send,
110+ registerHandler: registerHandler,
111+ callHandler: callHandler,
112+ _fetchQueue: _fetchQueue,
113+ _handleMessageFromObjC: _handleMessageFromObjC
114114 };
115115
116116 var doc = document;
0 commit comments