Reviewed by Dave Harrison.
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Apr 2005 17:59:15 +0000 (17:59 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Apr 2005 17:59:15 +0000 (17:59 +0000)
        - fixed <rdar://problem/3547489> pop-up window blocking preference and
        menu item can easily get out of sync.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _setStringValue:forKey:]):
        save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
        change notification but calling back on WebPreferences API will see the updated value.
        (-[WebPreferences _setIntegerValue:forKey:]):
        ditto
        (-[WebPreferences _setBoolValue:forKey:]):
        ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/WebView.subproj/WebPreferences.m

index b1176eb40b111436d632e4a03aa8fcf277601361..506ecb3e360e9dd3d8489ef81f1e7cc09235106b 100644 (file)
@@ -1,3 +1,19 @@
+2005-04-27  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Dave Harrison.
+        
+        - fixed <rdar://problem/3547489> pop-up window blocking preference and 
+        menu item can easily get out of sync.
+
+        * WebView.subproj/WebPreferences.m:
+        (-[WebPreferences _setStringValue:forKey:]):
+        save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
+        change notification but calling back on WebPreferences API will see the updated value.
+        (-[WebPreferences _setIntegerValue:forKey:]):
+        ditto
+        (-[WebPreferences _setBoolValue:forKey:]):
+        ditto
+
 2005-04-26  Richard Williamson   <rjw@apple.com>
 
        Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
 2005-04-26  Richard Williamson   <rjw@apple.com>
 
        Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
index 00a4a666f7ede134e6589d7a85a6d1299fb5ec7e..eaab8ec69336205cf6bbaafdb92442e0a16296c1 100644 (file)
@@ -241,9 +241,9 @@ NS_ENDHANDLER
 - (void)_setStringValue:(NSString *)value forKey:(NSString *)key
 {
     NSString *_key = KEY(key);
 - (void)_setStringValue:(NSString *)value forKey:(NSString *)key
 {
     NSString *_key = KEY(key);
+    [_private->values setObject:value forKey:_key];
     if (_private->autosaves)
         [[NSUserDefaults standardUserDefaults] setObject:value forKey:_key];
     if (_private->autosaves)
         [[NSUserDefaults standardUserDefaults] setObject:value forKey:_key];
-    [_private->values setObject:value forKey:_key];
     [self _postPreferencesChangesNotification];
 }
 
     [self _postPreferencesChangesNotification];
 }
 
@@ -257,9 +257,9 @@ NS_ENDHANDLER
 - (void)_setIntegerValue:(int)value forKey:(NSString *)key
 {
     NSString *_key = KEY(key);
 - (void)_setIntegerValue:(int)value forKey:(NSString *)key
 {
     NSString *_key = KEY(key);
+    [_private->values _web_setInt:value forKey:_key];
     if (_private->autosaves)
         [[NSUserDefaults standardUserDefaults] setInteger:value forKey:_key];
     if (_private->autosaves)
         [[NSUserDefaults standardUserDefaults] setInteger:value forKey:_key];
-    [_private->values _web_setInt:value forKey:_key];
     [self _postPreferencesChangesNotification];
 }
 
     [self _postPreferencesChangesNotification];
 }
 
@@ -271,9 +271,9 @@ NS_ENDHANDLER
 - (void)_setBoolValue:(BOOL)value forKey:(NSString *)key
 {
     NSString *_key = KEY(key);
 - (void)_setBoolValue:(BOOL)value forKey:(NSString *)key
 {
     NSString *_key = KEY(key);
+    [_private->values _web_setBool:value forKey:_key];
     if (_private->autosaves)
         [[NSUserDefaults standardUserDefaults] setBool:value forKey:_key];
     if (_private->autosaves)
         [[NSUserDefaults standardUserDefaults] setBool:value forKey:_key];
-    [_private->values _web_setBool:value forKey:_key];
     [self _postPreferencesChangesNotification];
 }
 
     [self _postPreferencesChangesNotification];
 }