{"dojo.storage._":{"meta":{"requires":{"common":["dojo.storage"],"browser":["dojo.storage.browser"]}}},"dojo.storage.browser":{"meta":{"requires":{"common":["dojo.storage","dojo.flash","dojo.json","dojo.uri.*"]},"functions":{"dojo.storage.browser.WhatWGStorageProvider":{"meta":{"summary":"Storage provider that uses WHAT Working Group features in Firefox 2 to achieve permanent storage.","src":"\t\/\/ summary:\n\t\/\/\t\tStorage provider that uses WHAT Working Group features in Firefox 2 \n\t\/\/\t\tto achieve permanent storage.\n\t\/\/ description: \n\t\/\/\t\tThe WHAT WG storage API is documented at \n\t\/\/\t\thttp:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/#scs-client-side\n\t\/\/\n\t\/\/\t\tYou can disable this storage provider with the following djConfig\n\t\/\/\t\tvariable:\n\t\/\/\t\tvar djConfig = { disableWhatWGStorage: true };\n\t\/\/\t\t\n\t\/\/\t\tAuthors of this storage provider-\t\n\t\/\/\t\t\tJB Boisseau, jb.boisseau@eutech-ssii.com\n\t\/\/\t\t\tBrad Neuberg, bkn3@columbia.edu ","description":"The WHAT WG storage API is documented at http: \/\/ www.whatwg.org\/specs\/web-apps\/current-work\/#scs-client-side You can disable this storage provider with the following djConfig variable: var djConfig = { disableWhatWGStorage: true }; Authors of this storage provider- JB Boisseau, jb.boisseau@eutech-ssii.com Brad Neuberg, bkn3@columbia.edu","prototype_chain":["dojo.storage"],"prototype_variables":["namespace","initialized","_domain","_available","_statusHandler"],"instance_variables":["_domain","initialized","_available","_statusHandler"]}},"dojo.storage.browser.FlashStorageProvider":{"meta":{"summary":"Storage provider that uses features in Flash to achieve permanent storage","src":"\t\/\/ summary: Storage provider that uses features in Flash to achieve permanent storage\n\t\/\/ description:\n\t\/\/\t\tAuthors of this storage provider-\n\t\/\/\t\t\tBrad Neuberg, bkn3@columbia.edu\t","description":"Authors of this storage provider- Brad Neuberg, bkn3@columbia.edu","prototype_chain":["dojo.storage"],"prototype_variables":["namespace","initialized","_available","_statusHandler"],"instance_variables":["_available","_statusHandler","_initialized"]}},"dojo.storage.browser.WhatWGStorageProvider.initialize":{"meta":{"summary":"","src":" \tif(djConfig[\"disableWhatWGStorage\"] == true){\n\t\t\treturn;\n\t\t}\n\t\t\/\/ get current domain\n\t\tthis._domain = location.hostname;\n\t\t\/\/ indicate that this storage provider is now loaded\n\t\tthis.initialized = true;\n\t\tdojo.storage.manager.loaded();\t","prototype":"dojo.storage.browser.WhatWGStorageProvider"}},"dojo.storage.browser.WhatWGStorageProvider.isAvailable":{"meta":{"summary":"","src":" \ttry{\n\t\t\tvar myStorage = globalStorage[location.hostname];\n\t\t}catch(e){\n\t\t\tthis._available = false;\n\t\t\treturn this._available;\n\t\t}\n\t\tthis._available = true;\t\n\t\treturn this._available;","prototype":"dojo.storage.browser.WhatWGStorageProvider"}},"dojo.storage.browser.WhatWGStorageProvider.put":{"meta":{"summary":"","parameters":{"key":{"type":""},"value":{"type":""},"resultsHandler":{"type":""}},"src":" \tif(this.isValidKey(key) == false){\n\t\t\tdojo.raise(\"Invalid key given: \" + key);\n\t\t}\t\t\t\n\t\tthis._statusHandler = resultsHandler;\n\t\t\/\/ serialize the value;\n\t\t\/\/ handle strings differently so they have better performance\n\t\tif(dojo.lang.isString(value)){\n\t\t\tvalue = \"string:\" + value;\n\t\t}else{\n\t\t\tvalue = dojo.json.serialize(value);\n\t\t}\n\t\t\/\/ register for successful storage events\n\t\twindow.addEventListener(\"storage\", function(evt){\n\t\t\t\/\/ indicate we succeeded\n\t\t\tresultsHandler.call(null, dojo.storage.SUCCESS, key);\n\t\t}, false);\n\t\t\/\/ try to store the value\t\n\t\ttry{\n\t\t\tvar myStorage = globalStorage[this._domain];\n\t\t\tmyStorage.setItem(key,value);\n\t\t}catch(e){\n\t\t\t\/\/ indicate we failed\n\t\t\tthis._statusHandler.call(null, dojo.storage.FAILED, \n\t\t\t\t\t\t\t\t\tkey, e.toString());\n\t\t}","call_chain":["resultsHandler","this._statusHandler"],"prototype":"dojo.storage.browser.WhatWGStorageProvider"}},"dojo.storage.browser.WhatWGStorageProvider.get":{"meta":{"summary":"","parameters":{"key":{"type":""}},"src":" \tif(this.isValidKey(key) == false){\n\t\t\tdojo.raise(\"Invalid key given: \" + key);\n\t\t}\n\t\tvar myStorage = globalStorage[this._domain];\n\t\tvar results = myStorage.getItem(key);\n\t\tif(results == null){\n\t\t\treturn null;\n\t\t}\n\t\tresults = results.value;\n\t\t\/\/ destringify the content back into a \n\t\t\/\/ real JavaScript object;\n\t\t\/\/ handle strings differently so they have better performance\n\t\tif(!dojo.lang.isUndefined(results) && results != null \n\t\t\t && \/^string:\/.test(results)){\n\t\t\tresults = results.substring(\"string:\".length);\n\t\t}else{\n\t\t\tresults = dojo.json.evalJson(results);\n\t\t}\n\t\treturn results;","prototype":"dojo.storage.browser.WhatWGStorageProvider"}},"dojo.storage.browser.WhatWGStorageProvider.getKeys":{"meta":{"summary":"","src":" \tvar myStorage = globalStorage[this._domain];\n\t\tvar keysArray = new Array();\n\t\tfor(i=0; i