Fix for Radar bug #4644045, regression where dragging selection no longer
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Aug 2006 23:27:12 +0000 (23:27 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Aug 2006 23:27:12 +0000 (23:27 +0000)
        works for floats contained inside layers.  I added an optimization to
        refine dirty rect checking for layers, and it incorrectly excluded floats
        from the paint bounds since PaintPhaseSelection was not considered when
        analyzing the floatRect().

        Reviewed by beth

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):

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

WebCore/ChangeLog
WebCore/rendering/RenderBlock.cpp

index e08ee7cefd0842ab8b6e29716865f955f54d6c80..bbd8de5dbef11a7f48d1c7aea4ea97fac141519f 100644 (file)
@@ -1,3 +1,16 @@
+2006-08-04  David Hyatt  <hyatt@apple.com>
+
+        Fix for Radar bug #4644045, regression where dragging selection no longer
+        works for floats contained inside layers.  I added an optimization to
+        refine dirty rect checking for layers, and it incorrectly excluded floats
+        from the paint bounds since PaintPhaseSelection was not considered when
+        analyzing the floatRect().
+
+        Reviewed by beth
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paint):
+
 2006-08-04  David Hyatt  <hyatt@apple.com>
 
         Fix remove() so that it is equivalent to calling removeChild on the
index a69a7edda42318848567597f00855b9d8c5dc668..bf71444c05c6568ad116fa029f6d7f71fb1c4886 100644 (file)
@@ -1240,7 +1240,7 @@ void RenderBlock::paint(PaintInfo& i, int _tx, int _ty)
         bool intersectsOverflowBox = overflowBox.intersects(i.r);
         if (!intersectsOverflowBox) {
             // Check floats next.
-            if (i.phase != PaintPhaseFloat)
+            if (i.phase != PaintPhaseFloat && i.phase != PaintPhaseSelection)
                 return;
             IntRect floatBox = floatRect();
             floatBox.inflate(maximalOutlineSize(i.phase));