Title: [130988] trunk/Source/WebCore
Revision
130988
Author
morr...@google.com
Date
2012-10-10 18:18:28 -0700 (Wed, 10 Oct 2012)

Log Message

[Chromium] Crash on SpellChecker::didCheck()
https://bugs.webkit.org/show_bug.cgi?id=98476

Reviewed by Kent Tamura.

SpellChecker::didCheck() assumed m_processingRequest is non-NULL. However, SpellChecker::invokeRequest()
calls SpellCheckRequest::didCancel(), which results didCheck() with NULL m_processingRequest.
This chagne eliminates the problematic didCheck().

No new tests. The case depends on specific timing and is hard to hit by automated testing.

* editing/SpellChecker.cpp:
(WebCore::SpellChecker::didCheck):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (130987 => 130988)


--- trunk/Source/WebCore/ChangeLog	2012-10-11 01:00:37 UTC (rev 130987)
+++ trunk/Source/WebCore/ChangeLog	2012-10-11 01:18:28 UTC (rev 130988)
@@ -1,5 +1,21 @@
 2012-10-10  MORITA Hajime  <morr...@google.com>
 
+        [Chromium] Crash on SpellChecker::didCheck()
+        https://bugs.webkit.org/show_bug.cgi?id=98476
+
+        Reviewed by Kent Tamura.
+
+        SpellChecker::didCheck() assumed m_processingRequest is non-NULL. However, SpellChecker::invokeRequest()
+        calls SpellCheckRequest::didCancel(), which results didCheck() with NULL m_processingRequest.
+        This chagne eliminates the problematic didCheck().
+
+        No new tests. The case depends on specific timing and is hard to hit by automated testing.
+
+        * editing/SpellChecker.cpp:
+        (WebCore::SpellChecker::didCheck):
+
+2012-10-10  MORITA Hajime  <morr...@google.com>
+
         https://bugs.webkit.org/show_bug.cgi?id=95664
         [Shadow DOM] should be able to be available without <style scoped>
 

Modified: trunk/Source/WebCore/editing/SpellChecker.cpp (130987 => 130988)


--- trunk/Source/WebCore/editing/SpellChecker.cpp	2012-10-11 01:00:37 UTC (rev 130987)
+++ trunk/Source/WebCore/editing/SpellChecker.cpp	2012-10-11 01:18:28 UTC (rev 130988)
@@ -178,11 +178,8 @@
 void SpellChecker::invokeRequest(PassRefPtr<SpellCheckRequest> request)
 {
     ASSERT(!m_processingRequest);
-    if (!client()) {
-        request->didCancel();
+    if (!client())
         return;
-    }
-
     m_processingRequest = request;
     client()->requestCheckingOfString(m_processingRequest);
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to