Don't preflight spell checker when calling -setContinuousSpellCheckingEnabled repeatedly
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Oct 2013 06:40:44 +0000 (06:40 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Oct 2013 06:40:44 +0000 (06:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=122329

Reviewed by Darin Adler.

* WebView/WebView.mm: (-[WebView setContinuousSpellCheckingEnabled:]): Don't do any
work if preference didn't change (continuousSpellCheckingEnabled is a static that
starts with false).

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

Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebView.mm

index ca545ef..1eee44c 100644 (file)
@@ -1,3 +1,14 @@
+2013-10-04  Alexey Proskuryakov  <ap@apple.com>
+
+        Don't preflight spell checker when calling -setContinuousSpellCheckingEnabled repeatedly
+        https://bugs.webkit.org/show_bug.cgi?id=122329
+
+        Reviewed by Darin Adler.
+
+        * WebView/WebView.mm: (-[WebView setContinuousSpellCheckingEnabled:]): Don't do any
+        work if preference didn't change (continuousSpellCheckingEnabled is a static that
+        starts with false).
+
 2013-10-04  Anders Carlsson  <andersca@apple.com>
 
         FramePolicyFunction should be an std::function
index 72571d5..0082903 100644 (file)
@@ -5556,16 +5556,16 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSC::JSValue j
 
 - (void)setContinuousSpellCheckingEnabled:(BOOL)flag
 {
-    if (continuousSpellCheckingEnabled != flag) {
-        continuousSpellCheckingEnabled = flag;
-        [[NSUserDefaults standardUserDefaults] setBool:continuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
-    }
-    
-    if ([self isContinuousSpellCheckingEnabled]) {
+    if (continuousSpellCheckingEnabled == flag)
+        return;
+
+    continuousSpellCheckingEnabled = flag;
+    [[NSUserDefaults standardUserDefaults] setBool:continuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
+
+    if ([self isContinuousSpellCheckingEnabled])
         [[self class] _preflightSpellChecker];
-    } else {
+    else
         [[self mainFrame] _unmarkAllMisspellings];
-    }
 }
 
 - (BOOL)isContinuousSpellCheckingEnabled