You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by ps...@apache.org on 2010/03/22 12:20:16 UTC
svn commit: r926032 -
/incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js
Author: psharples
Date: Mon Mar 22 11:20:16 2010
New Revision: 926032
URL: http://svn.apache.org/viewvc?rev=926032&view=rev
Log:
Partial fix for IE 8. Wookie wrapper now does not produce an error alert when defining getters/setters, although the setter does not propagate the updates back to the wookie backend. See WOOKIE-44
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=926032&r1=926031&r2=926032&view=diff
==============================================================================
--- incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js (original)
+++ incubator/wookie/trunk/WebContent/shared/js/wookie-wrapper.js Mon Mar 22 11:20:16 2010
@@ -56,9 +56,16 @@ WidgetPreferences = new function WidgetP
}
} else {
// Setup prototype methods
- 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");
+ 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");
+ }
+ // Catch IE 8 error. See WOOKIE-44
+ catch(err){
+ eval("Widget.preferences." + key + "='" + value + "'");
+ eval("Widget.preferences.prefs." + key + "=pref");
+ }
}
this.prefs[key] = pref;
Widget.setPreferenceForKey(key, value);
@@ -155,9 +162,16 @@ var Widget = {
for (i in map){
obj = map[i];
key = obj["dkey"];
- 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");
+ 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");
+ }
+ // Catch IE 8 error. See WOOKIE-44
+ catch(err){
+ eval("Widget.preferences." + key + "='" + obj["dvalue"] + "'");
+ eval("this.preferences.prefs."+key+"=obj");
+ }
}
this.preferences.calcLength();
},