[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

oliver at apple.com oliver at apple.com
Thu Feb 4 21:22:48 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 1dcff0de5626a316fe0a9cd03fb771c51a40d8da
Author: oliver at apple.com <oliver at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 21 05:36:41 2010 +0000

    2010-01-20  Oliver Hunt  <oliver at apple.com>
    
            Reviewed by Dan Bernstein.
    
            Insufficient repaint issues with html embedded in foreignObject
            https://bugs.webkit.org/show_bug.cgi?id=16318
    
            Final part of fix -- now we render the selection rect of list
            markers in a transformed context.
    
            * rendering/RenderListMarker.cpp:
            (WebCore::RenderListMarker::localSelectionRect):
            (WebCore::RenderListMarker::paint):
            * rendering/RenderListMarker.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 30adf19..07cde20 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-01-20  Oliver Hunt  <oliver at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Insufficient repaint issues with html embedded in foreignObject
+        https://bugs.webkit.org/show_bug.cgi?id=16318
+
+        Final part of fix -- now we render the selection rect of list
+        markers in a transformed context.
+
+        * rendering/RenderListMarker.cpp:
+        (WebCore::RenderListMarker::localSelectionRect):
+        (WebCore::RenderListMarker::paint):
+        * rendering/RenderListMarker.h:
+
 2010-01-20  Daniel Bates  <dbates at webkit.org>
 
         No review, rolling out 53591.
diff --git a/WebCore/rendering/RenderListMarker.cpp b/WebCore/rendering/RenderListMarker.cpp
index 5ce9a21..f67bc0f 100644
--- a/WebCore/rendering/RenderListMarker.cpp
+++ b/WebCore/rendering/RenderListMarker.cpp
@@ -772,6 +772,15 @@ bool RenderListMarker::isImage() const
     return m_image && !m_image->errorOccurred();
 }
 
+IntRect RenderListMarker::localSelectionRect()
+{
+    InlineBox* box = inlineBoxWrapper();
+    if (!box)
+        return IntRect();
+    RootInlineBox* root = box->root();
+    return IntRect(x(), root->selectionTop() - y(), width(), root->selectionHeight());
+}
+
 void RenderListMarker::paint(PaintInfo& paintInfo, int tx, int ty)
 {
     if (paintInfo.phase != PaintPhaseForeground)
@@ -800,8 +809,9 @@ void RenderListMarker::paint(PaintInfo& paintInfo, int tx, int ty)
 #endif
         context->drawImage(m_image->image(this, marker.size()), style()->colorSpace(), marker.location());
         if (selectionState() != SelectionNone) {
-            // FIXME: selectionRect() is in absolute, not painting coordinates.
-            context->fillRect(selectionRect(), selectionBackgroundColor(), style()->colorSpace());
+            IntRect selRect = localSelectionRect();
+            selRect.move(tx, ty);
+            context->fillRect(selRect, selectionBackgroundColor(), style()->colorSpace());
         }
         return;
     }
@@ -813,8 +823,9 @@ void RenderListMarker::paint(PaintInfo& paintInfo, int tx, int ty)
 #endif
 
     if (selectionState() != SelectionNone) {
-        // FIXME: selectionRect() is in absolute, not painting coordinates.
-        context->fillRect(selectionRect(), selectionBackgroundColor(), style()->colorSpace());
+        IntRect selRect = localSelectionRect();
+        selRect.move(tx, ty);
+        context->fillRect(selRect, selectionBackgroundColor(), style()->colorSpace());
     }
 
     const Color color(style()->color());
diff --git a/WebCore/rendering/RenderListMarker.h b/WebCore/rendering/RenderListMarker.h
index 5b46278..971877b 100644
--- a/WebCore/rendering/RenderListMarker.h
+++ b/WebCore/rendering/RenderListMarker.h
@@ -73,6 +73,7 @@ private:
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
 
     IntRect getRelativeMarkerRect();
+    IntRect localSelectionRect();
 
     String m_text;
     RefPtr<StyleImage> m_image;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list