| Index: third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.cpp b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| index 1e6afe9da4816c0be507d72ed71436d7b5fc9b6c..26887fbe4ac6dec254e44a3ea4749c5a6410ec22 100644
|
| --- a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| +++ b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| @@ -72,7 +72,7 @@ ASSERT_SIZE(BorderValue, SameSizeAsBorderValue);
|
| // re-create the same structure for an accurate size comparison.
|
| struct SameSizeAsComputedStyle : public ComputedStyleBase,
|
| public RefCounted<ComputedStyle> {
|
| - void* dataRefs[7];
|
| + void* dataRefs[8];
|
| void* ownPtrs[1];
|
| void* dataRefSvgStyle;
|
|
|
| @@ -120,6 +120,7 @@ ALWAYS_INLINE ComputedStyle::ComputedStyle()
|
| m_visual(initialStyle().m_visual),
|
| m_background(initialStyle().m_background),
|
| m_surround(initialStyle().m_surround),
|
| + m_transform(initialStyle().m_transform),
|
| m_rareNonInheritedData(initialStyle().m_rareNonInheritedData),
|
| m_rareInheritedData(initialStyle().m_rareInheritedData),
|
| m_styleInheritedData(initialStyle().m_styleInheritedData),
|
| @@ -138,11 +139,11 @@ ALWAYS_INLINE ComputedStyle::ComputedStyle(InitialStyleTag)
|
| m_visual.init();
|
| m_background.init();
|
| m_surround.init();
|
| + m_transform.init();
|
| m_rareNonInheritedData.init();
|
| m_rareNonInheritedData.access()->m_deprecatedFlexibleBox.init();
|
| m_rareNonInheritedData.access()->m_flexibleBox.init();
|
| m_rareNonInheritedData.access()->m_multiCol.init();
|
| - m_rareNonInheritedData.access()->m_transform.init();
|
| m_rareNonInheritedData.access()->m_willChange.init();
|
| m_rareNonInheritedData.access()->m_filter.init();
|
| m_rareNonInheritedData.access()->m_backdropFilter.init();
|
| @@ -161,6 +162,7 @@ ALWAYS_INLINE ComputedStyle::ComputedStyle(const ComputedStyle& o)
|
| m_visual(o.m_visual),
|
| m_background(o.m_background),
|
| m_surround(o.m_surround),
|
| + m_transform(o.m_transform),
|
| m_rareNonInheritedData(o.m_rareNonInheritedData),
|
| m_rareInheritedData(o.m_rareInheritedData),
|
| m_styleInheritedData(o.m_styleInheritedData),
|
| @@ -364,6 +366,7 @@ void ComputedStyle::copyNonInheritedFromCached(const ComputedStyle& other) {
|
| m_visual = other.m_visual;
|
| m_background = other.m_background;
|
| m_surround = other.m_surround;
|
| + m_transform = other.m_transform;
|
| m_rareNonInheritedData = other.m_rareNonInheritedData;
|
|
|
| // The flags are copied one-by-one because m_nonInheritedData.m_contains a
|
| @@ -388,6 +391,8 @@ void ComputedStyle::copyNonInheritedFromCached(const ComputedStyle& other) {
|
| m_nonInheritedData.m_breakAfter = other.m_nonInheritedData.m_breakAfter;
|
| m_nonInheritedData.m_breakInside = other.m_nonInheritedData.m_breakInside;
|
| m_nonInheritedData.m_hasRemUnits = other.m_nonInheritedData.m_hasRemUnits;
|
| + m_nonInheritedData.m_isStackingContext =
|
| + other.m_nonInheritedData.m_isStackingContext;
|
|
|
| // Correctly set during selector matching:
|
| // m_nonInheritedData.m_styleType
|
| @@ -532,6 +537,7 @@ bool ComputedStyle::nonInheritedEqual(const ComputedStyle& other) const {
|
| m_nonInheritedData == other.m_nonInheritedData &&
|
| m_box == other.m_box && m_visual == other.m_visual &&
|
| m_background == other.m_background && m_surround == other.m_surround &&
|
| + m_transform == other.m_transform &&
|
| m_rareNonInheritedData == other.m_rareNonInheritedData &&
|
| m_svgStyle->nonInheritedEqual(*other.m_svgStyle);
|
| }
|
| @@ -1065,10 +1071,10 @@ void ComputedStyle::updatePropertySpecificDifferences(
|
| isStackingContext() != other.isStackingContext())
|
| diff.setZIndexChanged();
|
|
|
| - if (m_rareNonInheritedData.get() != other.m_rareNonInheritedData.get()) {
|
| - if (!transformDataEquivalent(other))
|
| - diff.setTransformChanged();
|
| + if (!transformDataEquivalent(other))
|
| + diff.setTransformChanged();
|
|
|
| + if (m_rareNonInheritedData.get() != other.m_rareNonInheritedData.get()) {
|
| if (m_rareNonInheritedData->opacity !=
|
| other.m_rareNonInheritedData->opacity)
|
| diff.setOpacityChanged();
|
| @@ -1379,8 +1385,7 @@ void ComputedStyle::applyMotionPathTransform(
|
| float originY,
|
| const FloatRect& boundingBox,
|
| TransformationMatrix& transform) const {
|
| - const StyleMotionData& motionData =
|
| - m_rareNonInheritedData->m_transform->m_motion;
|
| + const StyleMotionData& motionData = m_transform->m_motion;
|
| // TODO(ericwilligers): crbug.com/638055 Apply offset-position.
|
| if (!motionData.m_path) {
|
| return;
|
| @@ -2288,7 +2293,7 @@ void ComputedStyle::setMarginEnd(const Length& margin) {
|
| }
|
|
|
| void ComputedStyle::setOffsetPath(PassRefPtr<StylePath> path) {
|
| - m_rareNonInheritedData.access()->m_transform.access()->m_motion.m_path = path;
|
| + m_transform.access()->m_motion.m_path = path;
|
| }
|
|
|
| int ComputedStyle::outlineOutsetExtent() const {
|
|
|