if(this.isValidKey(key) == false){ throw new Error("Invalid key given: " + key); 
if(this.isValidKey(key) == false){ throw new Error("Invalid key given: " + key); } namespace = namespace||this.DEFAULT_NAMESPACE;   key = this.getFullKey(key, namespace);  this._statusHandler = resultsHandler;    if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); }   var storageListener = dojo.hitch(this, function(evt){        window.removeEventListener("storage", storageListener, false);   if(resultsHandler){ resultsHandler.call(null, this.SUCCESS, key); 
		put: function(key, value, resultsHandler, namespace){			if(this.isValidKey(key) == false){				throw new Error("Invalid key given: " + key);			}			namespace = namespace||this.DEFAULT_NAMESPACE;						// get our full key name, which is namespace + key			key = this.getFullKey(key, namespace);							this._statusHandler = resultsHandler;						// serialize the value;			// handle strings differently so they have better performance			if(dojo.isString(value)){				value = "string:" + value;			}else{				value = dojo.toJson(value);			}						// register for successful storage events.			var storageListener = dojo.hitch(this, function(evt){				// remove any old storage event listener we might have added				// to the window on old put() requests; Firefox has a bug				// where it can occassionaly go into infinite loops calling				// our storage event listener over and over -- this is a 				// workaround				// FIXME: Simplify this into a test case and submit it				// to Firefox				window.removeEventListener("storage", storageListener, false);								// indicate we succeeded				if(resultsHandler){					resultsHandler.call(null, this.SUCCESS, key);				}			});						window.addEventListener("storage", storageListener, false);						// try to store the value				try{				var myStorage = globalStorage[this._domain];				myStorage.setItem(key, value);			}catch(e){				// indicate we failed				this._statusHandler.call(null, this.FAILED, key, e.toString());			}		},
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/731148a10a2e4f8f74ed09ad37338b24a567cb6c/WhatWGStorageProvider.js/clean/storage/WhatWGStorageProvider.js