Diff
Modified: branches/subpixellayout/Source/WebCore/WebCore.xcodeproj/project.pbxproj (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2012-02-27 22:59:10 UTC (rev 109027)
@@ -5014,6 +5014,7 @@
B8DBDB4C130B0F8A00F5CDB1 /* SetSelectionCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = B8DBDB48130B0F8A00F5CDB1 /* SetSelectionCommand.h */; };
B8DBDB4D130B0F8A00F5CDB1 /* SpellingCorrectionCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8DBDB49130B0F8A00F5CDB1 /* SpellingCorrectionCommand.cpp */; };
B8DBDB4E130B0F8A00F5CDB1 /* SpellingCorrectionCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = B8DBDB4A130B0F8A00F5CDB1 /* SpellingCorrectionCommand.h */; };
+ BAB1C06A14FC3679004233FC /* FractionalLayoutPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 144FCE5414EC79E7000D17A3 /* FractionalLayoutPoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
BACF290113B2A0D500781F90 /* LayoutTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = BACF290013B2A0D500781F90 /* LayoutTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC00F0040E0A185500FD04E3 /* DOMFile.h in Headers */ = {isa = PBXBuildFile; fileRef = BC00EFFE0E0A185500FD04E3 /* DOMFile.h */; };
BC00F0050E0A185500FD04E3 /* DOMFile.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC00EFFF0E0A185500FD04E3 /* DOMFile.mm */; };
@@ -22369,6 +22370,7 @@
656D373A0ADBA5DE00A4554D /* FormState.h in Headers */,
41885B9311B6FDA6003383BB /* FormSubmission.h in Headers */,
935C476D09AC4D6300A6AAB4 /* FoundationExtras.h in Headers */,
+ BAB1C06A14FC3679004233FC /* FractionalLayoutPoint.h in Headers */,
144FCFE114EF2509000D17A3 /* FractionalLayoutRect.h in Headers */,
144FCE5D14EC79E7000D17A3 /* FractionalLayoutSize.h in Headers */,
144FCE5214EC79BC000D17A3 /* FractionalLayoutUnit.h in Headers */,
Modified: branches/subpixellayout/Source/WebCore/dom/ClientRect.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/dom/ClientRect.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/dom/ClientRect.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -34,7 +34,7 @@
namespace WebCore {
- class IntRect;
+ class IntRect;
class ClientRect : public RefCounted<ClientRect> {
public:
Modified: branches/subpixellayout/Source/WebCore/editing/DeleteButtonController.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/editing/DeleteButtonController.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/editing/DeleteButtonController.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -92,7 +92,7 @@
return false;
RenderBox* box = toRenderBox(renderer);
- LayoutRect borderBoundingBox = box->borderBoundingBox();
+ IntRect borderBoundingBox = box->borderBoundingBox();
if (borderBoundingBox.width() < minimumWidth || borderBoundingBox.height() < minimumHeight)
return false;
Modified: branches/subpixellayout/Source/WebCore/page/animation/AnimationBase.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/page/animation/AnimationBase.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/page/animation/AnimationBase.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -138,8 +138,8 @@
if (from->style() != to->style())
return adoptPtr(new ShadowData(*to));
- return adoptPtr(new ShadowData(blend(from->x().toFloat(), to->x().toFloat(), progress),
- blend(from->y().toFloat(), to->y().toFloat(), progress),
+ return adoptPtr(new ShadowData(blend(from->x(), to->x(), progress),
+ blend(from->y(), to->y(), progress),
blend(from->blur(), to->blur(), progress),
blend(from->spread(), to->spread(), progress),
blendFunc(anim, from->style(), to->style(), progress),
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBox.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderBox.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBox.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -128,8 +128,8 @@
// FIXME: We shouldn't be returning this as a LayoutRect, since it loses its position and won't properly pixel snap.
LayoutRect borderBoxRect() const { return LayoutRect(0, 0, width(), height()); }
- IntRect pixelSnappedBorderBoxRect() { return IntRect(IntPoint(), IntSize(m_frameRect.pixelSnappedWidth(), m_frameRect.pixelSnappedHeight())); }
- virtual LayoutRect borderBoundingBox() const { return borderBoxRect(); }
+ IntRect pixelSnappedBorderBoxRect() const { return IntRect(IntPoint(), IntSize(m_frameRect.pixelSnappedWidth(), m_frameRect.pixelSnappedHeight())); }
+ virtual IntRect borderBoundingBox() const { return pixelSnappedBorderBoxRect(); }
// The content area of the box (excludes padding and border).
LayoutRect contentBoxRect() const { return LayoutRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), contentWidth(), contentHeight()); }
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBoxModelObject.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderBoxModelObject.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBoxModelObject.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -74,7 +74,7 @@
virtual bool requiresLayer() const { return isRoot() || isPositioned() || isRelPositioned() || isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
// This will work on inlines to return the bounding box of all of the lines' border boxes.
- virtual LayoutRect borderBoundingBox() const = 0;
+ virtual IntRect borderBoundingBox() const = 0;
// Virtual since table cells override
virtual LayoutUnit paddingTop(bool includeIntrinsicPadding = true) const;
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderInline.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderInline.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderInline.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -785,14 +785,14 @@
return RenderBoxModelObject::positionForPoint(point);
}
-LayoutRect RenderInline::linesBoundingBox() const
+IntRect RenderInline::linesBoundingBox() const
{
if (!alwaysCreateLineBoxes()) {
ASSERT(!firstLineBox());
- return enclosingLayoutRect(culledInlineBoundingBox(this));
+ return enclosingIntRect(culledInlineBoundingBox(this));
}
- LayoutRect result;
+ IntRect result;
// See <rdar://problem/5289721>, for an unknown reason the linked list here is sometimes inconsistent, first is non-zero and last is zero. We have been
// unable to reproduce this at all (and consequently unable to figure ot why this is happening). The assert will hopefully catch the problem in debug
@@ -815,7 +815,7 @@
float y = isHorizontal ? firstLineBox()->y() : logicalLeftSide;
float width = isHorizontal ? logicalRightSide - logicalLeftSide : lastLineBox()->logicalBottom() - x;
float height = isHorizontal ? lastLineBox()->logicalBottom() - y : logicalRightSide - logicalLeftSide;
- result = enclosingLayoutRect(FloatRect(x, y, width, height));
+ result = enclosingIntRect(FloatRect(x, y, width, height));
}
return result;
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderInline.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderInline.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderInline.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -51,7 +51,7 @@
virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&) const;
- LayoutRect linesBoundingBox() const;
+ IntRect linesBoundingBox() const;
LayoutRect linesVisualOverflowBoundingBox() const;
InlineFlowBox* createAndAppendInlineFlowBox();
@@ -123,8 +123,8 @@
virtual LayoutUnit offsetLeft() const;
virtual LayoutUnit offsetTop() const;
- virtual LayoutUnit offsetWidth() const { return linesBoundingBox().width().ceil(); }
- virtual LayoutUnit offsetHeight() const { return linesBoundingBox().height().ceil(); }
+ virtual LayoutUnit offsetWidth() const { return linesBoundingBox().width(); }
+ virtual LayoutUnit offsetHeight() const { return linesBoundingBox().height(); }
virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
virtual LayoutRect rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, LayoutUnit outlineWidth) const;
@@ -134,10 +134,10 @@
virtual VisiblePosition positionForPoint(const LayoutPoint&);
- virtual LayoutRect borderBoundingBox() const
+ virtual IntRect borderBoundingBox() const
{
- LayoutRect boundingBox = linesBoundingBox();
- return LayoutRect(0, 0, boundingBox.width(), boundingBox.height());
+ IntRect boundingBox = linesBoundingBox();
+ return IntRect(0, 0, boundingBox.width(), boundingBox.height());
}
virtual InlineFlowBox* createInlineFlowBox(); // Subclassed by SVG and Ruby
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderLayer.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderLayer.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderLayer.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -740,8 +740,8 @@
LayoutSize inlineBoundingBoxOffset; // We don't put this into the RenderLayer x/y for inlines, so we need to subtract it out when done.
if (renderer()->isRenderInline()) {
RenderInline* inlineFlow = toRenderInline(renderer());
- LayoutRect lineBox = inlineFlow->linesBoundingBox();
- setSize(pixelSnappedIntSize(lineBox.size(), lineBox.location()));
+ IntRect lineBox = inlineFlow->linesBoundingBox();
+ setSize(lineBox.size());
inlineBoundingBoxOffset = toSize(lineBox.location());
localPoint += inlineBoundingBoxOffset;
} else if (RenderBox* box = renderBox()) {
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderObject.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderObject.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderObject.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -2683,7 +2683,7 @@
void RenderObject::adjustRectForOutlineAndShadow(LayoutRect& rect) const
{
- LayoutUnit outlineSize = outlineStyleForRepaint()->outlineSize();
+ int outlineSize = outlineStyleForRepaint()->outlineSize();
if (const ShadowData* boxShadow = style()->boxShadow()) {
boxShadow->adjustRectForShadow(rect, outlineSize);
return;
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderText.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderText.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderText.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -1475,9 +1475,9 @@
return w;
}
-LayoutRect RenderText::linesBoundingBox() const
+IntRect RenderText::linesBoundingBox() const
{
- LayoutRect result;
+ IntRect result;
ASSERT(!firstTextBox() == !lastTextBox()); // Either both are null or both exist.
if (firstTextBox() && lastTextBox()) {
@@ -1497,11 +1497,9 @@
float y = isHorizontal ? firstTextBox()->y() : logicalLeftSide;
float width = isHorizontal ? logicalRightSide - logicalLeftSide : lastTextBox()->logicalBottom() - x;
float height = isHorizontal ? lastTextBox()->logicalBottom() - y : logicalRightSide - logicalLeftSide;
- result = LayoutRect(x, y, width, height);
+ result = enclosingIntRect(FloatRect(x, y, width, height));
}
- fprintf(stderr, "linesBoundingBox %0.2f %0.2f %0.2f %0.2f\n", result.x().toFloat(), result.y().toFloat(), result.width().toFloat(), result.height().toFloat());
-
return result;
}
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderText.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderText.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderText.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -82,7 +82,7 @@
float& beginMaxW, float& endMaxW,
float& minW, float& maxW, bool& stripFrontSpaces);
- virtual LayoutRect linesBoundingBox() const;
+ virtual IntRect linesBoundingBox() const;
LayoutRect linesVisualOverflowBoundingBox() const;
FloatPoint firstRunOrigin() const;
Modified: branches/subpixellayout/Source/WebCore/rendering/RenderView.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/RenderView.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderView.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -842,7 +842,7 @@
}
// Prefer the widest object that tries to move the pagination point
- IntRect boundingBox = enclosingIntRect(forRenderer->borderBoundingBox());
+ IntRect boundingBox = forRenderer->borderBoundingBox();
if (boundingBox.width() > m_legacyPrinting.m_truncatorWidth) {
m_legacyPrinting.m_truncatorWidth = boundingBox.width();
m_legacyPrinting.m_bestTruncatedAt = y;
Modified: branches/subpixellayout/Source/WebCore/rendering/style/RenderStyle.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/style/RenderStyle.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/style/RenderStyle.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -1128,10 +1128,10 @@
continue;
int blurAndSpread = shadow->blur() + shadow->spread();
- top = min(top, shadow->y() - blurAndSpread);
- right = max(right, shadow->x() + blurAndSpread);
- bottom = max(bottom, shadow->y() + blurAndSpread);
- left = min(left, shadow->x() - blurAndSpread);
+ top = min<LayoutUnit>(top, shadow->y() - blurAndSpread);
+ right = max<LayoutUnit>(right, shadow->x() + blurAndSpread);
+ bottom = max<LayoutUnit>(bottom, shadow->y() + blurAndSpread);
+ left = min<LayoutUnit>(left, shadow->x() - blurAndSpread);
}
}
@@ -1145,8 +1145,8 @@
continue;
int blurAndSpread = shadow->blur() + shadow->spread();
- left = min(left, shadow->x() - blurAndSpread);
- right = max(right, shadow->x() + blurAndSpread);
+ left = min<LayoutUnit>(left, shadow->x() - blurAndSpread);
+ right = max<LayoutUnit>(right, shadow->x() + blurAndSpread);
}
}
@@ -1160,8 +1160,8 @@
continue;
int blurAndSpread = shadow->blur() + shadow->spread();
- top = min(top, shadow->y() - blurAndSpread);
- bottom = max(bottom, shadow->y() + blurAndSpread);
+ top = min<LayoutUnit>(top, shadow->y() - blurAndSpread);
+ bottom = max<LayoutUnit>(bottom, shadow->y() + blurAndSpread);
}
}
Modified: branches/subpixellayout/Source/WebCore/rendering/style/ShadowData.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/style/ShadowData.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/style/ShadowData.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -53,7 +53,7 @@
&& m_isWebkitBoxShadow == o.m_isWebkitBoxShadow;
}
-static inline void calculateShadowExtent(const ShadowData* shadow, int additionalOutlineSize, LayoutUnit& shadowLeft, LayoutUnit& shadowRight, LayoutUnit& shadowTop, LayoutUnit& shadowBottom)
+static inline void calculateShadowExtent(const ShadowData* shadow, int additionalOutlineSize, int& shadowLeft, int& shadowRight, int& shadowTop, int& shadowBottom)
{
do {
int blurAndSpread = shadow->blur() + shadow->spread() + additionalOutlineSize;
@@ -70,10 +70,10 @@
void ShadowData::adjustRectForShadow(LayoutRect& rect, int additionalOutlineSize) const
{
- LayoutUnit shadowLeft = 0;
- LayoutUnit shadowRight = 0;
- LayoutUnit shadowTop = 0;
- LayoutUnit shadowBottom = 0;
+ int shadowLeft = 0;
+ int shadowRight = 0;
+ int shadowTop = 0;
+ int shadowBottom = 0;
calculateShadowExtent(this, additionalOutlineSize, shadowLeft, shadowRight, shadowTop, shadowBottom);
rect.move(shadowLeft, shadowTop);
@@ -83,10 +83,10 @@
void ShadowData::adjustRectForShadow(FloatRect& rect, int additionalOutlineSize) const
{
- LayoutUnit shadowLeft = 0;
- LayoutUnit shadowRight = 0;
- LayoutUnit shadowTop = 0;
- LayoutUnit shadowBottom = 0;
+ int shadowLeft = 0;
+ int shadowRight = 0;
+ int shadowTop = 0;
+ int shadowBottom = 0;
calculateShadowExtent(this, additionalOutlineSize, shadowLeft, shadowRight, shadowTop, shadowBottom);
rect.move(shadowLeft, shadowTop);
Modified: branches/subpixellayout/Source/WebCore/rendering/style/ShadowData.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/style/ShadowData.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/style/ShadowData.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -49,7 +49,7 @@
{
}
- ShadowData(LayoutUnit x, LayoutUnit y, int blur, int spread, ShadowStyle style, bool isWebkitBoxShadow, const Color& color)
+ ShadowData(int x, int y, int blur, int spread, ShadowStyle style, bool isWebkitBoxShadow, const Color& color)
: m_x(x)
, m_y(y)
, m_blur(blur)
@@ -68,8 +68,8 @@
return !(*this == o);
}
- LayoutUnit x() const { return m_x; }
- LayoutUnit y() const { return m_y; }
+ int x() const { return m_x; }
+ int y() const { return m_y; }
int blur() const { return m_blur; }
int spread() const { return m_spread; }
ShadowStyle style() const { return m_style; }
@@ -83,8 +83,8 @@
void adjustRectForShadow(FloatRect&, int additionalOutlineSize = 0) const;
private:
- LayoutUnit m_x;
- LayoutUnit m_y;
+ int m_x;
+ int m_y;
int m_blur;
int m_spread;
Color m_color;
Modified: branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp 2012-02-27 22:59:10 UTC (rev 109027)
@@ -165,7 +165,7 @@
return boundingBox;
}
-LayoutRect RenderSVGInlineText::linesBoundingBox() const
+IntRect RenderSVGInlineText::linesBoundingBox() const
{
return enclosingIntRect(floatLinesBoundingBox());
}
Modified: branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGInlineText.h (109026 => 109027)
--- branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGInlineText.h 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGInlineText.h 2012-02-27 22:59:10 UTC (rev 109027)
@@ -59,7 +59,7 @@
virtual VisiblePosition positionForPoint(const LayoutPoint&);
virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidthToEndOfLine = 0);
- virtual LayoutRect linesBoundingBox() const;
+ virtual IntRect linesBoundingBox() const;
virtual InlineTextBox* createTextBox();
float m_scalingFactor;
Modified: branches/subpixellayout/Source/WebKit/mac/WebView/WebRenderNode.mm (109026 => 109027)
--- branches/subpixellayout/Source/WebKit/mac/WebView/WebRenderNode.mm 2012-02-27 22:53:25 UTC (rev 109026)
+++ branches/subpixellayout/Source/WebKit/mac/WebView/WebRenderNode.mm 2012-02-27 22:59:10 UTC (rev 109027)
@@ -115,12 +115,12 @@
RenderText* text = toRenderText(node);
x = text->firstRunX();
y = text->firstRunY();
- LayoutRect box = text->linesBoundingBox();
+ IntRect box = text->linesBoundingBox();
width = box.width();
height = box.height();
} else if (node->isRenderInline()) {
RenderBoxModelObject* inlineFlow = toRenderBoxModelObject(node);
- LayoutRect boundingBox = inlineFlow->borderBoundingBox();
+ IntRect boundingBox = inlineFlow->borderBoundingBox();
x = boundingBox.x();
y = boundingBox.y();
width = boundingBox.width();