Index: Source/core/rendering/RenderBoxModelObject.cpp |
diff --git a/Source/core/rendering/RenderBoxModelObject.cpp b/Source/core/rendering/RenderBoxModelObject.cpp |
index 3b084c5fde5cc73a5bcbaac982dcae77e67fc05c..3868c44409e0721b697b8d2d0a52ba939bb86729 100644 |
--- a/Source/core/rendering/RenderBoxModelObject.cpp |
+++ b/Source/core/rendering/RenderBoxModelObject.cpp |
@@ -37,8 +37,6 @@ |
#include "core/rendering/RenderInline.h" |
#include "core/rendering/RenderLayer.h" |
#include "core/rendering/RenderLayerCompositor.h" |
-#include "core/rendering/RenderNamedFlowThread.h" |
-#include "core/rendering/RenderRegion.h" |
#include "core/rendering/RenderView.h" |
#include "core/rendering/style/ShadowList.h" |
#include "platform/geometry/TransformState.h" |
@@ -288,17 +286,14 @@ LayoutPoint RenderBoxModelObject::adjustedPositionRelativeToOffsetParent(const L |
if (const RenderBoxModelObject* offsetParent = element->renderBoxModelObject()) { |
if (offsetParent->isBox() && !offsetParent->isBody()) |
referencePoint.move(-toRenderBox(offsetParent)->borderLeft(), -toRenderBox(offsetParent)->borderTop()); |
- if (!isOutOfFlowPositioned() || flowThreadContainingBlock()) { |
+ if (!isOutOfFlowPositioned()) { |
if (isRelPositioned()) |
referencePoint.move(relativePositionOffset()); |
else if (isStickyPositioned()) |
referencePoint.move(stickyPositionOffset()); |
- // CSS regions specification says that region flows should return the body element as their offsetParent. |
- // Since we will bypass the body’s renderer anyway, just end the loop if we encounter a region flow (named flow thread). |
- // See http://dev.w3.org/csswg/css-regions/#cssomview-offset-attributes |
RenderObject* current; |
- for (current = parent(); current != offsetParent && !current->isRenderNamedFlowThread() && current->parent(); current = current->parent()) { |
+ for (current = parent(); current != offsetParent && current->parent(); current = current->parent()) { |
// FIXME: What are we supposed to do inside SVG content? |
if (!isOutOfFlowPositioned()) { |
if (current->isBox() && !current->isTableRow()) |
@@ -307,11 +302,7 @@ LayoutPoint RenderBoxModelObject::adjustedPositionRelativeToOffsetParent(const L |
} |
} |
- // Compute the offset position for elements inside named flow threads for which the offsetParent was the body. |
- // See https://code.google.com/p/chromium/issues/detail?id=242168 |
- if (current->isRenderNamedFlowThread()) |
- referencePoint = toRenderNamedFlowThread(current)->adjustedPositionRelativeToOffsetParent(*this, referencePoint); |
- else if (offsetParent->isBox() && offsetParent->isBody() && !offsetParent->isPositioned()) |
+ if (offsetParent->isBox() && offsetParent->isBody() && !offsetParent->isPositioned()) |
referencePoint.moveBy(toRenderBox(offsetParent)->topLeftLocation()); |
} |
} |
@@ -385,7 +376,7 @@ LayoutSize RenderBoxModelObject::stickyPositionOffset() const |
RenderLayer* enclosingClippingLayer = layer()->enclosingOverflowClipLayer(ExcludeSelf); |
if (enclosingClippingLayer) { |
RenderBox* enclosingClippingBox = toRenderBox(enclosingClippingLayer->renderer()); |
- LayoutRect clipRect = enclosingClippingBox->overflowClipRect(LayoutPoint(), 0); // FIXME: make this work in regions. |
+ LayoutRect clipRect = enclosingClippingBox->overflowClipRect(LayoutPoint()); |
constrainingRect = enclosingClippingBox->localToContainerQuad(FloatRect(clipRect), view()).boundingBox(); |
} else { |
LayoutRect viewportRect = view()->frameView()->viewportConstrainedVisibleContentRect(); |
@@ -626,7 +617,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
if (clippedWithLocalScrolling) { |
// Clip to the overflow area. |
RenderBox* thisBox = toRenderBox(this); |
- context->clip(thisBox->overflowClipRect(rect.location(), paintInfo.renderRegion)); |
+ context->clip(thisBox->overflowClipRect(rect.location())); |
// Adjust the paint rect to reflect a scrolled content box with borders at the ends. |
IntSize offset = thisBox->scrolledContentOffset(); |
@@ -766,7 +757,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
// Now draw the text into the mask. We do this by painting using a special paint phase that signals to |
// InlineTextBoxes that they should just add their contents to the clip. |
- PaintInfo info(context, maskRect, PaintPhaseTextClip, PaintBehaviorForceBlackText, 0, paintInfo.renderRegion); |
+ PaintInfo info(context, maskRect, PaintPhaseTextClip, PaintBehaviorForceBlackText, 0); |
context->setCompositeOperation(CompositeSourceOver); |
if (box) { |
RootInlineBox* root = box->root(); |
@@ -2737,19 +2728,6 @@ void RenderBoxModelObject::mapAbsoluteToLocalPoint(MapCoordinatesFlags mode, Tra |
if (!o) |
return; |
- // The point inside a box that's inside a region has its coordinates relative to the region, |
- // not the FlowThread that is its container in the RenderObject tree. |
- if (o->isRenderFlowThread() && isRenderBlock()) { |
- // FIXME: switch to Box instead of Block when we'll have range information for boxes as well, not just for blocks. |
- RenderRegion* startRegion; |
- RenderRegion* ignoredEndRegion; |
- toRenderFlowThread(o)->getRegionRangeForBox(toRenderBlock(this), startRegion, ignoredEndRegion); |
- // If there is no region to use the FlowThread, then there's no region range for the content in that FlowThread. |
- // An API like elementFromPoint might crash without this check. |
- if (startRegion) |
- o = startRegion; |
- } |
- |
o->mapAbsoluteToLocalPoint(mode, transformState); |
LayoutSize containerOffset = offsetFromContainer(o, LayoutPoint()); |