2010-01-20 Oliver Hunt <oliver@apple.com>
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jan 2010 21:50:01 +0000 (21:50 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jan 2010 21:50:01 +0000 (21:50 +0000)
        No review, rolling out r53561.
        http://trac.webkit.org/changeset/53561
        https://bugs.webkit.org/show_bug.cgi?id=16318

        broke selection repaint for transformed text in html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderForeignObject.cpp:
        * rendering/RenderForeignObject.h:

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

WebCore/ChangeLog
WebCore/rendering/RenderBlock.cpp
WebCore/rendering/RenderForeignObject.cpp
WebCore/rendering/RenderForeignObject.h

index 0f4c716..d3f23f2 100644 (file)
@@ -1,3 +1,16 @@
+2010-01-20  Oliver Hunt  <oliver@apple.com>
+
+        No review, rolling out r53561.
+        http://trac.webkit.org/changeset/53561
+        https://bugs.webkit.org/show_bug.cgi?id=16318
+
+        broke selection repaint for transformed text in html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paintSelection):
+        * rendering/RenderForeignObject.cpp:
+        * rendering/RenderForeignObject.h:
+
 2010-01-19  Oliver Hunt  <oliver@apple.com>
 
         Reviewed by Beth Dakin.
index 61a97b3..3fd10ea 100644 (file)
@@ -1957,10 +1957,8 @@ void RenderBlock::paintSelection(PaintInfo& paintInfo, int tx, int ty)
         IntRect gapRectsBounds = fillSelectionGaps(this, tx, ty, tx, ty, lastTop, lastLeft, lastRight, &paintInfo);
         if (!gapRectsBounds.isEmpty()) {
             if (RenderLayer* layer = enclosingLayer()) {
-                if (!hasLayer()) {
-                    FloatRect localBounds(gapRectsBounds);
-                    gapRectsBounds = localToContainerQuad(localBounds, layer->renderer()).enclosingBoundingBox();
-                }
+                IntSize offset = hasLayer() ? IntSize() : offsetFromAncestorContainer(layer->renderer());
+                gapRectsBounds.move(offset - IntSize(tx, ty));
                 layer->addBlockSelectionGapsBounds(gapRectsBounds);
             }
         }
index 6597554..573ae96 100644 (file)
@@ -120,11 +120,6 @@ bool RenderForeignObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, int
     return false;
 }
 
-void RenderForeignObject::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed , bool useTransforms, TransformState& transformState) const
-{
-    SVGRenderBase::mapLocalToContainer(this, repaintContainer, fixed, useTransforms, transformState);
-}
-
 } // namespace WebCore
 
 #endif // ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT)
index 8cb9a55..8ad223f 100644 (file)
@@ -52,8 +52,6 @@ public:
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
     virtual bool isSVGForeignObject() const { return true; }
 
-    virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed , bool useTransforms, TransformState& transformState) const;
-
  private:
     TransformationMatrix translationForAttributes() const;