| Index: third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp b/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp
|
| index 7bc8ecd7d57fa13a6220ab020a33be138658537d..72817c9500fc8ffe414265844af77430c12ba52f 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp
|
| @@ -82,9 +82,9 @@ void LayoutGeometryMap::mapToAncestor(TransformState& transformState, const Layo
|
| // If this box has a transform, it acts as a fixed position container
|
| // for fixed descendants, which prevents the propagation of 'fixed'
|
| // unless the layer itself is also fixed position.
|
| - if (i && currentStep.m_hasTransform && !currentStep.m_isFixedPosition)
|
| + if (i && currentStep.m_flags & HasTransform && !(currentStep.m_flags & IsFixedPosition))
|
| inFixed = false;
|
| - else if (currentStep.m_isFixedPosition)
|
| + else if (currentStep.m_flags & IsFixedPosition)
|
| inFixed = true;
|
|
|
| ASSERT(!i == isTopmostLayoutView(currentStep.m_layoutObject));
|
| @@ -94,7 +94,7 @@ void LayoutGeometryMap::mapToAncestor(TransformState& transformState, const Layo
|
| if (!ancestor && currentStep.m_transform)
|
| transformState.applyTransform(*currentStep.m_transform.get());
|
| } else {
|
| - TransformState::TransformAccumulation accumulate = currentStep.m_accumulatingTransform ? TransformState::AccumulateTransform : TransformState::FlattenTransform;
|
| + TransformState::TransformAccumulation accumulate = currentStep.m_flags & AccumulatingTransform ? TransformState::AccumulateTransform : TransformState::FlattenTransform;
|
| if (currentStep.m_transform)
|
| transformState.applyTransform(*currentStep.m_transform.get(), accumulate);
|
| else
|
| @@ -121,7 +121,7 @@ void LayoutGeometryMap::dumpSteps() const
|
| m_mapping[i].m_layoutObject->debugName().ascii().data(),
|
| m_mapping[i].m_offset.width().toInt(),
|
| m_mapping[i].m_offset.height().toInt());
|
| - if (m_mapping[i].m_hasTransform)
|
| + if (m_mapping[i].m_flags & HasTransform)
|
| fprintf(stderr, " hasTransform");
|
| fprintf(stderr, "\n");
|
| }
|
| @@ -211,14 +211,14 @@ void LayoutGeometryMap::pushMappingsToAncestor(const PaintLayer* layer, const Pa
|
|
|
| TemporaryChange<size_t> positionChange(m_insertionPosition, m_mapping.size());
|
| bool accumulatingTransform = layer->layoutObject()->style()->preserves3D() || ancestorLayer->layoutObject()->style()->preserves3D();
|
| - push(layoutObject, toLayoutSize(layerOffset), accumulatingTransform, /*isNonUniform*/ false, /*isFixedPosition*/ false, /*hasTransform*/ false);
|
| + push(layoutObject, toLayoutSize(layerOffset), accumulatingTransform ? AccumulatingTransform : 0);
|
| return;
|
| }
|
| const LayoutBoxModelObject* ancestorLayoutObject = ancestorLayer ? ancestorLayer->layoutObject() : 0;
|
| pushMappingsToAncestor(layoutObject, ancestorLayoutObject);
|
| }
|
|
|
| -void LayoutGeometryMap::push(const LayoutObject* layoutObject, const LayoutSize& offsetFromContainer, bool accumulatingTransform, bool isNonUniform, bool isFixedPosition, bool hasTransform, LayoutSize offsetForFixedPosition)
|
| +void LayoutGeometryMap::push(const LayoutObject* layoutObject, const LayoutSize& offsetFromContainer, GeometryInfoFlags flags, LayoutSize offsetForFixedPosition)
|
| {
|
| LAYOUT_GEOMETRY_MAP_LOG("LayoutGeometryMap::push %p %d,%d isNonUniform=%d\n", layoutObject, offsetFromContainer.width().toInt(), offsetFromContainer.height().toInt(), isNonUniform);
|
|
|
| @@ -226,7 +226,7 @@ void LayoutGeometryMap::push(const LayoutObject* layoutObject, const LayoutSize&
|
| ASSERT(!layoutObject->isLayoutView() || !m_insertionPosition || m_mapCoordinatesFlags & TraverseDocumentBoundaries);
|
| ASSERT(offsetForFixedPosition.isZero() || layoutObject->isLayoutView());
|
|
|
| - m_mapping.insert(m_insertionPosition, LayoutGeometryMapStep(layoutObject, accumulatingTransform, isNonUniform, isFixedPosition, hasTransform));
|
| + m_mapping.insert(m_insertionPosition, LayoutGeometryMapStep(layoutObject, flags));
|
|
|
| LayoutGeometryMapStep& step = m_mapping[m_insertionPosition];
|
| step.m_offset = offsetFromContainer;
|
| @@ -235,13 +235,13 @@ void LayoutGeometryMap::push(const LayoutObject* layoutObject, const LayoutSize&
|
| stepInserted(step);
|
| }
|
|
|
| -void LayoutGeometryMap::push(const LayoutObject* layoutObject, const TransformationMatrix& t, bool accumulatingTransform, bool isNonUniform, bool isFixedPosition, bool hasTransform, LayoutSize offsetForFixedPosition)
|
| +void LayoutGeometryMap::push(const LayoutObject* layoutObject, const TransformationMatrix& t, GeometryInfoFlags flags, LayoutSize offsetForFixedPosition)
|
| {
|
| ASSERT(m_insertionPosition != kNotFound);
|
| ASSERT(!layoutObject->isLayoutView() || !m_insertionPosition || m_mapCoordinatesFlags & TraverseDocumentBoundaries);
|
| ASSERT(offsetForFixedPosition.isZero() || layoutObject->isLayoutView());
|
|
|
| - m_mapping.insert(m_insertionPosition, LayoutGeometryMapStep(layoutObject, accumulatingTransform, isNonUniform, isFixedPosition, hasTransform));
|
| + m_mapping.insert(m_insertionPosition, LayoutGeometryMapStep(layoutObject, flags));
|
|
|
| LayoutGeometryMapStep& step = m_mapping[m_insertionPosition];
|
| step.m_offsetForFixedPosition = offsetForFixedPosition;
|
| @@ -274,13 +274,13 @@ void LayoutGeometryMap::stepInserted(const LayoutGeometryMapStep& step)
|
| {
|
| m_accumulatedOffset += step.m_offset;
|
|
|
| - if (step.m_isNonUniform)
|
| + if (step.m_flags & IsNonUniform)
|
| ++m_nonUniformStepsCount;
|
|
|
| if (step.m_transform)
|
| ++m_transformedStepsCount;
|
|
|
| - if (step.m_isFixedPosition)
|
| + if (step.m_flags & IsFixedPosition)
|
| ++m_fixedStepsCount;
|
| }
|
|
|
| @@ -288,7 +288,7 @@ void LayoutGeometryMap::stepRemoved(const LayoutGeometryMapStep& step)
|
| {
|
| m_accumulatedOffset -= step.m_offset;
|
|
|
| - if (step.m_isNonUniform) {
|
| + if (step.m_flags & IsNonUniform) {
|
| ASSERT(m_nonUniformStepsCount);
|
| --m_nonUniformStepsCount;
|
| }
|
| @@ -298,7 +298,7 @@ void LayoutGeometryMap::stepRemoved(const LayoutGeometryMapStep& step)
|
| --m_transformedStepsCount;
|
| }
|
|
|
| - if (step.m_isFixedPosition) {
|
| + if (step.m_flags & IsFixedPosition) {
|
| ASSERT(m_fixedStepsCount);
|
| --m_fixedStepsCount;
|
| }
|
|
|