[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

mitz at apple.com mitz at apple.com
Thu Oct 29 20:37:04 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 66bc5f4ec2ca8ab853b8088cbb21fae3011ca9a4
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Sep 30 21:15:03 2009 +0000

    REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
    https://bugs.webkit.org/show_bug.cgi?id=29209
    
    Reviewed by Sam Weinig.
    
    WebCore:
    
    Test: fast/inline/relative-positioned-overflow.html
    
    * rendering/InlineFlowBox.cpp:
    (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
    inlines to overflow to ensure that they are included in hit-testing.
    
    LayoutTests:
    
    * fast/inline/relative-positioned-overflow-expected.txt: Added.
    * fast/inline/relative-positioned-overflow.html: Added.
    * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48947 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index c550f58..383a013 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2009-09-30  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
+        https://bugs.webkit.org/show_bug.cgi?id=29209
+
+        * fast/inline/relative-positioned-overflow-expected.txt: Added.
+        * fast/inline/relative-positioned-overflow.html: Added.
+        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt:
+
 2009-09-30  Jian Li  <jianli at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/LayoutTests/editing/selection/doubleclick-whitespace-img-crash-expected.txt b/LayoutTests/fast/inline/relative-positioned-overflow-expected.txt
similarity index 100%
copy from LayoutTests/editing/selection/doubleclick-whitespace-img-crash-expected.txt
copy to LayoutTests/fast/inline/relative-positioned-overflow-expected.txt
diff --git a/LayoutTests/fast/inline/relative-positioned-overflow.html b/LayoutTests/fast/inline/relative-positioned-overflow.html
new file mode 100644
index 0000000..d79d384
--- /dev/null
+++ b/LayoutTests/fast/inline/relative-positioned-overflow.html
@@ -0,0 +1,15 @@
+<span id="target" style="padding-bottom: 100px; background-color: red; padding-left: 100px; position: relative;"></span>
+<script>
+    document.getElementById("target").addEventListener("click", function(event) {
+        event.target.style.backgroundColor = "green";
+        document.body.appendChild(document.createTextNode("PASS"));
+    });
+
+    document.body.offsetTop;
+    if (window.layoutTestController) {
+        layoutTestController.dumpAsText();
+        eventSender.mouseMoveTo(50, 50);
+        eventSender.mouseDown();
+        eventSender.mouseUp();
+    }
+</script>
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt b/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt
index 49339e1..ceb428e 100644
--- a/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt
+++ b/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt
@@ -1,6 +1,6 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x296
+layer at (0,0) size 800x308
   RenderBlock {HTML} at (0,0) size 800x296
     RenderBody {BODY} at (8,16) size 784x272
       RenderBlock {P} at (0,0) size 784x18
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c7d5f45..45d38d5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2009-09-30  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
+        https://bugs.webkit.org/show_bug.cgi?id=29209
+
+        Test: fast/inline/relative-positioned-overflow.html
+
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
+        inlines to overflow to ensure that they are included in hit-testing.
+
 2009-09-30  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Mark Rowe.
diff --git a/WebCore/rendering/InlineFlowBox.cpp b/WebCore/rendering/InlineFlowBox.cpp
index 599129b..143d3d8 100644
--- a/WebCore/rendering/InlineFlowBox.cpp
+++ b/WebCore/rendering/InlineFlowBox.cpp
@@ -578,28 +578,23 @@ void InlineFlowBox::computeVerticalOverflow(int lineTop, int lineBottom, bool st
             
             topVisualOverflow = min(curr->y() + childOverflowTop, topVisualOverflow);
             bottomVisualOverflow = max(curr->y() + text->height() + childOverflowBottom, bottomVisualOverflow);
-        } else {
-            // Only include overflow from inline flows and replaced inlines if they do not paint themselves.
-            bool childIsSelfPainting = curr->boxModelObject()->hasSelfPaintingLayer();
-            if (curr->renderer()->isRenderInline()) {
-                InlineFlowBox* flow = static_cast<InlineFlowBox*>(curr);
-                flow->computeVerticalOverflow(lineTop, lineBottom, strictMode);
-                if (!childIsSelfPainting) {
-                    topLayoutOverflow = min(topLayoutOverflow, flow->topLayoutOverflow());
-                    bottomLayoutOverflow = max(bottomLayoutOverflow, flow->bottomLayoutOverflow());
-                    topVisualOverflow = min(topVisualOverflow, flow->topVisualOverflow());
-                    bottomVisualOverflow = max(bottomVisualOverflow, flow->bottomVisualOverflow());
-                }
-            } else if (!childIsSelfPainting){
-                RenderBox* box = toRenderBox(curr->renderer());
-                int boxY = curr->y();
-                int childTopOverflow = box->hasOverflowClip() ? 0 : box->topLayoutOverflow();
-                int childBottomOverflow = box->hasOverflowClip() ? curr->height() : box->bottomLayoutOverflow();
-                topLayoutOverflow = min(boxY + childTopOverflow, topLayoutOverflow);
-                bottomLayoutOverflow = max(boxY + childBottomOverflow, bottomLayoutOverflow);
-                topVisualOverflow = min(boxY + box->topVisualOverflow(), topVisualOverflow);
-                bottomVisualOverflow = max(boxY + box->bottomVisualOverflow(), bottomVisualOverflow);
-            }
+        } else  if (curr->renderer()->isRenderInline()) {
+            InlineFlowBox* flow = static_cast<InlineFlowBox*>(curr);
+            flow->computeVerticalOverflow(lineTop, lineBottom, strictMode);
+            topLayoutOverflow = min(topLayoutOverflow, flow->topLayoutOverflow());
+            bottomLayoutOverflow = max(bottomLayoutOverflow, flow->bottomLayoutOverflow());
+            topVisualOverflow = min(topVisualOverflow, flow->topVisualOverflow());
+            bottomVisualOverflow = max(bottomVisualOverflow, flow->bottomVisualOverflow());
+        } else if (!curr->boxModelObject()->hasSelfPaintingLayer()){
+            // Only include overflow from replaced inlines if they do not paint themselves.
+            RenderBox* box = toRenderBox(curr->renderer());
+            int boxY = curr->y();
+            int childTopOverflow = box->hasOverflowClip() ? 0 : box->topLayoutOverflow();
+            int childBottomOverflow = box->hasOverflowClip() ? curr->height() : box->bottomLayoutOverflow();
+            topLayoutOverflow = min(boxY + childTopOverflow, topLayoutOverflow);
+            bottomLayoutOverflow = max(boxY + childBottomOverflow, bottomLayoutOverflow);
+            topVisualOverflow = min(boxY + box->topVisualOverflow(), topVisualOverflow);
+            bottomVisualOverflow = max(boxY + box->bottomVisualOverflow(), bottomVisualOverflow);
         }
     }
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list