Pixel turds when bordered div is resized on SMF forum software.
https://bugs.webkit.org/show_bug.cgi?id=155957
<rdar://problem/25010646>
Reviewed by Simon Fraser.
Use unmodified, non-snapped bounding box rect when computing dirty rects.
Source/WebCore:
Test: fast/repaint/hidpi-box-with-subpixel-height-inflates.html
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::getTrailingCorner):
* rendering/RenderInline.h:
* rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::borderBoundingBox): Deleted.
* rendering/RenderLineBreak.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::setBestTruncatedAt):
LayoutTests:
* fast/repaint/hidpi-box-with-subpixel-height-inflates-expected.txt: Added.
* fast/repaint/hidpi-box-with-subpixel-height-inflates.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@198771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/rendering/RenderBoxModelObject.h b/Source/WebCore/rendering/RenderBoxModelObject.h
index 5baccb9..25a4f41 100644
--- a/Source/WebCore/rendering/RenderBoxModelObject.h
+++ b/Source/WebCore/rendering/RenderBoxModelObject.h
@@ -130,7 +130,7 @@
bool requiresLayer() const override { return isDocumentElementRenderer() || isPositioned() || createsGroup() || hasClipPath() || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection(); }
// This will work on inlines to return the bounding box of all of the lines' border boxes.
- virtual IntRect borderBoundingBox() const = 0;
+ virtual LayoutRect borderBoundingBox() const = 0;
// These return the CSS computed padding values.
LayoutUnit computedCSSPaddingTop() const { return computedCSSPadding(style().paddingTop()); }