You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by lo...@apache.org on 2013/05/29 23:56:06 UTC
[4/7] webworks commit: [CB-3473] updated cordova.js
[CB-3473] updated cordova.js
Project: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/commit/4a699006
Tree: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/tree/4a699006
Diff: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/diff/4a699006
Branch: refs/heads/2.8.x
Commit: 4a699006b723e97f972bef00328d091d7c9c5032
Parents: a5190fb
Author: lorinbeer <lo...@adobe.com>
Authored: Wed May 29 13:29:11 2013 -0700
Committer: lorinbeer <lo...@adobe.com>
Committed: Wed May 29 14:55:21 2013 -0700
----------------------------------------------------------------------
blackberry/javascript/cordova.blackberry.js | 1590 ++++------------------
1 files changed, 272 insertions(+), 1318 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/4a699006/blackberry/javascript/cordova.blackberry.js
----------------------------------------------------------------------
diff --git a/blackberry/javascript/cordova.blackberry.js b/blackberry/javascript/cordova.blackberry.js
index 57b0f3a..a2eb10b 100644
--- a/blackberry/javascript/cordova.blackberry.js
+++ b/blackberry/javascript/cordova.blackberry.js
@@ -1,9 +1,5 @@
// Platform: blackberry
-
-// dev-4-gabc9de8
-
-// File generated at :: Tue Apr 30 2013 10:52:06 GMT-0700 (PDT)
-
+// 2.8.0rc1-2-geedbf67
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -22,26 +18,36 @@
specific language governing permissions and limitations
under the License.
*/
-
;(function() {
-
+var CORDOVA_JS_BUILD_LABEL = '2.8.0rc1-2-geedbf67';
// file: lib/scripts/require.js
var require,
define;
(function () {
- var modules = {};
+ var modules = {},
// Stack of moduleIds currently being built.
- var requireStack = [];
+ requireStack = [],
// Map of module ID -> index into requireStack of modules currently being built.
- var inProgressModules = {};
+ inProgressModules = {},
+ SEPERATOR = ".";
+
+
function build(module) {
- var factory = module.factory;
+ var factory = module.factory,
+ localRequire = function (id) {
+ var resultantId = id;
+ //Its a relative path, so lop off the last portion and add the id (minus "./")
+ if (id.charAt(0) === ".") {
+ resultantId = module.id.slice(0, module.id.lastIndexOf(SEPERATOR)) + SEPERATOR + id.slice(2);
+ }
+ return require(resultantId);
+ };
module.exports = {};
delete module.factory;
- factory(require, module.exports, module);
+ factory(localRequire, module.exports, module);
return module.exports;
}
@@ -953,10 +959,7 @@ define("cordova/platform", function(require, exports, module) {
module.exports = {
id: "blackberry",
runtime: function () {
- if (navigator.userAgent.indexOf("BB10") > -1) {
- return 'qnx';
- }
- else if (navigator.userAgent.indexOf("PlayBook") > -1) {
+ if (navigator.userAgent.indexOf("PlayBook") > -1) {
return 'air';
}
else if (navigator.userAgent.indexOf("BlackBerry") > -1) {
@@ -5386,7 +5389,7 @@ module.exports = {
model: "PlayBook",
name: "PlayBook", // deprecated: please use device.model
uuid: info.uuid,
- cordova: "dev"
+ cordova: CORDOVA_JS_BUILD_LABEL
});
}),
request = new blackberry.transport.RemoteFunctionCall("org/apache/cordova/getDeviceInfo");
@@ -6231,7 +6234,6 @@ function Device() {
this.available = false;
this.platform = null;
this.version = null;
- this.name = null;
this.uuid = null;
this.cordova = null;
this.model = null;
@@ -6240,12 +6242,15 @@ function Device() {
channel.onCordovaReady.subscribe(function() {
me.getInfo(function(info) {
+ var buildLabel = info.cordova;
+ if (buildLabel != CORDOVA_JS_BUILD_LABEL) {
+ buildLabel += ' JS=' + CORDOVA_JS_BUILD_LABEL;
+ }
me.available = true;
me.platform = info.platform;
me.version = info.version;
- me.name = info.name;
me.uuid = info.uuid;
- me.cordova = info.cordova;
+ me.cordova = buildLabel;
me.model = info.model;
channel.onCordovaInfoReady.fire();
},function(e) {
@@ -8553,10 +8558,13 @@ var exec = require('cordova/exec');
var utils = require('cordova/utils');
var UseConsole = true;
+var UseLogger = true;
var Queued = [];
var DeviceReady = false;
var CurrentLevel;
+var originalConsole = console;
+
/**
* Logging levels
*/
@@ -8617,8 +8625,7 @@ logger.level = function (value) {
* Getter/Setter for the useConsole functionality
*
* When useConsole is true, the logger will log via the
- * browser 'console' object. Otherwise, it will use the
- * native Logger plugin.
+ * browser 'console' object.
*/
logger.useConsole = function (value) {
if (arguments.length) UseConsole = !!value;
@@ -8643,6 +8650,18 @@ logger.useConsole = function (value) {
};
/**
+ * Getter/Setter for the useLogger functionality
+ *
+ * When useLogger is true, the logger will log via the
+ * native Logger plugin.
+ */
+logger.useLogger = function (value) {
+ // Enforce boolean
+ if (arguments.length) UseLogger = !!value;
+ return UseLogger;
+};
+
+/**
* Logs a message at the LOG level.
*
* Parameters passed after message are used applied to
@@ -8711,24 +8730,26 @@ logger.logLevel = function(level /* , ... */) {
return;
}
- // if not using the console, use the native logger
- if (!UseConsole) {
+ // Log using the native logger if that is enabled
+ if (UseLogger) {
exec(null, null, "Logger", "logLevel", [level, message]);
- return;
}
- // make sure console is not using logger
- if (console.__usingCordovaLogger) {
- throw new Error("console and logger are too intertwingly");
- }
+ // Log using the console if that is enabled
+ if (UseConsole) {
+ // make sure console is not using logger
+ if (console.__usingCordovaLogger) {
+ throw new Error("console and logger are too intertwingly");
+ }
- // log to the console
- switch (level) {
- case logger.LOG: console.log(message); break;
- case logger.ERROR: console.log("ERROR: " + message); break;
- case logger.WARN: console.log("WARN: " + message); break;
- case logger.INFO: console.log("INFO: " + message); break;
- case logger.DEBUG: console.log("DEBUG: " + message); break;
+ // log to the console
+ switch (level) {
+ case logger.LOG: originalConsole.log(message); break;
+ case logger.ERROR: originalConsole.log("ERROR: " + message); break;
+ case logger.WARN: originalConsole.log("WARN: " + message); break;
+ case logger.INFO: originalConsole.log("INFO: " + message); break;
+ case logger.DEBUG: originalConsole.log("DEBUG: " + message); break;
+ }
}
};
@@ -8989,7 +9010,7 @@ module.exports = {
// Some platforms take an array of button label names.
// Other platforms take a comma separated list.
// For compatibility, we convert to the desired type based on the platform.
- if (platform.id == "android" || platform.id == "ios" || platform.id == "windowsphone") {
+ if (platform.id == "android" || platform.id == "ios" || platform.id == "windowsphone" || platform.id == "blackberry10") {
if (typeof _buttonLabels === 'string') {
var buttonLabelString = _buttonLabels;
_buttonLabels = _buttonLabels.split(","); // not crazy about changing the var type here
@@ -9013,12 +9034,14 @@ module.exports = {
* @param {Function} resultCallback The callback that is called when user clicks on a button.
* @param {String} title Title of the dialog (default: "Prompt")
* @param {Array} buttonLabels Array of strings for the button labels (default: ["OK","Cancel"])
+ * @param {String} defaultText Textbox input value (default: "Default text")
*/
- prompt: function(message, resultCallback, title, buttonLabels) {
+ prompt: function(message, resultCallback, title, buttonLabels, defaultText) {
var _message = (message || "Prompt message");
var _title = (title || "Prompt");
var _buttonLabels = (buttonLabels || ["OK","Cancel"]);
- exec(resultCallback, null, "Notification", "prompt", [_message, _title, _buttonLabels]);
+ var _defaultText = (defaultText || "Default text");
+ exec(resultCallback, null, "Notification", "prompt", [_message, _title, _buttonLabels, _defaultText]);
},
/**
@@ -9053,1299 +9076,236 @@ modulemapper.defaults('cordova/plugin/notification', 'navigator.notification');
});
-// file: lib/blackberry/plugin/qnx/InAppBrowser.js
-define("cordova/plugin/qnx/InAppBrowser", function(require, exports, module) {
+// file: lib/blackberry/plugin/qnx/compass/bbsymbols.js
+define("cordova/plugin/qnx/compass/bbsymbols", function(require, exports, module) {
-var cordova = require('cordova'),
- modulemapper = require('cordova/modulemapper'),
- origOpen = modulemapper.getOriginalSymbol(window, 'open'),
- browser = {
- close: function () { } //dummy so we don't have to check for undefined
- };
-var navigate = {
- "_blank": function (url, whitelisted) {
- return origOpen(url, "_blank");
- },
+var modulemapper = require('cordova/modulemapper');
- "_self": function (url, whitelisted) {
- if (whitelisted) {
- window.location.href = url;
- return window;
- }
- else {
- return origOpen(url, "_blank");
- }
- },
+modulemapper.merges('cordova/plugin/qnx/compass', 'navigator.compass');
+
+});
+
+// file: lib/blackberry/plugin/qnx/inappbrowser/bbsymbols.js
+define("cordova/plugin/qnx/inappbrowser/bbsymbols", function(require, exports, module) {
+
+
+var modulemapper = require('cordova/modulemapper');
- "_system": function (url, whitelisted) {
- blackberry.invoke.invoke({
- target: "sys.browser",
- uri: url
- }, function () {}, function () {});
+modulemapper.clobbers('cordova/plugin/InAppBrowser', 'open');
+
+});
+
+// file: lib/common/plugin/requestFileSystem.js
+define("cordova/plugin/requestFileSystem", function(require, exports, module) {
+
+var argscheck = require('cordova/argscheck'),
+ FileError = require('cordova/plugin/FileError'),
+ FileSystem = require('cordova/plugin/FileSystem'),
+ exec = require('cordova/exec');
+
+/**
+ * Request a file system in which to store application data.
+ * @param type local file system type
+ * @param size indicates how much storage space, in bytes, the application expects to need
+ * @param successCallback invoked with a FileSystem object
+ * @param errorCallback invoked if error occurs retrieving file system
+ */
+var requestFileSystem = function(type, size, successCallback, errorCallback) {
+ argscheck.checkArgs('nnFF', 'requestFileSystem', arguments);
+ var fail = function(code) {
+ errorCallback && errorCallback(new FileError(code));
+ };
- return {
- close: function () { }
+ if (type < 0 || type > 3) {
+ fail(FileError.SYNTAX_ERR);
+ } else {
+ // if successful, return a FileSystem object
+ var success = function(file_system) {
+ if (file_system) {
+ if (successCallback) {
+ // grab the name and root from the file system object
+ var result = new FileSystem(file_system.name, file_system.root);
+ successCallback(result);
+ }
+ }
+ else {
+ // no FileSystem object returned
+ fail(FileError.NOT_FOUND_ERR);
+ }
};
+ exec(success, fail, "File", "requestFileSystem", [type, size]);
}
};
-module.exports = {
- open: function (args, win, fail) {
- var url = args[0],
- target = args[1] || '_self',
- a = document.createElement('a');
+module.exports = requestFileSystem;
- //Make all URLs absolute
- a.href = url;
- url = a.href;
+});
- switch (target) {
- case '_self':
- case '_system':
- case '_blank':
- break;
- default:
- target = '_blank';
- break;
+// file: lib/common/plugin/resolveLocalFileSystemURI.js
+define("cordova/plugin/resolveLocalFileSystemURI", function(require, exports, module) {
+
+var argscheck = require('cordova/argscheck'),
+ DirectoryEntry = require('cordova/plugin/DirectoryEntry'),
+ FileEntry = require('cordova/plugin/FileEntry'),
+ FileError = require('cordova/plugin/FileError'),
+ exec = require('cordova/exec');
+
+/**
+ * Look up file system Entry referred to by local URI.
+ * @param {DOMString} uri URI referring to a local file or directory
+ * @param successCallback invoked with Entry object corresponding to URI
+ * @param errorCallback invoked if error occurs retrieving file system entry
+ */
+module.exports = function(uri, successCallback, errorCallback) {
+ argscheck.checkArgs('sFF', 'resolveLocalFileSystemURI', arguments);
+ // error callback
+ var fail = function(error) {
+ errorCallback && errorCallback(new FileError(error));
+ };
+ // sanity check for 'not:valid:filename'
+ if(!uri || uri.split(":").length > 2) {
+ setTimeout( function() {
+ fail(FileError.ENCODING_ERR);
+ },0);
+ return;
+ }
+ // if successful, return either a file or directory entry
+ var success = function(entry) {
+ var result;
+ if (entry) {
+ if (successCallback) {
+ // create appropriate Entry object
+ result = (entry.isDirectory) ? new DirectoryEntry(entry.name, entry.fullPath) : new FileEntry(entry.name, entry.fullPath);
+ successCallback(result);
+ }
+ }
+ else {
+ // no Entry object returned
+ fail(FileError.NOT_FOUND_ERR);
}
+ };
- webworks.exec(function (whitelisted) {
- browser = navigate[target](url, whitelisted);
- }, fail, "org.apache.cordova", "isWhitelisted", [url], true);
+ exec(success, fail, "File", "resolveLocalFileSystemURI", [uri]);
+};
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "" };
+});
+
+// file: lib/common/plugin/splashscreen.js
+define("cordova/plugin/splashscreen", function(require, exports, module) {
+
+var exec = require('cordova/exec');
+
+var splashscreen = {
+ show:function() {
+ exec(null, null, "SplashScreen", "show", []);
},
- close: function (args, win, fail) {
- browser.close();
- return { "status" : cordova.callbackStatus.OK, "message" : "" };
+ hide:function() {
+ exec(null, null, "SplashScreen", "hide", []);
}
};
+module.exports = splashscreen;
+
+});
+
+// file: lib/common/plugin/splashscreen/symbols.js
+define("cordova/plugin/splashscreen/symbols", function(require, exports, module) {
+
+
+var modulemapper = require('cordova/modulemapper');
+
+modulemapper.clobbers('cordova/plugin/splashscreen', 'navigator.splashscreen');
+
});
-// file: lib/blackberry/plugin/qnx/battery.js
-define("cordova/plugin/qnx/battery", function(require, exports, module) {
+// file: lib/blackberry/plugin/webworks/accelerometer.js
+define("cordova/plugin/webworks/accelerometer", function(require, exports, module) {
var cordova = require('cordova'),
- interval;
+ callback;
module.exports = {
start: function (args, win, fail) {
- interval = window.setInterval(function () {
+ window.removeEventListener("devicemotion", callback);
+ callback = function (motion) {
win({
- level: navigator.webkitBattery.level * 100,
- isPlugged: navigator.webkitBattery.charging
+ x: motion.accelerationIncludingGravity.x,
+ y: motion.accelerationIncludingGravity.y,
+ z: motion.accelerationIncludingGravity.z,
+ timestamp: motion.timestamp
});
- }, 500);
+ };
+ window.addEventListener("devicemotion", callback);
return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "WebWorks Is On It" };
},
-
stop: function (args, win, fail) {
- window.clearInterval(interval);
- return { "status" : cordova.callbackStatus.OK, "message" : "stopped" };
+ window.removeEventListener("devicemotion", callback);
+ return { "status" : cordova.callbackStatus.OK, "message" : "removed" };
}
};
});
-// file: lib/blackberry/plugin/qnx/camera.js
-define("cordova/plugin/qnx/camera", function(require, exports, module) {
+// file: lib/blackberry/plugin/webworks/logger.js
+define("cordova/plugin/webworks/logger", function(require, exports, module) {
var cordova = require('cordova');
module.exports = {
- takePicture: function (args, win, fail) {
- var noop = function () {};
- blackberry.invoke.card.invokeCamera("photo", function (path) {
- win("file://" + path);
- }, noop, noop);
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "WebWorks Is On It" };
+ log: function (args, win, fail) {
+ console.log(args);
+ return {"status" : cordova.callbackStatus.OK,
+ "message" : 'Message logged to console: ' + args};
}
};
});
-// file: lib/blackberry/plugin/qnx/capture.js
-define("cordova/plugin/qnx/capture", function(require, exports, module) {
-
-var cordova = require('cordova');
+// file: lib/blackberry/plugin/webworks/media.js
+define("cordova/plugin/webworks/media", function(require, exports, module) {
-function capture(action, win, fail) {
- var noop = function () {};
-
- blackberry.invoke.card.invokeCamera(action, function (path) {
- var sb = blackberry.io.sandbox;
- blackberry.io.sandbox = false;
- window.webkitRequestFileSystem(window.PERSISTENT, 1024, function (fs) {
- fs.root.getFile(path, {}, function (fe) {
- fe.file(function (file) {
- file.fullPath = fe.fullPath;
- win([file]);
- blackberry.io.sandbox = sb;
- }, fail);
- }, fail);
- }, fail);
- }, noop, noop);
-}
+var cordova = require('cordova'),
+ audioObjects = {};
module.exports = {
- getSupportedAudioModes: function (args, win, fail) {
- return {"status": cordova.callbackStatus.OK, "message": []};
- },
- getSupportedImageModes: function (args, win, fail) {
- return {"status": cordova.callbackStatus.OK, "message": []};
- },
- getSupportedVideoModes: function (args, win, fail) {
- return {"status": cordova.callbackStatus.OK, "message": []};
- },
- captureImage: function (args, win, fail) {
- if (args[0].limit > 0) {
- capture("photo", win, fail);
+ create: function (args, win, fail) {
+ if (!args.length) {
+ return {"status" : 9, "message" : "Media Object id was not sent in arguments"};
}
- else {
- win([]);
+
+ var id = args[0],
+ src = args[1];
+
+ if (typeof src == "undefined"){
+ audioObjects[id] = new Audio();
+ } else {
+ audioObjects[id] = new Audio(src);
}
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "WebWorks Is On It" };
+ return {"status" : 1, "message" : "Audio object created" };
},
- captureVideo: function (args, win, fail) {
- if (args[0].limit > 0) {
- capture("video", win, fail);
- }
- else {
- win([]);
+ startPlayingAudio: function (args, win, fail) {
+ if (!args.length) {
+ return {"status" : 9, "message" : "Media Object id was not sent in arguments"};
}
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "WebWorks Is On It" };
- },
- captureAudio: function (args, win, fail) {
- fail("Capturing Audio not supported");
- return {"status": cordova.callbackStatus.NO_RESULT, "message": "WebWorks Is On It"};
- }
-};
+ var id = args[0],
+ audio = audioObjects[id],
+ result;
-});
+ if (args.length === 1 || typeof args[1] == "undefined" ) {
+ return {"status" : 9, "message" : "Media source argument not found"};
+ }
-// file: lib/blackberry/plugin/qnx/compass.js
-define("cordova/plugin/qnx/compass", function(require, exports, module) {
+ if (audio) {
+ audio.pause();
+ audioObjects[id] = undefined;
+ }
-var exec = require('cordova/exec'),
- utils = require('cordova/utils'),
- CompassHeading = require('cordova/plugin/CompassHeading'),
- CompassError = require('cordova/plugin/CompassError'),
- timers = {},
- listeners = [],
- heading = null,
- running = false,
- start = function () {
- exec(function (result) {
- heading = new CompassHeading(result.magneticHeading, result.trueHeading, result.headingAccuracy, result.timestamp);
- listeners.forEach(function (l) {
- l.win(heading);
- });
- }, function (e) {
- listeners.forEach(function (l) {
- l.fail(e);
- });
- },
- "Compass", "start", []);
- running = true;
- },
- stop = function () {
- exec(null, null, "Compass", "stop", []);
- running = false;
- },
- createCallbackPair = function (win, fail) {
- return {win:win, fail:fail};
- },
- removeListeners = function (l) {
- var idx = listeners.indexOf(l);
- if (idx > -1) {
- listeners.splice(idx, 1);
- if (listeners.length === 0) {
- stop();
- }
- }
- },
- compass = {
- /**
- * Asynchronously acquires the current heading.
- * @param {Function} successCallback The function to call when the heading
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the heading data.
- * @param {CompassOptions} options The options for getting the heading data (not used).
- */
- getCurrentHeading:function(successCallback, errorCallback, options) {
- if (typeof successCallback !== "function") {
- throw "getCurrentHeading must be called with at least a success callback function as first parameter.";
- }
-
- var p;
- var win = function(a) {
- removeListeners(p);
- successCallback(a);
- };
- var fail = function(e) {
- removeListeners(p);
- errorCallback(e);
- };
-
- p = createCallbackPair(win, fail);
- listeners.push(p);
-
- if (!running) {
- start();
- }
- },
-
- /**
- * Asynchronously acquires the heading repeatedly at a given interval.
- * @param {Function} successCallback The function to call each time the heading
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the heading data.
- * @param {HeadingOptions} options The options for getting the heading data
- * such as timeout and the frequency of the watch. For iOS, filter parameter
- * specifies to watch via a distance filter rather than time.
- */
- watchHeading:function(successCallback, errorCallback, options) {
- var frequency = (options !== undefined && options.frequency !== undefined) ? options.frequency : 100;
- var filter = (options !== undefined && options.filter !== undefined) ? options.filter : 0;
-
- // successCallback required
- if (typeof successCallback !== "function") {
- console.log("Compass Error: successCallback is not a function");
- return;
- }
-
- // errorCallback optional
- if (errorCallback && (typeof errorCallback !== "function")) {
- console.log("Compass Error: errorCallback is not a function");
- return;
- }
- // Keep reference to watch id, and report heading readings as often as defined in frequency
- var id = utils.createUUID();
-
- var p = createCallbackPair(function(){}, function(e) {
- removeListeners(p);
- errorCallback(e);
- });
- listeners.push(p);
-
- timers[id] = {
- timer:window.setInterval(function() {
- if (heading) {
- successCallback(heading);
- }
- }, frequency),
- listeners:p
- };
-
- if (running) {
- // If we're already running then immediately invoke the success callback
- // but only if we have retrieved a value, sample code does not check for null ...
- if(heading) {
- successCallback(heading);
- }
- } else {
- start();
- }
-
- return id;
- },
-
- /**
- * Clears the specified heading watch.
- * @param {String} watchId The ID of the watch returned from #watchHeading.
- */
- clearWatch:function(id) {
- // Stop javascript timer & remove from timer list
- if (id && timers[id]) {
- window.clearInterval(timers[id].timer);
- removeListeners(timers[id].listeners);
- delete timers[id];
- }
- }
- };
-
-module.exports = compass;
-
-});
-
-// file: lib/blackberry/plugin/qnx/compass/bbsymbols.js
-define("cordova/plugin/qnx/compass/bbsymbols", function(require, exports, module) {
-
-
-var modulemapper = require('cordova/modulemapper');
-
-modulemapper.merges('cordova/plugin/qnx/compass', 'navigator.compass');
-
-});
-
-// file: lib/blackberry/plugin/qnx/device.js
-define("cordova/plugin/qnx/device", function(require, exports, module) {
-
-var channel = require('cordova/channel'),
- cordova = require('cordova');
-
-// Tell cordova channel to wait on the CordovaInfoReady event
-channel.waitForInitialization('onCordovaInfoReady');
-
-module.exports = {
- getDeviceInfo : function(args, win, fail){
- win({
- platform: "BlackBerry",
- version: blackberry.system.softwareVersion,
- model: "Dev Alpha",
- name: "Dev Alpha", // deprecated: please use device.model
- uuid: blackberry.identity.uuid,
- cordova: "dev"
- });
-
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "Device info returned" };
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/qnx/file.js
-define("cordova/plugin/qnx/file", function(require, exports, module) {
-
-/*global WebKitBlobBuilder:false */
-/*global Blob:false */
-var cordova = require('cordova'),
- FileError = require('cordova/plugin/FileError'),
- DirectoryEntry = require('cordova/plugin/DirectoryEntry'),
- FileEntry = require('cordova/plugin/FileEntry'),
- File = require('cordova/plugin/File'),
- FileSystem = require('cordova/plugin/FileSystem'),
- FileReader = require('cordova/plugin/FileReader'),
- nativeRequestFileSystem = window.webkitRequestFileSystem,
- nativeResolveLocalFileSystemURI = function(uri, success, fail) {
- if (uri.substring(0,11) !== "filesystem:") {
- uri = "filesystem:" + uri;
- }
- window.webkitResolveLocalFileSystemURL(uri, success, fail);
- },
- NativeFileReader = window.FileReader;
-
-window.FileReader = FileReader;
-window.File = File;
-
-function getFileSystemName(nativeFs) {
- return (nativeFs.name.indexOf("Persistent") != -1) ? "persistent" : "temporary";
-}
-
-function makeEntry(entry) {
- if (entry.isDirectory) {
- return new DirectoryEntry(entry.name, decodeURI(entry.toURL()).substring(11));
- }
- else {
- return new FileEntry(entry.name, decodeURI(entry.toURL()).substring(11));
- }
-}
-
-module.exports = {
- /* requestFileSystem */
- requestFileSystem: function(args, successCallback, errorCallback) {
- var type = args[0],
- size = args[1];
-
- nativeRequestFileSystem(type, size, function(nativeFs) {
- successCallback(new FileSystem(getFileSystemName(nativeFs), makeEntry(nativeFs.root)));
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* resolveLocalFileSystemURI */
- resolveLocalFileSystemURI: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- successCallback(makeEntry(entry));
- }, function(error) {
- var code = error.code;
- switch (code) {
- case 5:
- code = FileError.NOT_FOUND_ERR;
- break;
-
- case 2:
- code = FileError.ENCODING_ERR;
- break;
- }
- errorCallback(code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* DirectoryReader */
- readEntries: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(dirEntry) {
- var reader = dirEntry.createReader();
- reader.readEntries(function(entries) {
- var retVal = [];
- for (var i = 0; i < entries.length; i++) {
- retVal.push(makeEntry(entries[i]));
- }
- successCallback(retVal);
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* Entry */
- getMetadata: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- entry.getMetadata(function(metaData) {
- successCallback(metaData.modificationTime);
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- moveTo: function(args, successCallback, errorCallback) {
- var srcUri = args[0],
- parentUri = args[1],
- name = args[2];
-
- nativeResolveLocalFileSystemURI(srcUri, function(source) {
- nativeResolveLocalFileSystemURI(parentUri, function(parent) {
- source.moveTo(parent, name, function(entry) {
- successCallback(makeEntry(entry));
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- copyTo: function(args, successCallback, errorCallback) {
- var srcUri = args[0],
- parentUri = args[1],
- name = args[2];
-
- nativeResolveLocalFileSystemURI(srcUri, function(source) {
- nativeResolveLocalFileSystemURI(parentUri, function(parent) {
- source.copyTo(parent, name, function(entry) {
- successCallback(makeEntry(entry));
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- remove: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- if (entry.fullPath === "/") {
- errorCallback(FileError.NO_MODIFICATION_ALLOWED_ERR);
- } else {
- entry.remove(
- function (success) {
- if (successCallback) {
- successCallback(success);
- }
- },
- function(error) {
- if (errorCallback) {
- errorCallback(error.code);
- }
- }
- );
- }
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- getParent: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- entry.getParent(function(entry) {
- successCallback(makeEntry(entry));
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* FileEntry */
- getFileMetadata: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- entry.file(function(file) {
- var retVal = new File(file.name, decodeURI(entry.toURL()), file.type, file.lastModifiedDate, file.size);
- successCallback(retVal);
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* DirectoryEntry */
- getDirectory: function(args, successCallback, errorCallback) {
- var uri = args[0],
- path = args[1],
- options = args[2];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- entry.getDirectory(path, options, function(entry) {
- successCallback(makeEntry(entry));
- }, function(error) {
- if (error.code === FileError.INVALID_MODIFICATION_ERR) {
- if (options.create) {
- errorCallback(FileError.PATH_EXISTS_ERR);
- } else {
- errorCallback(FileError.ENCODING_ERR);
- }
- } else {
- errorCallback(error.code);
- }
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- removeRecursively: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- if (entry.fullPath === "/") {
- errorCallback(FileError.NO_MODIFICATION_ALLOWED_ERR);
- } else {
- entry.removeRecursively(
- function (success) {
- if (successCallback) {
- successCallback(success);
- }
- },
- function(error) {
- errorCallback(error.code);
- }
- );
- }
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- getFile: function(args, successCallback, errorCallback) {
- var uri = args[0],
- path = args[1],
- options = args[2];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- entry.getFile(path, options, function(entry) {
- successCallback(makeEntry(entry));
- }, function(error) {
- if (error.code === FileError.INVALID_MODIFICATION_ERR) {
- if (options.create) {
- errorCallback(FileError.PATH_EXISTS_ERR);
- } else {
- errorCallback(FileError.NOT_FOUND_ERR);
- }
- } else {
- errorCallback(error.code);
- }
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* FileReader */
- readAsText: function(args, successCallback, errorCallback) {
- var uri = args[0],
- encoding = args[1];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- var onLoadEnd = function(evt) {
- if (!evt.target.error) {
- successCallback(evt.target.result);
- }
- },
- onError = function(evt) {
- errorCallback(evt.target.error.code);
- };
-
- var reader = new NativeFileReader();
-
- reader.onloadend = onLoadEnd;
- reader.onerror = onError;
- entry.file(function(file) {
- reader.readAsText(file, encoding);
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- readAsDataURL: function(args, successCallback, errorCallback) {
- var uri = args[0];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- var onLoadEnd = function(evt) {
- if (!evt.target.error) {
- successCallback(evt.target.result);
- }
- },
- onError = function(evt) {
- errorCallback(evt.target.error.code);
- };
-
- var reader = new NativeFileReader();
-
- reader.onloadend = onLoadEnd;
- reader.onerror = onError;
- entry.file(function(file) {
- reader.readAsDataURL(file);
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- /* FileWriter */
- write: function(args, successCallback, errorCallback) {
- var uri = args[0],
- text = args[1],
- position = args[2];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- var onWriteEnd = function(evt) {
- if(!evt.target.error) {
- successCallback(evt.target.position - position);
- } else {
- errorCallback(evt.target.error.code);
- }
- },
- onError = function(evt) {
- errorCallback(evt.target.error.code);
- };
-
- entry.createWriter(function(writer) {
- writer.onwriteend = onWriteEnd;
- writer.onerror = onError;
-
- writer.seek(position);
- writer.write(new Blob([text], {type: "text/plain"}));
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- truncate: function(args, successCallback, errorCallback) {
- var uri = args[0],
- size = args[1];
-
- nativeResolveLocalFileSystemURI(uri, function(entry) {
- var onWriteEnd = function(evt) {
- if(!evt.target.error) {
- successCallback(evt.target.length);
- } else {
- errorCallback(evt.target.error.code);
- }
- },
- onError = function(evt) {
- errorCallback(evt.target.error.code);
- };
-
- entry.createWriter(function(writer) {
- writer.onwriteend = onWriteEnd;
- writer.onerror = onError;
-
- writer.truncate(size);
- }, function(error) {
- errorCallback(error.code);
- });
- }, function(error) {
- errorCallback(error.code);
- });
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/qnx/fileTransfer.js
-define("cordova/plugin/qnx/fileTransfer", function(require, exports, module) {
-
-/*global Blob:false */
-var cordova = require('cordova'),
- FileEntry = require('cordova/plugin/FileEntry'),
- FileTransferError = require('cordova/plugin/FileTransferError'),
- FileUploadResult = require('cordova/plugin/FileUploadResult'),
- ProgressEvent = require('cordova/plugin/ProgressEvent'),
- nativeResolveLocalFileSystemURI = function(uri, success, fail) {
- if (uri.substring(0,11) !== "filesystem:") {
- uri = "filesystem:" + uri;
- }
- window.webkitResolveLocalFileSystemURL(uri, success, fail);
- },
- xhr;
-
-function getParentPath(filePath) {
- var pos = filePath.lastIndexOf('/');
- return filePath.substring(0, pos + 1);
-}
-
-function getFileName(filePath) {
- var pos = filePath.lastIndexOf('/');
- return filePath.substring(pos + 1);
-}
-
-function cleanUpPath(filePath) {
- var pos = filePath.lastIndexOf('/');
- return filePath.substring(0, pos) + filePath.substring(pos + 1, filePath.length);
-}
-
-function checkURL(url) {
- return url.indexOf(' ') === -1 ? true : false;
-}
-
-module.exports = {
- abort: function () {
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- upload: function(args, win, fail) {
- var filePath = args[0],
- server = args[1],
- fileKey = args[2],
- fileName = args[3],
- mimeType = args[4],
- params = args[5],
- /*trustAllHosts = args[6],*/
- chunkedMode = args[7],
- headers = args[8];
-
- if (!checkURL(server)) {
- fail(new FileTransferError(FileTransferError.INVALID_URL_ERR));
- }
-
- nativeResolveLocalFileSystemURI(filePath, function(entry) {
- entry.file(function(file) {
- function uploadFile(blobFile) {
- var fd = new FormData();
-
- fd.append(fileKey, blobFile, fileName);
- for (var prop in params) {
- if(params.hasOwnProperty(prop)) {
- fd.append(prop, params[prop]);
- }
- }
-
- xhr = new XMLHttpRequest();
- xhr.open("POST", server);
- xhr.onload = function(evt) {
- if (xhr.status == 200) {
- var result = new FileUploadResult();
- result.bytesSent = file.size;
- result.responseCode = xhr.status;
- result.response = xhr.response;
- win(result);
- } else if (xhr.status == 404) {
- fail(new FileTransferError(FileTransferError.INVALID_URL_ERR, server, filePath, xhr.status));
- } else {
- fail(new FileTransferError(FileTransferError.CONNECTION_ERR, server, filePath, xhr.status));
- }
- };
- xhr.ontimeout = function(evt) {
- fail(new FileTransferError(FileTransferError.CONNECTION_ERR, server, filePath, xhr.status));
- };
- xhr.onerror = function () {
- fail(new FileTransferError(FileTransferError.CONNECTION_ERR, server, filePath, this.status));
- };
- xhr.onprogress = function (evt) {
- win(evt);
- };
-
- for (var header in headers) {
- if (headers.hasOwnProperty(header)) {
- xhr.setRequestHeader(header, headers[header]);
- }
- }
-
- xhr.send(fd);
- }
-
- var bytesPerChunk;
- if (chunkedMode === true) {
- bytesPerChunk = 1024 * 1024; // 1MB chunk sizes.
- } else {
- bytesPerChunk = file.size;
- }
- var start = 0;
- var end = bytesPerChunk;
- while (start < file.size) {
- var chunk = file.slice(start, end, mimeType);
- uploadFile(chunk);
- start = end;
- end = start + bytesPerChunk;
- }
- }, function(error) {
- fail(new FileTransferError(FileTransferError.FILE_NOT_FOUND_ERR));
- });
- }, function(error) {
- fail(new FileTransferError(FileTransferError.FILE_NOT_FOUND_ERR));
- });
-
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- },
-
- download: function (args, win, fail) {
- var source = args[0],
- target = cleanUpPath(args[1]),
- fileWriter;
-
- if (!checkURL(source)) {
- fail(new FileTransferError(FileTransferError.INVALID_URL_ERR));
- }
-
- xhr = new XMLHttpRequest();
-
- function writeFile(entry) {
- entry.createWriter(function (writer) {
- fileWriter = writer;
- fileWriter.onwriteend = function (evt) {
- if (!evt.target.error) {
- win(new FileEntry(entry.name, entry.toURL()));
- } else {
- fail(evt.target.error);
- }
- };
- fileWriter.onerror = function (evt) {
- fail(evt.target.error);
- };
- fileWriter.write(new Blob([xhr.response]));
- }, function (error) {
- fail(error);
- });
- }
-
- xhr.onerror = function (e) {
- fail(new FileTransferError(FileTransferError.CONNECTION_ERR, source, target, xhr.status));
- };
-
- xhr.onload = function () {
- if (xhr.readyState === xhr.DONE) {
- if (xhr.status === 200 && xhr.response) {
- nativeResolveLocalFileSystemURI(getParentPath(target), function (dir) {
- dir.getFile(getFileName(target), {create: true}, writeFile, function (error) {
- fail(new FileTransferError(FileTransferError.FILE_NOT_FOUND_ERR));
- });
- }, function (error) {
- fail(new FileTransferError(FileTransferError.FILE_NOT_FOUND_ERR));
- });
- } else if (xhr.status === 404) {
- fail(new FileTransferError(FileTransferError.INVALID_URL_ERR, source, target, xhr.status));
- } else {
- fail(new FileTransferError(FileTransferError.CONNECTION_ERR, source, target, xhr.status));
- }
- }
- };
- xhr.onprogress = function (evt) {
- win(evt);
- };
-
- xhr.responseType = "blob";
- xhr.open("GET", source, true);
- xhr.send();
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "async"};
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/qnx/inappbrowser/bbsymbols.js
-define("cordova/plugin/qnx/inappbrowser/bbsymbols", function(require, exports, module) {
-
-
-var modulemapper = require('cordova/modulemapper');
-
-modulemapper.clobbers('cordova/plugin/InAppBrowser', 'open');
-
-});
-
-// file: lib/blackberry/plugin/qnx/magnetometer.js
-define("cordova/plugin/qnx/magnetometer", function(require, exports, module) {
-
-var cordova = require('cordova'),
- callback;
-
-module.exports = {
- start: function (args, win, fail) {
- window.removeEventListener("deviceorientation", callback);
- callback = function (orientation) {
- var heading = 360 - orientation.alpha;
- win({
- magneticHeading: heading,
- trueHeading: heading,
- headingAccuracy: 0,
- timestamp: orientation.timeStamp
- });
- };
-
- window.addEventListener("deviceorientation", callback);
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "WebWorks Is On It" };
- },
- stop: function (args, win, fail) {
- window.removeEventListener("deviceorientation", callback);
- return { "status" : cordova.callbackStatus.OK, "message" : "removed" };
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/qnx/manager.js
-define("cordova/plugin/qnx/manager", function(require, exports, module) {
-
-var cordova = require('cordova'),
- plugins = {
- 'NetworkStatus' : require('cordova/plugin/qnx/network'),
- 'Accelerometer' : require('cordova/plugin/webworks/accelerometer'),
- 'Device' : require('cordova/plugin/qnx/device'),
- 'Battery' : require('cordova/plugin/qnx/battery'),
- 'Compass' : require('cordova/plugin/qnx/magnetometer'),
- 'Camera' : require('cordova/plugin/qnx/camera'),
- 'Capture' : require('cordova/plugin/qnx/capture'),
- 'Logger' : require('cordova/plugin/webworks/logger'),
- 'Notification' : require('cordova/plugin/webworks/notification'),
- 'Media': require('cordova/plugin/webworks/media'),
- 'File' : require('cordova/plugin/qnx/file'),
- 'InAppBrowser' : require('cordova/plugin/qnx/InAppBrowser'),
- 'FileTransfer': require('cordova/plugin/qnx/fileTransfer')
- };
-
-module.exports = {
- addPlugin: function (key, module) {
- plugins[key] = require(module);
- },
- exec: function (win, fail, clazz, action, args) {
- var result = {"status" : cordova.callbackStatus.CLASS_NOT_FOUND_EXCEPTION, "message" : "Class " + clazz + " cannot be found"};
-
- if (plugins[clazz]) {
- if (plugins[clazz][action]) {
- result = plugins[clazz][action](args, win, fail);
- }
- else {
- result = { "status" : cordova.callbackStatus.INVALID_ACTION, "message" : "Action not found: " + action };
- }
- }
-
- return result;
- },
- resume: function () {},
- pause: function () {},
- destroy: function () {}
-};
-
-});
-
-// file: lib/blackberry/plugin/qnx/network.js
-define("cordova/plugin/qnx/network", function(require, exports, module) {
-
-var cordova = require('cordova');
-
-module.exports = {
- getConnectionInfo: function (args, win, fail) {
- return { "status": cordova.callbackStatus.OK, "message": blackberry.connection.type};
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/qnx/platform.js
-define("cordova/plugin/qnx/platform", function(require, exports, module) {
-
-var cordova = require('cordova');
-
-module.exports = {
- id: "qnx",
- initialize: function () {
- document.addEventListener("deviceready", function () {
- blackberry.event.addEventListener("pause", function () {
- cordova.fireDocumentEvent("pause");
- });
- blackberry.event.addEventListener("resume", function () {
- cordova.fireDocumentEvent("resume");
- });
-
- window.addEventListener("online", function () {
- cordova.fireDocumentEvent("online");
- });
-
- window.addEventListener("offline", function () {
- cordova.fireDocumentEvent("offline");
- });
- });
- }
-};
-
-});
-
-// file: lib/common/plugin/requestFileSystem.js
-define("cordova/plugin/requestFileSystem", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- FileError = require('cordova/plugin/FileError'),
- FileSystem = require('cordova/plugin/FileSystem'),
- exec = require('cordova/exec');
-
-/**
- * Request a file system in which to store application data.
- * @param type local file system type
- * @param size indicates how much storage space, in bytes, the application expects to need
- * @param successCallback invoked with a FileSystem object
- * @param errorCallback invoked if error occurs retrieving file system
- */
-var requestFileSystem = function(type, size, successCallback, errorCallback) {
- argscheck.checkArgs('nnFF', 'requestFileSystem', arguments);
- var fail = function(code) {
- errorCallback && errorCallback(new FileError(code));
- };
-
- if (type < 0 || type > 3) {
- fail(FileError.SYNTAX_ERR);
- } else {
- // if successful, return a FileSystem object
- var success = function(file_system) {
- if (file_system) {
- if (successCallback) {
- // grab the name and root from the file system object
- var result = new FileSystem(file_system.name, file_system.root);
- successCallback(result);
- }
- }
- else {
- // no FileSystem object returned
- fail(FileError.NOT_FOUND_ERR);
- }
- };
- exec(success, fail, "File", "requestFileSystem", [type, size]);
- }
-};
-
-module.exports = requestFileSystem;
-
-});
-
-// file: lib/common/plugin/resolveLocalFileSystemURI.js
-define("cordova/plugin/resolveLocalFileSystemURI", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- DirectoryEntry = require('cordova/plugin/DirectoryEntry'),
- FileEntry = require('cordova/plugin/FileEntry'),
- FileError = require('cordova/plugin/FileError'),
- exec = require('cordova/exec');
-
-/**
- * Look up file system Entry referred to by local URI.
- * @param {DOMString} uri URI referring to a local file or directory
- * @param successCallback invoked with Entry object corresponding to URI
- * @param errorCallback invoked if error occurs retrieving file system entry
- */
-module.exports = function(uri, successCallback, errorCallback) {
- argscheck.checkArgs('sFF', 'resolveLocalFileSystemURI', arguments);
- // error callback
- var fail = function(error) {
- errorCallback && errorCallback(new FileError(error));
- };
- // sanity check for 'not:valid:filename'
- if(!uri || uri.split(":").length > 2) {
- setTimeout( function() {
- fail(FileError.ENCODING_ERR);
- },0);
- return;
- }
- // if successful, return either a file or directory entry
- var success = function(entry) {
- var result;
- if (entry) {
- if (successCallback) {
- // create appropriate Entry object
- result = (entry.isDirectory) ? new DirectoryEntry(entry.name, entry.fullPath) : new FileEntry(entry.name, entry.fullPath);
- successCallback(result);
- }
- }
- else {
- // no Entry object returned
- fail(FileError.NOT_FOUND_ERR);
- }
- };
-
- exec(success, fail, "File", "resolveLocalFileSystemURI", [uri]);
-};
-
-});
-
-// file: lib/common/plugin/splashscreen.js
-define("cordova/plugin/splashscreen", function(require, exports, module) {
-
-var exec = require('cordova/exec');
-
-var splashscreen = {
- show:function() {
- exec(null, null, "SplashScreen", "show", []);
- },
- hide:function() {
- exec(null, null, "SplashScreen", "hide", []);
- }
-};
-
-module.exports = splashscreen;
-
-});
-
-// file: lib/common/plugin/splashscreen/symbols.js
-define("cordova/plugin/splashscreen/symbols", function(require, exports, module) {
-
-
-var modulemapper = require('cordova/modulemapper');
-
-modulemapper.clobbers('cordova/plugin/splashscreen', 'navigator.splashscreen');
-
-});
-
-// file: lib/blackberry/plugin/webworks/accelerometer.js
-define("cordova/plugin/webworks/accelerometer", function(require, exports, module) {
-
-var cordova = require('cordova'),
- callback;
-
-module.exports = {
- start: function (args, win, fail) {
- window.removeEventListener("devicemotion", callback);
- callback = function (motion) {
- win({
- x: motion.accelerationIncludingGravity.x,
- y: motion.accelerationIncludingGravity.y,
- z: motion.accelerationIncludingGravity.z,
- timestamp: motion.timestamp
- });
- };
- window.addEventListener("devicemotion", callback);
- return { "status" : cordova.callbackStatus.NO_RESULT, "message" : "WebWorks Is On It" };
- },
- stop: function (args, win, fail) {
- window.removeEventListener("devicemotion", callback);
- return { "status" : cordova.callbackStatus.OK, "message" : "removed" };
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/webworks/logger.js
-define("cordova/plugin/webworks/logger", function(require, exports, module) {
-
-var cordova = require('cordova');
-
-module.exports = {
- log: function (args, win, fail) {
- console.log(args);
- return {"status" : cordova.callbackStatus.OK,
- "message" : 'Message logged to console: ' + args};
- }
-};
-
-});
-
-// file: lib/blackberry/plugin/webworks/media.js
-define("cordova/plugin/webworks/media", function(require, exports, module) {
-
-var cordova = require('cordova'),
- audioObjects = {};
-
-module.exports = {
- create: function (args, win, fail) {
- if (!args.length) {
- return {"status" : 9, "message" : "Media Object id was not sent in arguments"};
- }
-
- var id = args[0],
- src = args[1];
-
- if (typeof src == "undefined"){
- audioObjects[id] = new Audio();
- } else {
- audioObjects[id] = new Audio(src);
- }
-
- return {"status" : 1, "message" : "Audio object created" };
- },
- startPlayingAudio: function (args, win, fail) {
- if (!args.length) {
- return {"status" : 9, "message" : "Media Object id was not sent in arguments"};
- }
-
- var id = args[0],
- audio = audioObjects[id],
- result;
-
- if (args.length === 1 || typeof args[1] == "undefined" ) {
- return {"status" : 9, "message" : "Media source argument not found"};
- }
-
- if (audio) {
- audio.pause();
- audioObjects[id] = undefined;
- }
-
- audio = audioObjects[id] = new Audio(args[1]);
- audio.play();
- return {"status" : 1, "message" : "Audio play started" };
+ audio = audioObjects[id] = new Audio(args[1]);
+ audio.play();
+ return {"status" : 1, "message" : "Audio play started" };
},
stopPlayingAudio: function (args, win, fail) {
if (!args.length) {
@@ -10696,9 +9656,7 @@ function UUIDcreatePart(length) {
});
-
window.cordova = require('cordova');
-
// file: lib/scripts/bootstrap.js
(function (context) {
@@ -10776,26 +9734,8 @@ window.cordova = require('cordova');
// file: lib/scripts/bootstrap-blackberry.js
document.addEventListener("DOMContentLoaded", function () {
- switch(require('cordova/platform').runtime()) {
- case 'qnx':
- var wwjs = document.createElement("script");
- wwjs.src = "local:///chrome/webworks.js";
- wwjs.onload = function () {
- document.addEventListener("webworksready", function () {
- require('cordova/channel').onNativeReady.fire();
- });
- };
- wwjs.onerror = function () {
- console.error('there was a problem loading webworks.js');
- };
- document.head.appendChild(wwjs);
- break;
- case 'air':
+ if (require('cordova/platform').runtime() === 'air') {
require('cordova/channel').onNativeReady.fire();
- break;
- case 'java':
- //nothing to do for java
- break;
}
});
@@ -10836,7 +9776,7 @@ document.addEventListener("DOMContentLoaded", function () {
// See plugman's plugin_loader.js for the details of this object.
// This function is only called if the really is a plugins array that isn't empty.
// Otherwise the XHR response handler will just call finishPluginLoading().
- function handlePluginsObject(modules) {
+ function handlePluginsObject(modules, path) {
// First create the callback for when all plugins are loaded.
var mapper = context.cordova.require('cordova/modulemapper');
onScriptLoadingComplete = function() {
@@ -10870,35 +9810,49 @@ document.addEventListener("DOMContentLoaded", function () {
// Now inject the scripts.
for (var i = 0; i < modules.length; i++) {
- injectScript(modules[i].file);
+ injectScript(path + modules[i].file);
}
}
-
+ // Find the root of the app
+ var path = '';
+ var scripts = document.getElementsByTagName('script');
+ var term = 'cordova.js';
+ for (var n = scripts.length-1; n>-1; n--) {
+ var src = scripts[n].src;
+ if (src.indexOf(term) == (src.length - term.length)) {
+ path = src.substring(0, src.length - term.length);
+ break;
+ }
+ }
// Try to XHR the cordova_plugins.json file asynchronously.
- try { // we commented we were going to try, so let us actually try and catch
- var xhr = new context.XMLHttpRequest();
- xhr.onload = function() {
- // If the response is a JSON string which composes an array, call handlePluginsObject.
- // If the request fails, or the response is not a JSON array, just call finishPluginLoading.
- var obj = this.responseText && JSON.parse(this.responseText);
- if (obj && obj instanceof Array && obj.length > 0) {
- handlePluginsObject(obj);
- } else {
- finishPluginLoading();
- }
- };
- xhr.onerror = function() {
+ var xhr = new XMLHttpRequest();
+ xhr.onload = function() {
+ // If the response is a JSON string which composes an array, call handlePluginsObject.
+ // If the request fails, or the response is not a JSON array, just call finishPluginLoading.
+ var obj;
+ try {
+ obj = (this.status == 0 || this.status == 200) && this.responseText && JSON.parse(this.responseText);
+ } catch (err) {
+ // obj will be undefined.
+ }
+ if (Array.isArray(obj) && obj.length > 0) {
+ handlePluginsObject(obj, path);
+ } else {
finishPluginLoading();
- };
- xhr.open('GET', 'cordova_plugins.json', true); // Async
+ }
+ };
+ xhr.onerror = function() {
+ finishPluginLoading();
+ };
+ var plugins_json = path + 'cordova_plugins.json';
+ try { // we commented we were going to try, so let us actually try and catch
+ xhr.open('GET', plugins_json, true); // Async
xhr.send();
- }
- catch(err){
+ } catch(err){
finishPluginLoading();
}
}(window));
-
})();
\ No newline at end of file