//>>built define(["dojo","dijit","dojox","dojo/require!dojox/storage/Provider,dojox/storage/manager"],function(c,k,h){c.provide("dojox.storage.WhatWGStorageProvider");c.require("dojox.storage.Provider");c.require("dojox.storage.manager");c.declare("dojox.storage.WhatWGStorageProvider",[h.storage.Provider],{initialized:!1,_domain:null,_available:null,_statusHandler:null,_allNamespaces:null,_storageEventListener:null,initialize:function(){1!=c.config.disableWhatWGStorage&&(this._domain=location.hostname,this.initialized= !0,h.storage.manager.loaded())},isAvailable:function(){return this._available=!0},put:function(a,b,e,d){if(0==this.isValidKey(a))throw Error("Invalid key given: "+a);d=d||this.DEFAULT_NAMESPACE;a=this.getFullKey(a,d);this._statusHandler=e;b=c.isString(b)?"string:"+b:c.toJson(b);var g=c.hitch(this,function(b){window.removeEventListener("storage",g,!1);e&&e.call(null,this.SUCCESS,a,null,d)});window.addEventListener("storage",g,!1);try{globalStorage[this._domain].setItem(a,b)}catch(f){this._statusHandler.call(null, this.FAILED,a,f.toString(),d)}},get:function(a,b){if(0==this.isValidKey(a))throw Error("Invalid key given: "+a);b=b||this.DEFAULT_NAMESPACE;a=this.getFullKey(a,b);a=globalStorage[this._domain].getItem(a);if(null==a||""==a)return null;a=a.value;return a=c.isString(a)&&/^string:/.test(a)?a.substring(7):c.fromJson(a)},getNamespaces:function(){for(var a=[this.DEFAULT_NAMESPACE],b={},e=globalStorage[this._domain],d=/^__([^_]*)_/,c=0;c