Updated Branches: refs/heads/master 9d1676804 -> 334b19779
[ios]CB-2189: support ArrayBuffer over exec bridge Project: http://git-wip-us.apache.org/repos/asf/cordova-js/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-js/commit/334b1977 Tree: http://git-wip-us.apache.org/repos/asf/cordova-js/tree/334b1977 Diff: http://git-wip-us.apache.org/repos/asf/cordova-js/diff/334b1977 Branch: refs/heads/master Commit: 334b19779c48c9dd79137bf04821fb86ae7efc47 Parents: 9d16768 Author: Michal Mocny <[email protected]> Authored: Thu Jan 10 13:26:26 2013 -0500 Committer: Michal Mocny <[email protected]> Committed: Thu Jan 10 16:52:31 2013 -0500 ---------------------------------------------------------------------- lib/ios/exec.js | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-js/blob/334b1977/lib/ios/exec.js ---------------------------------------------------------------------- diff --git a/lib/ios/exec.js b/lib/ios/exec.js index 1c2c1f2..08cdc15 100644 --- a/lib/ios/exec.js +++ b/lib/ios/exec.js @@ -103,6 +103,27 @@ function iOSExec() { {success:successCallback, fail:failCallback}; } + // Binary! + var encodeArrayBufferAsBase64 = function(ab) { + var arr = new Uint8Array(ab); + var binary = ''; + var len = arr.length; + for (var i = 0; i < len; i++) { + binary += String.fromCharCode(arr[i]); + } + return window.btoa(binary); + }; + actionArgs.forEach(function(arg, i) { + if (Object.prototype.toString.call(arg) != Object.prototype.toString.call(new ArrayBuffer())) { + return; + } + actionArgs[i] = { + 'CDVType': 'ArrayBuffer', + 'data': encodeArrayBufferAsBase64(arg) + }; + }); + + console.log(actionArgs); var command = [callbackId, service, action, actionArgs]; // Stringify and queue the command. We stringify to command now to
