| Index: third_party/WebKit/WebCore/rendering/RenderInline.cpp
|
| ===================================================================
|
| --- third_party/WebKit/WebCore/rendering/RenderInline.cpp (revision 9310)
|
| +++ third_party/WebKit/WebCore/rendering/RenderInline.cpp (working copy)
|
| @@ -95,13 +95,21 @@
|
| return toRenderBlock(m_continuation)->inlineContinuation();
|
| }
|
|
|
| +void RenderInline::updateBoxModelInfoFromStyle()
|
| +{
|
| + RenderBoxModelObject::updateBoxModelInfoFromStyle();
|
| +
|
| + setInline(true); // Needed for run-ins, since run-in is considered a block display type.
|
| +
|
| + // FIXME: Support transforms and reflections on inline flows someday.
|
| + setHasTransform(false);
|
| + setHasReflection(false);
|
| +}
|
| +
|
| void RenderInline::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
|
| {
|
| RenderBox::styleDidChange(diff, oldStyle);
|
|
|
| - setInline(true);
|
| - setHasReflection(false);
|
| -
|
| // Ensure that all of the split inlines pick up the new style. We
|
| // only do this if we're an inline, since we don't want to propagate
|
| // a block's style to the other inlines.
|
| @@ -519,7 +527,7 @@
|
| return result;
|
| }
|
|
|
| -IntRect RenderInline::clippedOverflowRectForRepaint(RenderBox* repaintContainer)
|
| +IntRect RenderInline::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer)
|
| {
|
| // Only run-ins are allowed in here during layout.
|
| ASSERT(!view() || !view()->layoutStateEnabled() || isRunIn());
|
| @@ -582,7 +590,7 @@
|
| return r;
|
| }
|
|
|
| -IntRect RenderInline::rectWithOutlineForRepaint(RenderBox* repaintContainer, int outlineWidth)
|
| +IntRect RenderInline::rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, int outlineWidth)
|
| {
|
| IntRect r(RenderBox::rectWithOutlineForRepaint(repaintContainer, outlineWidth));
|
| for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
|
| @@ -667,7 +675,7 @@
|
| return m_lineHeight;
|
| }
|
|
|
| -IntSize RenderInline::relativePositionedInlineOffset(const RenderObject* child) const
|
| +IntSize RenderInline::relativePositionedInlineOffset(const RenderBox* child) const
|
| {
|
| ASSERT(isRelPositioned());
|
| if (!isRelPositioned())
|
| @@ -684,11 +692,11 @@
|
| sx = firstLineBox()->xPos();
|
| sy = firstLineBox()->yPos();
|
| } else {
|
| - sx = staticX();
|
| - sy = staticY();
|
| + sx = layer()->staticX();
|
| + sy = layer()->staticY();
|
| }
|
|
|
| - if (!child->hasStaticX())
|
| + if (!child->style()->hasStaticX())
|
| offset.setWidth(sx);
|
| // This is not terribly intuitive, but we have to match other browsers. Despite being a block display type inside
|
| // an inline, we still keep our x locked to the left of the relative positioned inline. Arguably the correct
|
| @@ -698,7 +706,7 @@
|
| // Avoid adding in the left border/padding of the containing block twice. Subtract it out.
|
| offset.setWidth(sx - (child->containingBlock()->borderLeft() + child->containingBlock()->paddingLeft()));
|
|
|
| - if (!child->hasStaticY())
|
| + if (!child->style()->hasStaticY())
|
| offset.setHeight(sy);
|
|
|
| return offset;
|
|
|