Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Oct 2013 16:22:53 +0000 (16:22 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Oct 2013 16:22:53 +0000 (16:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=123252

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-10-24
Reviewed by Darin Adler.

Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
the calling convention in C++ is left unspecified. The problem was already fixed in r157219
and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.

* dom/ScopedEventQueue.cpp:
(WebCore::ScopedEventQueue::dispatchEvent):

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

Source/WebCore/ChangeLog
Source/WebCore/dom/ScopedEventQueue.cpp

index 105d76e27fb4f140e6db9a2bff3f94704986ce72..5cca78530dcba54e43273b9c41ade1c3d2a8ae77 100644 (file)
@@ -1,3 +1,17 @@
+2013-10-24  Zan Dobersek  <zdobersek@igalia.com>
+
+        Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
+        https://bugs.webkit.org/show_bug.cgi?id=123252
+
+        Reviewed by Darin Adler.
+
+        Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
+        the calling convention in C++ is left unspecified. The problem was already fixed in r157219
+        and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
+
+        * dom/ScopedEventQueue.cpp:
+        (WebCore::ScopedEventQueue::dispatchEvent):
+
 2013-10-24  Alex Christensen  <achristensen@webkit.org>
 
         Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
index 0c0fa290905e44f2728278ed95f88fd429c3bcfd..9e1dedc65ce28123519472284d4a23257e1b7473 100644 (file)
@@ -79,9 +79,7 @@ void ScopedEventQueue::dispatchAllEvents()
 void ScopedEventQueue::dispatchEvent(PassRefPtr<Event> event) const
 {
     ASSERT(event->target());
-    // Passing the PassRefPtr<Event> object into the method call creates a new copy and also nullifies
-    // the original object, which is causing crashes in GCC-compiled code that only after that goes on
-    // to retrieve the Event's target, calling Event::target() on the now-null PassRefPtr<Event> object.
+    // Store the target in a local variable to avoid possibly dereferencing a nullified PassRefPtr after it's passed on.
     Node* node = event->target()->toNode();
     EventDispatcher::dispatchEvent(node, event);
 }