http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/8789b412/lib/wp7/plugin/wp7/DOMStorage.js ---------------------------------------------------------------------- diff --git a/lib/wp7/plugin/wp7/DOMStorage.js b/lib/wp7/plugin/wp7/DOMStorage.js deleted file mode 100644 index b67ad40..0000000 --- a/lib/wp7/plugin/wp7/DOMStorage.js +++ /dev/null @@ -1,195 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - -(function(win,doc) { - -var docDomain = null; -try { - docDomain = doc.domain; -} catch (err) { - //console.log("caught exception trying to access document.domain"); -} - -// conditionally patch the window.localStorage and window.sessionStorage objects -if (!docDomain || docDomain.length === 0) { - - var DOMStorage = function(type) { - // default type is local - if(type == "sessionStorage") { - this._type = type; - } - Object.defineProperty( this, "length", { - configurable: true, - get: function(){ return this.getLength(); } - }); - }; - - DOMStorage.prototype = { - _type:"localStorage", - _result:null, - keys:null, - - onResult:function(key,valueStr) { - if(!this.keys) { - this.keys = []; - } - this._result = valueStr; - }, - - onKeysChanged:function(jsonKeys) { - this.keys = JSON.parse(jsonKeys); - - var key; - for(var n = 0,len = this.keys.length; n < len; n++) { - key = this.keys[n]; - if(!this.hasOwnProperty(key)) { - Object.defineProperty( this, key, { - configurable: true, - get: function(){ return this.getItem(key); }, - set: function(val){ return this.setItem(key,val); } - }); - } - } - - }, - - initialize:function() { - window.external.Notify("DOMStorage/" + this._type + "/load/keys"); - }, - - /* - The length attribute must return the number of key/value pairs currently present - in the list associated with the object. - */ - getLength:function() { - if(!this.keys) { - this.initialize(); - } - return this.keys.length; - }, - - /* - The key(n) method must return the name of the nth key in the list. - The order of keys is user-agent defined, but must be consistent within an object so long as the number of keys doesn't change. - (Thus, adding or removing a key may change the order of the keys, but merely changing the value of an existing key must not.) - If n is greater than or equal to the number of key/value pairs in the object, then this method must return null. - */ - key:function(n) { - if(!this.keys) { - this.initialize(); - } - - if(n >= this.keys.length) { - return null; - } else { - return this.keys[n]; - } - }, - - /* - The getItem(key) method must return the current value associated with the given key. - If the given key does not exist in the list associated with the object then this method must return null. - */ - getItem:function(key) { - if(!this.keys) { - this.initialize(); - } - - var retVal = null; - if(this.keys.indexOf(key) > -1) { - window.external.Notify("DOMStorage/" + this._type + "/get/" + key); - retVal = window.unescape(decodeURIComponent(this._result)); - this._result = null; - } - return retVal; - }, - /* - The setItem(key, value) method must first check if a key/value pair with the given key already exists - in the list associated with the object. - If it does not, then a new key/value pair must be added to the list, with the given key and with its value set to value. - If the given key does exist in the list, then it must have its value updated to value. - If it couldn't set the new value, the method must raise an QUOTA_EXCEEDED_ERR exception. - (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.) - */ - setItem:function(key,value) { - if(!this.keys) { - this.initialize(); - } - window.external.Notify("DOMStorage/" + this._type + "/set/" + key + "/" + encodeURIComponent(window.escape(value))); - }, - - /* - The removeItem(key) method must cause the key/value pair with the given key to be removed from the list - associated with the object, if it exists. - If no item with that key exists, the method must do nothing. - */ - removeItem:function(key) { - if(!this.keys) { - this.initialize(); - } - var index = this.keys.indexOf(key); - if(index > -1) { - this.keys.splice(index,1); - // TODO: need sanity check for keys ? like 'clear','setItem', ... - window.external.Notify("DOMStorage/" + this._type + "/remove/" + key); - delete this[key]; - } - }, - - /* - The clear() method must atomically cause the list associated with the object to be emptied of all - key/value pairs, if there are any. - If there are none, then the method must do nothing. - */ - clear:function() { - if(!this.keys) { - this.initialize(); - } - - for(var n=0,len=this.keys.length; n < len;n++) { - // TODO: do we need a sanity check for keys ? like 'clear','setItem', ... - delete this[this.keys[n]]; - } - this.keys = []; - window.external.Notify("DOMStorage/" + this._type + "/clear/"); - } - }; - - // initialize DOMStorage - - Object.defineProperty( window, "localStorage", { - writable: false, - configurable: false, - value:new DOMStorage("localStorage") - }); - window.localStorage.initialize(); - - Object.defineProperty( window, "sessionStorage", { - writable: false, - configurable: false, - value:new DOMStorage("sessionStorage") - }); - window.sessionStorage.initialize(); -} - -})(window, document); - -module.exports = null;
http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/8789b412/lib/wp7/plugin/wp7/FileTransfer.js ---------------------------------------------------------------------- diff --git a/lib/wp7/plugin/wp7/FileTransfer.js b/lib/wp7/plugin/wp7/FileTransfer.js deleted file mode 100644 index b2f8686..0000000 --- a/lib/wp7/plugin/wp7/FileTransfer.js +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - -var exec = require('cordova/exec'), - FileTransferError = require('cordova/plugin/FileTransferError'); - -// Note that the only difference between this and the default implementation is the -// object literal passed to exec() in upload - jm - -/** - * FileTransfer uploads a file to a remote server. - * @constructor - */ -var FileTransfer = function() {}; - -/** -* Given an absolute file path, uploads a file on the device to a remote server -* using a multipart HTTP request. -* @param filePath {String} Full path of the file on the device -* @param server {String} URL of the server to receive the file -* @param successCallback (Function} Callback to be invoked when upload has completed -* @param errorCallback {Function} Callback to be invoked upon error -* @param options {FileUploadOptions} Optional parameters such as file name and mimetype -* @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false -*/ - -FileTransfer.prototype.upload = function(filePath, server, successCallback, errorCallback, options, trustAllHosts) { - - // sanity parameter checking - if (!filePath || !server) throw new Error("FileTransfer.upload requires filePath and server URL parameters at the minimum."); - // check for options - var fileKey = null; - var fileName = null; - var mimeType = null; - var params = null; - var chunkedMode = true; - - if (options) { - fileKey = options.fileKey; - fileName = options.fileName; - mimeType = options.mimeType; - if (options.chunkedMode !== null || typeof options.chunkedMode != "undefined") { - chunkedMode = options.chunkedMode; - } - - // if options are specified, and NOT a string already, we will stringify it. - if(options.params && typeof options.params != typeof "") { - var arrParams = []; - for(var v in options.params) { - arrParams.push(v + "=" + options.params[v]); - } - params = encodeURI(arrParams.join("&")); - } - } - - var fail = function(e) { - var error = new FileTransferError(e.code, e.source, e.target, e.http_status); - errorCallback(error); - }; - exec(successCallback, fail, 'FileTransfer', 'upload', [{"filePath":filePath, - "server":server, - "fileKey":fileKey, - "fileName":fileName, - "mimeType":mimeType, - "params":params, - "trustAllHosts":trustAllHosts, - "chunkedMode":chunkedMode}]); -}; - -/** - * Downloads a file form a given URL and saves it to the specified directory. - * @param source {String} URL of the server to receive the file - * @param target {String} Full path of the file on the device - * @param successCallback (Function} Callback to be invoked when upload has completed - * @param errorCallback {Function} Callback to be invoked upon error - */ - -FileTransfer.prototype.download = function(source, target, successCallback, errorCallback) { - // sanity parameter checking - if (!source || !target) throw new Error("FileTransfer.download requires source URI and target URI parameters at the minimum."); - var win = function(result) { - var entry = null; - if (result.isDirectory) { - entry = new (require('cordova/plugin/DirectoryEntry'))(); - } - else if (result.isFile) { - entry = new (require('cordova/plugin/FileEntry'))(); - } - entry.isDirectory = result.isDirectory; - entry.isFile = result.isFile; - entry.name = result.name; - entry.fullPath = result.fullPath; - successCallback(entry); - }; - - var fail = function(e) { - var error = new FileTransferError(e.code, e.source, e.target, e.http_status); - errorCallback(error); - }; - - exec(win, errorCallback, 'FileTransfer', 'download', [source, target]); -}; - - -module.exports = FileTransfer; http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/8789b412/lib/wp7/plugin/wp7/FileUploadOptions.js ---------------------------------------------------------------------- diff --git a/lib/wp7/plugin/wp7/FileUploadOptions.js b/lib/wp7/plugin/wp7/FileUploadOptions.js deleted file mode 100644 index 44b0978..0000000 --- a/lib/wp7/plugin/wp7/FileUploadOptions.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - -/** - * Options to customize the HTTP request used to upload files. - * @constructor - * @param fileKey {String} Name of file request parameter. - * @param fileName {String} Filename to be used by the server. Defaults to image.jpg. - * @param mimeType {String} Mimetype of the uploaded file. Defaults to image/jpeg. - * @param params {Object} Object with key: value params to send to the server. - */ -var FileUploadOptions = function(fileKey, fileName, mimeType, params) { - this.fileKey = fileKey || null; - this.fileName = fileName || null; - this.mimeType = mimeType || null; - - if(params && typeof params != typeof "") { - var arrParams = []; - for(var v in params) { - arrParams.push(v + "=" + params[v]); - } - this.params = encodeURIComponent(arrParams.join("&")); - } - else { - this.params = params || null; - } -}; - -module.exports = FileUploadOptions; http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/8789b412/lib/wp7/plugin/wp7/XHRPatch.js ---------------------------------------------------------------------- diff --git a/lib/wp7/plugin/wp7/XHRPatch.js b/lib/wp7/plugin/wp7/XHRPatch.js deleted file mode 100644 index 9c9d62a..0000000 --- a/lib/wp7/plugin/wp7/XHRPatch.js +++ /dev/null @@ -1,230 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - -// TODO: the build process will implicitly wrap this in a define() call -// with a closure of its own; do you need this extra closure? - -var LocalFileSystem = require('cordova/plugin/LocalFileSystem'); - -(function (win, doc) { - -var docDomain = null; -try { - docDomain = doc.domain; -} catch (err) { - //console.log("caught exception trying to access document.domain"); -} - -if (!docDomain || docDomain.length === 0) { - - var aliasXHR = win.XMLHttpRequest; - - win.XMLHttpRequest = function () { }; - win.XMLHttpRequest.noConflict = aliasXHR; - win.XMLHttpRequest.UNSENT = 0; - win.XMLHttpRequest.OPENED = 1; - win.XMLHttpRequest.HEADERS_RECEIVED = 2; - win.XMLHttpRequest.LOADING = 3; - win.XMLHttpRequest.DONE = 4; - - win.XMLHttpRequest.prototype = { - UNSENT: 0, - OPENED: 1, - HEADERS_RECEIVED: 2, - LOADING: 3, - DONE: 4, - - isAsync: false, - onreadystatechange: null, - readyState: 0, - _url: "", - timeout: 0, - withCredentials: false, - _requestHeaders: null, - open: function (reqType, uri, isAsync, user, password) { - - if (uri && uri.indexOf("http") === 0) { - if (!this.wrappedXHR) { - this.wrappedXHR = new aliasXHR(); - var self = this; - - // timeout - if (this.timeout > 0) { - this.wrappedXHR.timeout = this.timeout; - } - Object.defineProperty(this, "timeout", { - set: function (val) { - this.wrappedXHR.timeout = val; - }, - get: function () { - return this.wrappedXHR.timeout; - } - }); - - - - if (this.withCredentials) { - this.wrappedXHR.withCredentials = this.withCredentials; - } - Object.defineProperty(this, "withCredentials", { - set: function (val) { - this.wrappedXHR.withCredentials = val; - }, - get: function () { - return this.wrappedXHR.withCredentials; - } - }); - - - Object.defineProperty(this, "status", { get: function () { - return this.wrappedXHR.status; - } - }); - Object.defineProperty(this, "responseText", { get: function () { - return this.wrappedXHR.responseText; - } - }); - Object.defineProperty(this, "statusText", { get: function () { - return this.wrappedXHR.statusText; - } - }); - - Object.defineProperty(this, "responseXML", { get: function () { - return this.wrappedXHR.responseXML; - } - }); - - this.getResponseHeader = function (header) { - return this.wrappedXHR.getResponseHeader(header); - }; - this.getAllResponseHeaders = function () { - return this.wrappedXHR.getAllResponseHeaders(); - }; - - this.wrappedXHR.onreadystatechange = function () { - self.changeReadyState(self.wrappedXHR.readyState); - }; - } - return this.wrappedXHR.open(reqType, uri, isAsync, user, password); - } - else { - // x-wmapp1://app/www/page2.html - // need to work some magic on the actual url/filepath - var newUrl = uri; - if (newUrl.indexOf(":/") > -1) { - newUrl = newUrl.split(":/")[1]; - } - // prefix relative urls to our physical root - if(newUrl.indexOf("app/www/") < 0) - { - newUrl = "app/www/" + newUrl; - } - - if (newUrl.lastIndexOf("/") === newUrl.length - 1) { - newUrl += "index.html"; // default page is index.html, when call is to a dir/ ( why not ...? ) - } - this._url = newUrl; - } - }, - statusText: "", - changeReadyState: function (newState) { - this.readyState = newState; - if (this.onreadystatechange) { - this.onreadystatechange(); - } - }, - setRequestHeader: function (header, value) { - if (this.wrappedXHR) { - this.wrappedXHR.setRequestHeader(header, value); - } - }, - getResponseHeader: function (header) { - return this.wrappedXHR ? this.wrappedXHR.getResponseHeader(header) : ""; - }, - getAllResponseHeaders: function () { - return this.wrappedXHR ? this.wrappedXHR.getAllResponseHeaders() : ""; - }, - responseText: "", - responseXML: "", - onResult: function (res) { - this.status = 200; - if(typeof res == "object") - { // callback result handler may have already parsed this from a string-> a JSON object, - // if so, we need to restore its stringyness, as handlers are expecting string data. - // especially if used with jQ -> $.getJSON - res = JSON.stringify(res); - } - this.responseText = res; - this.responseXML = res; - this.changeReadyState(this.DONE); - }, - onError: function (err) { - this.status = 404; - this.changeReadyState(this.DONE); - }, - - abort: function () { - if (this.wrappedXHR) { - return this.wrappedXHR.abort(); - } - }, - - send: function (data) { - if (this.wrappedXHR) { - return this.wrappedXHR.send(data); - } - else { - this.changeReadyState(this.OPENED); - - var alias = this; - - var fail = function fail(evt) { - alias.onError(evt.code); - }; - - var gotFile = function gotFile(file) { - var reader = new FileReader(); - reader.onloadend = function (evt) { - alias.onResult.apply(alias,[evt.target.result]); - }; - reader.readAsText(file); - }; - - var gotEntry = function gotEntry(entry) { - entry.file(gotFile, fail); - }; - - var gotFS = function gotFS(fs) { - fs.root.getFile(alias._url, null, gotEntry, fail); - }; - - window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); - - } - }, - status: 404 - }; -} // if doc domain - -// end closure wrap -})(window, document); - -module.exports = null; http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/8789b412/lib/wp7/plugin/wp7/console.js ---------------------------------------------------------------------- diff --git a/lib/wp7/plugin/wp7/console.js b/lib/wp7/plugin/wp7/console.js deleted file mode 100644 index 20197d5..0000000 --- a/lib/wp7/plugin/wp7/console.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ - - -var exec = require('cordova/exec'), - channel = require('cordova/channel'); -var cordova = require("cordova"); - -var debugConsole = { - log:function(msg){ - exec(null,null,"DebugConsole","log",msg); - }, - warn:function(msg){ - exec(null,null,"DebugConsole","warn",msg); - }, - error:function(msg){ - exec(null,null,"DebugConsole","error",msg); - } -}; - -var oldOnError = window.onerror; -window.onerror = function(msg,fileName,line) { - oldOnError && oldOnError(msg,fileName,line); - debugConsole.error(msg + " file:" + fileName + " Line:" + line); -}; - -module.exports = debugConsole;
