Title: [148700] trunk/Source/WebCore
Revision
148700
Author
jer.no...@apple.com
Date
2013-04-18 13:39:32 -0700 (Thu, 18 Apr 2013)

Log Message

CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=114784

Reviewed by Geoffrey Garen.

EventTarget subclasses shouldn't have to use CustomIsReachable directives
in order to keep their wrappers alive while firing event listeners.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (148699 => 148700)


--- trunk/Source/WebCore/ChangeLog	2013-04-18 20:31:55 UTC (rev 148699)
+++ trunk/Source/WebCore/ChangeLog	2013-04-18 20:39:32 UTC (rev 148700)
@@ -1,3 +1,16 @@
+2013-04-18  Jer Noble  <jer.no...@apple.com>
+
+        CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
+        https://bugs.webkit.org/show_bug.cgi?id=114784
+
+        Reviewed by Geoffrey Garen.
+
+        EventTarget subclasses shouldn't have to use CustomIsReachable directives
+        in order to keep their wrappers alive while firing event listeners.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation):
+
 2013-04-17  Geoffrey Garen  <gga...@apple.com>
 
         Renamed JSGlobalData to VM

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (148699 => 148700)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2013-04-18 20:31:55 UTC (rev 148699)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2013-04-18 20:39:32 UTC (rev 148700)
@@ -2639,6 +2639,10 @@
             push(@implContent, "    if (js${interfaceName}->impl()->hasPendingActivity())\n");
             push(@implContent, "        return true;\n");
         }
+        if ($codeGenerator->InheritsExtendedAttribute($interface, "EventTarget")) {
+            push(@implContent, "    if (js${interfaceName}->impl()->isFiringEventListeners())\n");
+            push(@implContent, "        return true;\n");
+        }
         if ($codeGenerator->InheritsInterface($interface, "Node")) {
             push(@implContent, "    if (JSNodeOwner::isReachableFromOpaqueRoots(handle, 0, visitor))\n");
             push(@implContent, "        return true;\n");
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to