You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2014/08/29 22:27:07 UTC
[2/2] ios commit: Update JS snapshot to version 3.6.0 (via coho)
Update JS snapshot to version 3.6.0 (via coho)
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/9ee0e55c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/9ee0e55c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/9ee0e55c
Branch: refs/heads/3.6.x
Commit: 9ee0e55cd4e1b579a05df35423b9d8fdc5beac7f
Parents: 14e2dde
Author: Shazron Abdullah <sh...@apache.org>
Authored: Fri Aug 29 13:24:58 2014 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Fri Aug 29 13:24:58 2014 -0700
----------------------------------------------------------------------
CordovaLib/cordova.js | 55 ++++++++++++++++++++++++++++------------------
1 file changed, 34 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/9ee0e55c/CordovaLib/cordova.js
----------------------------------------------------------------------
diff --git a/CordovaLib/cordova.js b/CordovaLib/cordova.js
index 4f64444..05b79c7 100644
--- a/CordovaLib/cordova.js
+++ b/CordovaLib/cordova.js
@@ -1,5 +1,5 @@
// Platform: ios
-// 3.6.0-dev-7e845f3
+// 3.6.3
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -19,7 +19,7 @@
under the License.
*/
;(function() {
-var CORDOVA_JS_BUILD_LABEL = '3.6.0-dev-7e845f3';
+var CORDOVA_JS_BUILD_LABEL = '3.6.3';
// file: src/scripts/require.js
/*jshint -W079 */
@@ -265,7 +265,7 @@ var cordova = {
try {
cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback);
} catch (e) {
- console.log("Error in error callback: " + callbackId + " = "+e);
+ console.log("Error in success callback: " + callbackId + " = "+e);
}
},
@@ -826,7 +826,8 @@ var cordova = require('cordova'),
XHR_OPTIONAL_PAYLOAD: 3,
IFRAME_HASH_NO_PAYLOAD: 4,
// Bundling the payload turns out to be slower. Probably since it has to be URI encoded / decoded.
- IFRAME_HASH_WITH_PAYLOAD: 5
+ IFRAME_HASH_WITH_PAYLOAD: 5,
+ WK_WEBVIEW_BINDING: 6
},
bridgeMode,
execIframe,
@@ -921,7 +922,15 @@ function iOSExec() {
// Use IFRAME_NAV elsewhere since it's faster and XHR bridge
// seems to have bugs in newer OS's (CB-3900, CB-3359, CB-5457, CB-4970, CB-4998, CB-5134)
if (bridgeMode === undefined) {
- bridgeMode = navigator.userAgent.indexOf(' 5_') == -1 ? jsToNativeModes.IFRAME_NAV: jsToNativeModes.XHR_NO_PAYLOAD;
+ if (navigator.userAgent) {
+ bridgeMode = navigator.userAgent.indexOf(' 5_') == -1 ? jsToNativeModes.IFRAME_NAV: jsToNativeModes.XHR_NO_PAYLOAD;
+ } else {
+ bridgeMode = jsToNativeModes.IFRAME_NAV;
+ }
+ }
+
+ if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.cordova && window.webkit.messageHandlers.cordova.postMessage) {
+ bridgeMode = jsToNativeModes.WK_WEBVIEW_BINDING;
}
var successCallback, failCallback, service, action, actionArgs, splitCommand;
@@ -973,20 +982,24 @@ function iOSExec() {
// effectively clone the command arguments in case they are mutated before
// the command is executed.
commandQueue.push(JSON.stringify(command));
-
- // If we're in the context of a stringByEvaluatingJavaScriptFromString call,
- // then the queue will be flushed when it returns; no need for a poke.
- // Also, if there is already a command in the queue, then we've already
- // poked the native side, so there is no reason to do so again.
- if (!isInContextOfEvalJs && commandQueue.length == 1) {
- switch (bridgeMode) {
- case jsToNativeModes.XHR_NO_PAYLOAD:
- case jsToNativeModes.XHR_WITH_PAYLOAD:
- case jsToNativeModes.XHR_OPTIONAL_PAYLOAD:
- pokeNativeViaXhr();
- break;
- default: // iframe-based.
- pokeNativeViaIframe();
+
+ if (bridgeMode === jsToNativeModes.WK_WEBVIEW_BINDING) {
+ window.webkit.messageHandlers.cordova.postMessage(command);
+ } else {
+ // If we're in the context of a stringByEvaluatingJavaScriptFromString call,
+ // then the queue will be flushed when it returns; no need for a poke.
+ // Also, if there is already a command in the queue, then we've already
+ // poked the native side, so there is no reason to do so again.
+ if (!isInContextOfEvalJs && commandQueue.length == 1) {
+ switch (bridgeMode) {
+ case jsToNativeModes.XHR_NO_PAYLOAD:
+ case jsToNativeModes.XHR_WITH_PAYLOAD:
+ case jsToNativeModes.XHR_OPTIONAL_PAYLOAD:
+ pokeNativeViaXhr();
+ break;
+ default: // iframe-based.
+ pokeNativeViaIframe();
+ }
}
}
}
@@ -1539,11 +1552,11 @@ function handlePluginsObject(path, moduleList, finishPluginLoading) {
function findCordovaPath() {
var path = null;
var scripts = document.getElementsByTagName('script');
- var term = 'cordova.js';
+ var term = '/cordova.js';
for (var n = scripts.length-1; n>-1; n--) {
var src = scripts[n].src.replace(/\?.*$/, ''); // Strip any query param (CB-6007).
if (src.indexOf(term) == (src.length - term.length)) {
- path = src.substring(0, src.length - term.length);
+ path = src.substring(0, src.length - term.length) + '/';
break;
}
}