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 { |