You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by ra...@apache.org on 2011/02/10 14:52:01 UTC
svn commit: r1069392 -
/incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js
Author: raido
Date: Thu Feb 10 13:52:00 2011
New Revision: 1069392
URL: http://svn.apache.org/viewvc?rev=1069392&view=rev
Log:
Fix WOOKIE-151
Modified:
incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js
Modified: incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js?rev=1069392&r1=1069391&r2=1069392&view=diff
==============================================================================
--- incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js (original)
+++ incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js Thu Feb 10 13:52:00 2011
@@ -47,8 +47,9 @@ WidgetPreferences = new function WidgetP
pref.dvalue = value;
pref.key = key;
pref.readOnly = false;
-
+
var existing = this.prefs[key];
+
if (existing){
if (existing["readOnly"] == true){
window.DOMException.code = DOMException.NO_MODIFICATION_ALLOWED_ERR;
@@ -59,18 +60,23 @@ WidgetPreferences = new function WidgetP
try{
eval("Widget.preferences.__defineGetter__('"+key+"', function(){return Widget.preferences.getItem('"+key+"')})");
eval("Widget.preferences.__defineSetter__('"+key+"', function(v){return Widget.preferences.setItem('"+key+"',v)})");
- eval("Widget.preferences.prefs."+key+"=pref");
+ eval("Widget.preferences.prefs[\""+key+"\"]=pref;");
}
catch(err){
// cant use __defineGetter__ so try to setup for IE9
try{
eval("Object.defineProperty(Widget.preferences,'" + key + "', {get: function get() { return Widget.preferences.getItem('"+key+"');},set: function set(value) {Widget.preferences.setItem('"+key+"',value)}});");
- eval("Widget.preferences.prefs."+key+"=pref");
+ eval("Widget.preferences.prefs[\""+key+"\"]=pref;");
}
catch(err){
// Catch IE 8 error. See WOOKIE-44
- eval("Widget.preferences." + key + "='" + value + "'");
- eval("Widget.preferences.prefs." + key + "=pref");
+
+ eval("Widget.preferences");
+ //If eval went fine, populate with data, See WOOKIE-151
+ if(typeof Widget.preferences != "undefined") {
+ Widget.preferences[key] = value;
+ Widget.preferences.prefs[key] = pref;
+ }
}
}
}
@@ -172,17 +178,17 @@ var Widget = {
try{
eval("Widget.preferences.__defineGetter__('"+key+"', function(){return Widget.preferences.getItem('"+key+"')})");
eval("Widget.preferences.__defineSetter__('"+key+"', function(v){return Widget.preferences.setItem('"+key+"',v)})");
- eval("this.preferences.prefs."+key+"=obj");
+ eval("this.preferences.prefs[\""+key+"\"]=obj;");
}
catch(err){
// cant use __defineGetter__ so try to setup for IE9
try{
eval("Object.defineProperty(Widget.preferences,'" + key + "', {get: function get() { return Widget.preferences.getItem('"+key+"');},set: function set(value) {Widget.preferences.setItem('"+key+"',value)}});");
- eval("this.preferences.prefs."+key+"=obj");
+ eval("this.preferences.prefs[\""+key+"\"]=obj;");
}
catch(err){
// Catch IE 8 error. See WOOKIE-44
- eval("this.preferences.prefs."+key+"=obj");
+ eval("this.preferences.prefs[\""+key+"\"]=obj;");
}
}
}