[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

adele at apple.com adele at apple.com
Thu Apr 8 02:17:57 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b2c6c279eb038da94915da8857820a18f05ccc13
Author: adele at apple.com <adele at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Mar 9 19:32:06 2010 +0000

    WebCore: Check for null renderer in scrollNode().
    https://bugs.webkit.org/show_bug.cgi?id=34700
    
    Patch by Andy Estes <aestes at apple.com> on 2010-03-09
    Reviewed by Adele Peterson.
    
    Test: fast/events/remove-child-onscroll.html
    
    * page/EventHandler.cpp:
    (WebCore::scrollNode): Return early if node->renderer() == 0
    
    LayoutTests: Create a test for https://bugs.webkit.org/show_bug.cgi?id=34700.  This
    test required implementing scroll wheel event dispatch in DRT and
    currently only works on OS X 10.5+.  Skip this test on other platforms
    for the time being.
    
    Patch by Andy Estes <aestes at apple.com> on 2010-03-09
    Reviewed by Adele Peterson.
    
    * fast/events/remove-child-onscroll-expected.txt: Added.
    * fast/events/remove-child-onscroll.html: Added.
    * platform/gtk/Skipped: Skip remove-child-onscroll.html
    * platform/mac-tiger/Skipped: Skip remove-child-onscroll.html
    * platform/qt/Skipped: Skip remove-child-onscroll.html
    * platform/win/Skipped: Skip remove-child-onscroll.html
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55737 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 73aa07e..080e210 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-03-09  Andy Estes  <aestes at apple.com>
+
+        Reviewed by Adele Peterson.
+
+        Create a test for https://bugs.webkit.org/show_bug.cgi?id=34700.  This
+        test required implementing scroll wheel event dispatch in DRT and
+        currently only works on OS X 10.5+.  Skip this test on other platforms
+        for the time being.
+
+        * fast/events/remove-child-onscroll-expected.txt: Added.
+        * fast/events/remove-child-onscroll.html: Added.
+        * platform/gtk/Skipped: Skip remove-child-onscroll.html
+        * platform/mac-tiger/Skipped: Skip remove-child-onscroll.html
+        * platform/qt/Skipped: Skip remove-child-onscroll.html
+        * platform/win/Skipped: Skip remove-child-onscroll.html
+
 2010-03-09  Garret Kelly  <gdk at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/LayoutTests/fast/events/remove-child-onscroll-expected.txt b/LayoutTests/fast/events/remove-child-onscroll-expected.txt
new file mode 100644
index 0000000..9549795
--- /dev/null
+++ b/LayoutTests/fast/events/remove-child-onscroll-expected.txt
@@ -0,0 +1,3 @@
+This test verifies that children can be removed by their parent element's onscroll event handler. The test succeeds if this is the only text remaining after the two scroll events are dispatched. The test fails if the inner div remains in the output or if WebKit crashes.
+
+
diff --git a/LayoutTests/fast/events/remove-child-onscroll.html b/LayoutTests/fast/events/remove-child-onscroll.html
new file mode 100644
index 0000000..252cfea
--- /dev/null
+++ b/LayoutTests/fast/events/remove-child-onscroll.html
@@ -0,0 +1,27 @@
+<html>
+    <head>
+        <script>
+            if (window.layoutTestController) {
+                layoutTestController.dumpAsText();
+                layoutTestController.waitUntilDone();
+            }
+
+            function dispatchScrollEvents()
+            {
+                if (window.eventSender && window.layoutTestController) {
+                    eventSender.mouseMoveTo(100, 100);
+                    eventSender.mouseScrollBy(0, -1);
+                    eventSender.mouseScrollBy(-1, -1);
+                    layoutTestController.notifyDone();
+                }
+            }
+        </script>
+    </head>
+    <body onload="setTimeout('dispatchScrollEvents();', 1);">
+        This test verifies that children can be removed by their parent element's onscroll event handler.  The test succeeds if this is the only text remaining after the two scroll events are dispatched.  The test fails if the inner div remains in the output or if WebKit crashes.<br><br>
+        <div id="dv" style="overflow: auto; width: 200px; height: 200px; whitespace: nowrap;" onscroll="this.removeChild(this.firstChild)">
+        <div style="width:300px; height:300px">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
+        </div>
+        </div>
+    </body>
+</html>
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 011ee8a..5fc4483 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -5817,4 +5817,7 @@ http/tests/cookies/third-party-cookie-relaxing.html
 fast/events/zoom-dblclick.html
 
 # For some reason crashes when run with all tests. Passes individually.
-fast/forms/multiple-form-submission-protection-mouse.html
\ No newline at end of file
+fast/forms/multiple-form-submission-protection-mouse.html
+
+# mouseScrollBy() is not yet implemented in the GTK EventSender API.
+fast/events/remove-child-onscroll.html
diff --git a/LayoutTests/platform/mac-tiger/Skipped b/LayoutTests/platform/mac-tiger/Skipped
index fe99d81..ea572fa 100644
--- a/LayoutTests/platform/mac-tiger/Skipped
+++ b/LayoutTests/platform/mac-tiger/Skipped
@@ -118,3 +118,6 @@ http/tests/media/video-referer.html
 
 # This test fails on Tiger, and when it fails, it dumps different results each time.
 java/lc3/JavaArray/ToString-001.html
+
+# We can't implement mouseScrollBy() in Tiger due to the lack of CGEventCreateScrollWheelEvent().
+fast/events/remove-child-onscroll.html
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index f574cf3..6abd24b 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -5098,6 +5098,9 @@ http/tests/cookies/third-party-cookie-relaxing.html
 # For some reason crashes when run with all tests. Passes individually.
 fast/forms/multiple-form-submission-protection-mouse.html
 
+# mouseScrollBy() is not yet implemented in the Qt EventSender API.
+fast/events/remove-child-onscroll.html
+
 # It fails in DRT, but passes in QtLauncher
 # https://bugs.webkit.org/show_bug.cgi?id=35921
 editing/execCommand/move-selection-back-line.html
diff --git a/LayoutTests/platform/win/Skipped b/LayoutTests/platform/win/Skipped
index ab6ea6e..738d10d 100644
--- a/LayoutTests/platform/win/Skipped
+++ b/LayoutTests/platform/win/Skipped
@@ -786,4 +786,7 @@ fast/events/spatial-navigation
 media/video-preload.html
 
 # For some reason crashes when run with all tests. Passes individually.
-fast/forms/multiple-form-submission-protection-mouse.html
\ No newline at end of file
+fast/forms/multiple-form-submission-protection-mouse.html
+
+# mouseScrollBy() is not yet implemented in the Windows EventSender API.
+fast/events/remove-child-onscroll.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 2720b37..34b79e8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-03-09  Andy Estes  <aestes at apple.com>
+
+        Reviewed by Adele Peterson.
+
+        Check for null renderer in scrollNode().
+        https://bugs.webkit.org/show_bug.cgi?id=34700
+
+        Test: fast/events/remove-child-onscroll.html
+
+        * page/EventHandler.cpp:
+        (WebCore::scrollNode): Return early if node->renderer() == 0
+
 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
 
         Unreviewed distcheck fix.
diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp
index a5c93a7..31dcc6d 100644
--- a/WebCore/page/EventHandler.cpp
+++ b/WebCore/page/EventHandler.cpp
@@ -113,6 +113,9 @@ static inline bool scrollNode(float delta, WheelEvent::Granularity granularity,
     if (!delta)
         return false;
     
+    if (!node->renderer())
+        return false;
+    
     // Find the nearest enclosing box.
     RenderBox* enclosingBox = node->renderer()->enclosingBox();
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list