diff --git a/app.manifest b/app.manifest index 084332b9..0c75c283 100644 --- a/app.manifest +++ b/app.manifest @@ -1,5 +1,5 @@ CACHE MANIFEST -# Time: Wed Dec 10 2014 23:57:59 GMT-0800 (PST) +# Time: Thu Dec 11 2014 00:38:53 GMT-0800 (PST) CACHE: diff --git a/js/app.js b/js/app.js index d62202ef..7c6b13c6 100644 --- a/js/app.js +++ b/js/app.js @@ -14,7 +14,7 @@ return(4294967295^i)>>>0}function i(){}function a(e){var t,n,i,a,o,r,s,l,c,d=e.l },truncate:function(){n=[]},finalize:function(){var i=blobConstruct(n,e);return t&&t(i),i}};return i}function d(e,t){return void 0!==e.toURL?e.toURL(t):e instanceof Blob?URL.createObjectURL(e):"data:"+t+";base64,"+bytesToBase64(e)}function u(e){var n;try{var i=new FileReader;i.onloadend=function(){n.resolve(i.result)},i.readAsDataURL(e)}catch(a){return t.reject(a)}return n=t.defer(),n.promise}function p(e,t){if(h&&e instanceof Blob){var t=e.type||e.mimeType||t||"";if(!t.match(/image\/(jpeg|gif|png|bmp)|video\/quicktime/))return u(e)}return i.when(d(e,t))}function m(e,t,i){if(window.navigator&&void 0!==navigator.msSaveBlob)return window.navigator.msSaveBlob(e,i),!1;if(window.navigator&&navigator.getDeviceStorage){var a="sdcard";switch(t.split("/")[0]){case"video":a="videos";break;case"audio":a="music";break;case"image":a="pictures"}var o=navigator.getDeviceStorage(a),r=o.addNamed(e,i);return r.onsuccess=function(){console.log("Device storage save result",this.result)},void(r.onerror=function(){})}p(e,t).then(function(e){var t=document.createElementNS("http://www.w3.org/1999/xhtml","a");t.href=e,t.target="_blank",t.download=i,t.dataset&&(t.dataset.downloadurl=["video/quicktime",i,e].join(":")),$(t).css({position:"absolute",top:1,left:1}).appendTo("body");try{var a=document.createEvent("MouseEvents");a.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),t.dispatchEvent(a)}catch(o){console.error("Download click error",o);try{console.error("Download click error",o),t[0].click()}catch(o){window.open(e,"_blank")}}n(function(){$(t).remove()},100)})}e.URL=e.URL||e.webkitURL,e.BlobBuilder=e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder;var h=-1!=navigator.userAgent.indexOf("Safari")&&-1==navigator.userAgent.indexOf("Chrome"),f=!0;try{blobConstruct([],"")}catch(g){f=!1}return{isAvailable:a,copy:o,write:r,getFileWriter:l,getFakeFileWriter:c,chooseSave:s,getUrl:d,getDataUrl:u,getFileCorrectUrl:p,download:m}}]).service("IdbFileStorage",["$q","$window","FileManager",function(e,t,n){function i(){return m}function a(){if(c)return c;try{var t=indexedDB.open(d,p),n=e.defer(),i=function(e){e.createObjectStore(u)};if(!t)throw new Exception}catch(a){return m=!1,e.reject(a)}return t.onsuccess=function(){db=t.result,db.onerror=function(e){m=!1,console.error("Error creating/accessing IndexedDB database",e),n.reject(e)},db.setVersion&&db.version!=p?db.setVersion(p).onsuccess=function(){i(db),n.resolve(db)}:n.resolve(db)},t.onerror=function(e){m=!1,console.error("Error creating/accessing IndexedDB database",e),n.reject(e)},t.onupgradeneeded=function(e){i(e.target.result)},c=n.promise}function o(t,n){return a().then(function(i){if(!h)return r(i,t,n);try{var a=i.transaction([u],IDBTransaction.READ_WRITE||"readwrite").objectStore(u),o=a.put(n,t)}catch(s){return h?(h=!1,r(i,t,n)):(m=!1,e.reject(s))}var l=e.defer();return o.onsuccess=function(){l.resolve(n)},o.onerror=function(e){l.reject(e)},l.promise})}function r(t,n,i){try{var a=new FileReader;a.readAsDataURL(i)}catch(o){return m=!1,e.reject()}var r=e.defer();return a.onloadend=function(){try{var e=t.transaction([u],IDBTransaction.READ_WRITE||"readwrite").objectStore(u),o=e.put(a.result,n)}catch(s){return m=!1,void r.reject(s)}o.onsuccess=function(){r.resolve(i)},o.onerror=function(e){r.reject(e)}},r.promise}function s(t){return a().then(function(n){var i=e.defer(),a=n.transaction([u],IDBTransaction.READ||"readonly").objectStore(u),o=a.get(t);return o.onsuccess=function(e){var t=e.target.result;void 0===t?i.reject():i.resolve("string"==typeof t&&"data:"===t.substr(0,5)?dataUrlToBlob(t):t)},o.onerror=function(e){i.reject(e)},i.promise})}function l(t,i){var a=n.getFakeFileWriter(i,function(e){o(t,e)});return e.when(a)}t.indexedDB=t.indexedDB||t.webkitIndexedDB||t.mozIndexedDB||t.OIndexedDB||t.msIndexedDB,t.IDBTransaction=t.IDBTransaction||t.webkitIDBTransaction||t.OIDBTransaction||t.msIDBTransaction;var c,d="cachedFiles",u="files",p=1,m=void 0!==t.indexedDB&&void 0!==t.IDBTransaction&&-1==navigator.userAgent.indexOf("Safari"),h=m||!1;return a(),{isAvailable:i,saveFile:o,getFile:s,getFileWriter:l}}]).service("TmpfsFileStorage",["$q","$window","FileManager",function(e,t,n){function i(){if(l)return l;if(!t.requestFileSystem)return l=e.reject({type:"FS_BROWSER_UNSUPPORTED",description:"requestFileSystem not present"});var n=e.defer();return t.requestFileSystem(t.TEMPORARY,524288e3,function(e){cachedFs=e,n.resolve()},function(e){c=!1,n.reject(e)}),l=n.promise}function a(){return c}function o(t,n){return n=n||1,i().then(function(){var i=e.defer();return cachedFs.root.getFile(t,{create:!1},function(e){e.file(function(t){t.size>=n?i.resolve(e):i.reject(new Error("FILE_NOT_FOUND"))},function(e){console.log(dT(),"error",e),i.reject(e)})},function(){i.reject(new Error("FILE_NOT_FOUND"))}),i.promise})}function r(e,t){return s(e).then(function(e){return n.write(e,t).then(function(){return e.finalize()})})}function s(t){return i().then(function(){var i=e.defer();return cachedFs.root.getFile(t,{create:!0},function(e){n.getFileWriter(e).then(function(t){t.finalize=function(){return e},i.resolve(t)},function(e){c=!1,i.reject(e)})},function(e){c=!1,i.reject(e)}),i.promise})}t.requestFileSystem=t.requestFileSystem||t.webkitRequestFileSystem;var l,c=void 0!==t.requestFileSystem;return i(),{isAvailable:a,saveFile:r,getFile:o,getFileWriter:s}}]).service("MemoryFileStorage",["$q","FileManager",function(e,t){function n(){return!0}function i(t){return r[t]?e.when(r[t]):e.reject(new Error("FILE_NOT_FOUND"))}function a(t,n){return e.when(r[t]=n)}function o(n,i){var o=t.getFakeFileWriter(i,function(e){a(n,e)});return e.when(o)}var r={};return{isAvailable:n,saveFile:a,getFile:i,getFileWriter:o}}]).service("CryptoWorker",["$timeout","$q",function(e,t){function n(e,n,a){var s=t.defer();return r[o]=s,n.task=e,n.taskID=o,(a||i).postMessage(n),o++,s.promise}var i=!1,a=!1,o=0,r={},s=Config.Modes.webcrypto&&window.crypto&&(window.crypto.subtle||window.crypto.webkitSubtle),l=s&&void 0!==s.digest,c=function(e,t){var n=r[e];void 0!==n&&(n.resolve(t),delete r[e])};if(Config.Modes.nacl&&navigator.mimeTypes&&void 0!==navigator.mimeTypes["application/x-pnacl"]){var d=$('
').appendTo($("body"))[0];d.addEventListener("load",function(){a=d.firstChild,console.log(dT(),"NaCl ready")},!0),d.addEventListener("message",function(e){c(e.data.taskID,e.data.result)},!0),d.addEventListener("error",function(e){console.error("NaCl error",e)},!0)}if(window.Worker){var u=new Worker("js/lib/crypto_worker.js");u.onmessage=function(e){i?c(e.data.taskID,e.data.result):i=u},u.onerror=function(e){console.error("CW error",e,e.stack),i=!1}}return{sha1Hash:function(n){if(l){var i=t.defer(),a=Array.isArray(n)?convertToUint8Array(n):n;return s.digest({name:"SHA-1"},a).then(function(e){i.resolve(e)},function(e){console.error("Crypto digest error",e),l=!1,i.resolve(sha1HashSync(n))}),i.promise}return e(function(){return sha1HashSync(n)})},aesEncrypt:function(t,i,o){return a?n("aes-encrypt",{bytes:addPadding(convertToArrayBuffer(t)),keyBytes:convertToArrayBuffer(i),ivBytes:convertToArrayBuffer(o)},a):e(function(){return convertToArrayBuffer(aesEncryptSync(t,i,o))})},aesDecrypt:function(t,i,o){return a?n("aes-decrypt",{encryptedBytes:addPadding(convertToArrayBuffer(t)),keyBytes:convertToArrayBuffer(i),ivBytes:convertToArrayBuffer(o)},a):e(function(){return convertToArrayBuffer(aesDecryptSync(t,i,o))})},factorize:function(t){return t=convertToByteArray(t),a&&t.length<=8?n("factorize",{bytes:t},a):i?n("factorize",{bytes:t}):e(function(){return pqPrimeFactorization(t)})},modPow:function(t,a,o){return i?n("mod-pow",{x:t,y:a,m:o}):e(function(){return bytesModPow(t,a,o)})}}}]).service("SearchIndexManager",function(){function e(){return{shortIndexes:{},fullTexts:{}}}function t(e){e=e.replace(a," ").replace(o,"").toLowerCase();for(var t in r)r.hasOwnProperty(t)&&(e=e.replace(r[t],t));return e}function n(e,n,i){if(void 0!==i.fullTexts[e])return!1;if(n=t(n),!n.length)return!1;var a=i.shortIndexes;i.fullTexts[e]=n,angular.forEach(n.split(" "),function(t){var n,i,o=Math.min(t.length,3);for(i=1;o>=i;i++)n=t.substr(0,i),void 0===a[n]?a[n]=[e]:a[n].push(e)})}function i(e,n){var i=n.shortIndexes,a=n.fullTexts;e=t(e);var o,r,s,l,c,d=e.split(" "),u=!1;for(r=0;r\n