| 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());
|
|
|