[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