| Index: third_party/WebKit/Source/core/style/ComputedStyle.h
|
| diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.h b/third_party/WebKit/Source/core/style/ComputedStyle.h
|
| index d46c6d9831a2fd57ebdd4e6aaba88a9d612b69c4..1c521e57445e13919d2207951570d3f60c84884f 100644
|
| --- a/third_party/WebKit/Source/core/style/ComputedStyle.h
|
| +++ b/third_party/WebKit/Source/core/style/ComputedStyle.h
|
| @@ -200,6 +200,47 @@
|
|
|
| DataRef<SVGComputedStyle> m_svgStyle;
|
|
|
| + // !START SYNC!: Keep this in sync with the copy constructor in
|
| + // ComputedStyle.cpp.
|
| +
|
| + // don't inherit
|
| + struct NonInheritedData {
|
| + NonInheritedData() : m_hasViewportUnits(false), m_hasRemUnits(false) {}
|
| +
|
| + // Compare computed styles, differences in inherited bits or other flags
|
| + // should not cause an inequality.
|
| + bool operator==(const NonInheritedData& other) const {
|
| + // Generated properties are compared in ComputedStyleBase
|
| + return true;
|
| + // Differences in the following fields do not cause inequality:
|
| + // hasViewportUnits
|
| + // styleType
|
| + // pseudoBits
|
| + // explicitInheritance
|
| + // unique
|
| + // emptyState
|
| + // affectedByFocus
|
| + // affectedByHover
|
| + // affectedByActive
|
| + // affectedByDrag
|
| + // isLink
|
| + // isInherited flags
|
| + }
|
| +
|
| + bool operator!=(const NonInheritedData& other) const {
|
| + return !(*this == other);
|
| + }
|
| +
|
| + // These are set if we used viewport or rem units when resolving a length.
|
| + unsigned m_hasViewportUnits : 1;
|
| + unsigned m_hasRemUnits : 1;
|
| +
|
| + // If you add more style bits here, you will also need to update
|
| + // ComputedStyle::copyNonInheritedFromCached() 68 bits
|
| + } m_nonInheritedData;
|
| +
|
| + // !END SYNC!
|
| +
|
| private:
|
| // TODO(sashab): Move these private members to the bottom of ComputedStyle.
|
| ALWAYS_INLINE ComputedStyle();
|
| @@ -2302,6 +2343,17 @@
|
| void addCallbackSelector(const String& selector);
|
|
|
| // Non-property flags.
|
| + bool hasViewportUnits() const {
|
| + return m_nonInheritedData.m_hasViewportUnits;
|
| + }
|
| + // TODO(shend): This function should take no arguments.
|
| + void setHasViewportUnits(bool hasViewportUnits) {
|
| + m_nonInheritedData.m_hasViewportUnits = hasViewportUnits;
|
| + }
|
| +
|
| + bool hasRemUnits() const { return m_nonInheritedData.m_hasRemUnits; }
|
| + void setHasRemUnits() { m_nonInheritedData.m_hasRemUnits = true; }
|
| +
|
| bool emptyState() const { return m_emptyState; }
|
| void setEmptyState(bool b) {
|
| setUnique();
|
|
|