| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
| 6 * rights reserved. | 6 * rights reserved. |
| 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 // This means that the interface to ComputedStyle is split between this file and | 156 // This means that the interface to ComputedStyle is split between this file and |
| 157 // ComputedStyleBase.h. | 157 // ComputedStyleBase.h. |
| 158 // | 158 // |
| 159 // [1] https://developer.mozilla.org/en-US/docs/Web/CSS/computed_value | 159 // [1] https://developer.mozilla.org/en-US/docs/Web/CSS/computed_value |
| 160 // | 160 // |
| 161 // NOTE: | 161 // NOTE: |
| 162 // | 162 // |
| 163 // Currently, some properties are stored in ComputedStyle and some in | 163 // Currently, some properties are stored in ComputedStyle and some in |
| 164 // ComputedStyleBase. Eventually, the storage of all properties (except SVG | 164 // ComputedStyleBase. Eventually, the storage of all properties (except SVG |
| 165 // ones) will be in ComputedStyleBase. | 165 // ones) will be in ComputedStyleBase. |
| 166 class CORE_EXPORT ComputedStyle : public ComputedStyleBase, | 166 // |
| 167 public RefCounted<ComputedStyle> { | 167 // Since this class is huge, do not mark all of it CORE_EXPORT. Instead, |
| 168 // export only the methods you need below. |
| 169 class ComputedStyle : public ComputedStyleBase, |
| 170 public RefCounted<ComputedStyle> { |
| 168 // Needed to allow access to private/protected getters of fields to allow diff | 171 // Needed to allow access to private/protected getters of fields to allow diff |
| 169 // generation | 172 // generation |
| 170 friend class ComputedStyleBase; | 173 friend class ComputedStyleBase; |
| 171 // Used by Web Animations CSS. Sets the color styles. | 174 // Used by Web Animations CSS. Sets the color styles. |
| 172 friend class AnimatedStyleBuilder; | 175 friend class AnimatedStyleBuilder; |
| 173 // Used by Web Animations CSS. Gets visited and unvisited colors separately. | 176 // Used by Web Animations CSS. Gets visited and unvisited colors separately. |
| 174 friend class CSSAnimatableValueFactory; | 177 friend class CSSAnimatableValueFactory; |
| 175 // Used by CSS animations. We can't allow them to animate based off visited | 178 // Used by CSS animations. We can't allow them to animate based off visited |
| 176 // colors. | 179 // colors. |
| 177 friend class CSSPropertyEquality; | 180 friend class CSSPropertyEquality; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 202 | 205 |
| 203 DataRef<SVGComputedStyle> svg_style_; | 206 DataRef<SVGComputedStyle> svg_style_; |
| 204 | 207 |
| 205 private: | 208 private: |
| 206 // TODO(sashab): Move these private members to the bottom of ComputedStyle. | 209 // TODO(sashab): Move these private members to the bottom of ComputedStyle. |
| 207 ALWAYS_INLINE ComputedStyle(); | 210 ALWAYS_INLINE ComputedStyle(); |
| 208 ALWAYS_INLINE ComputedStyle(const ComputedStyle&); | 211 ALWAYS_INLINE ComputedStyle(const ComputedStyle&); |
| 209 | 212 |
| 210 static RefPtr<ComputedStyle> CreateInitialStyle(); | 213 static RefPtr<ComputedStyle> CreateInitialStyle(); |
| 211 // TODO(shend): Remove this. Initial style should not be mutable. | 214 // TODO(shend): Remove this. Initial style should not be mutable. |
| 212 static ComputedStyle& MutableInitialStyle(); | 215 CORE_EXPORT static ComputedStyle& MutableInitialStyle(); |
| 213 | 216 |
| 214 public: | 217 public: |
| 215 static RefPtr<ComputedStyle> Create(); | 218 CORE_EXPORT static RefPtr<ComputedStyle> Create(); |
| 216 static RefPtr<ComputedStyle> CreateAnonymousStyleWithDisplay( | 219 static RefPtr<ComputedStyle> CreateAnonymousStyleWithDisplay( |
| 217 const ComputedStyle& parent_style, | 220 const ComputedStyle& parent_style, |
| 218 EDisplay); | 221 EDisplay); |
| 219 static RefPtr<ComputedStyle> Clone(const ComputedStyle&); | 222 CORE_EXPORT static RefPtr<ComputedStyle> Clone(const ComputedStyle&); |
| 220 static const ComputedStyle& InitialStyle() { return MutableInitialStyle(); } | 223 static const ComputedStyle& InitialStyle() { return MutableInitialStyle(); } |
| 221 static void InvalidateInitialStyle(); | 224 static void InvalidateInitialStyle(); |
| 222 | 225 |
| 223 // Computes how the style change should be propagated down the tree. | 226 // Computes how the style change should be propagated down the tree. |
| 224 static StyleRecalcChange StylePropagationDiff(const ComputedStyle* old_style, | 227 static StyleRecalcChange StylePropagationDiff(const ComputedStyle* old_style, |
| 225 const ComputedStyle* new_style); | 228 const ComputedStyle* new_style); |
| 226 | 229 |
| 227 // Copies the values of any independent inherited properties from the parent | 230 // Copies the values of any independent inherited properties from the parent |
| 228 // that are not explicitly set in this style. | 231 // that are not explicitly set in this style. |
| 229 void PropagateIndependentInheritedProperties( | 232 void PropagateIndependentInheritedProperties( |
| (...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 987 | 990 |
| 988 // Inherited properties. | 991 // Inherited properties. |
| 989 | 992 |
| 990 // color | 993 // color |
| 991 static Color InitialColor() { return Color::kBlack; } | 994 static Color InitialColor() { return Color::kBlack; } |
| 992 void SetColor(const Color&); | 995 void SetColor(const Color&); |
| 993 | 996 |
| 994 // line-height | 997 // line-height |
| 995 static Length InitialLineHeight() { return Length(-100.0, kPercent); } | 998 static Length InitialLineHeight() { return Length(-100.0, kPercent); } |
| 996 Length LineHeight() const; | 999 Length LineHeight() const; |
| 997 void SetLineHeight(const Length& specified_line_height); | 1000 CORE_EXPORT void SetLineHeight(const Length& specified_line_height); |
| 998 | 1001 |
| 999 // List style properties. | 1002 // List style properties. |
| 1000 // list-style-image | 1003 // list-style-image |
| 1001 static StyleImage* InitialListStyleImage() { return 0; } | 1004 static StyleImage* InitialListStyleImage() { return 0; } |
| 1002 StyleImage* ListStyleImage() const; | 1005 StyleImage* ListStyleImage() const; |
| 1003 void SetListStyleImage(StyleImage*); | 1006 void SetListStyleImage(StyleImage*); |
| 1004 | 1007 |
| 1005 // quotes | 1008 // quotes |
| 1006 static QuotesData* InitialQuotes() { return 0; } | 1009 static QuotesData* InitialQuotes() { return 0; } |
| 1007 QuotesData* Quotes() const { return QuotesInternal().Get(); } | 1010 QuotesData* Quotes() const { return QuotesInternal().Get(); } |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1050 } | 1053 } |
| 1051 | 1054 |
| 1052 // caret-color | 1055 // caret-color |
| 1053 void SetCaretColor(const StyleAutoColor& color) { | 1056 void SetCaretColor(const StyleAutoColor& color) { |
| 1054 SetCaretColorInternal(color.Resolve(Color())); | 1057 SetCaretColorInternal(color.Resolve(Color())); |
| 1055 SetCaretColorIsCurrentColorInternal(color.IsCurrentColor()); | 1058 SetCaretColorIsCurrentColorInternal(color.IsCurrentColor()); |
| 1056 SetCaretColorIsAutoInternal(color.IsAutoColor()); | 1059 SetCaretColorIsAutoInternal(color.IsAutoColor()); |
| 1057 } | 1060 } |
| 1058 | 1061 |
| 1059 // Font properties. | 1062 // Font properties. |
| 1060 const Font& GetFont() const; | 1063 CORE_EXPORT const Font& GetFont() const; |
| 1061 void SetFont(const Font&); | 1064 CORE_EXPORT void SetFont(const Font&); |
| 1062 const FontDescription& GetFontDescription() const; | 1065 CORE_EXPORT const FontDescription& GetFontDescription() const; |
| 1063 bool SetFontDescription(const FontDescription&); | 1066 CORE_EXPORT bool SetFontDescription(const FontDescription&); |
| 1064 bool HasIdenticalAscentDescentAndLineGap(const ComputedStyle& other) const; | 1067 bool HasIdenticalAscentDescentAndLineGap(const ComputedStyle& other) const; |
| 1065 | 1068 |
| 1066 // font-size | 1069 // font-size |
| 1067 int FontSize() const; | 1070 int FontSize() const; |
| 1068 float SpecifiedFontSize() const; | 1071 CORE_EXPORT float SpecifiedFontSize() const; |
| 1069 float ComputedFontSize() const; | 1072 CORE_EXPORT float ComputedFontSize() const; |
| 1070 LayoutUnit ComputedFontSizeAsFixed() const; | 1073 LayoutUnit ComputedFontSizeAsFixed() const; |
| 1071 | 1074 |
| 1072 // font-size-adjust | 1075 // font-size-adjust |
| 1073 float FontSizeAdjust() const; | 1076 float FontSizeAdjust() const; |
| 1074 bool HasFontSizeAdjust() const; | 1077 bool HasFontSizeAdjust() const; |
| 1075 | 1078 |
| 1076 // font-weight | 1079 // font-weight |
| 1077 FontWeight GetFontWeight() const; | 1080 CORE_EXPORT FontWeight GetFontWeight() const; |
| 1078 | 1081 |
| 1079 // font-stretch | 1082 // font-stretch |
| 1080 FontStretch GetFontStretch() const; | 1083 FontStretch GetFontStretch() const; |
| 1081 | 1084 |
| 1082 // -webkit-locale | 1085 // -webkit-locale |
| 1083 const AtomicString& Locale() const { | 1086 const AtomicString& Locale() const { |
| 1084 return LayoutLocale::LocaleString(GetFontDescription().Locale()); | 1087 return LayoutLocale::LocaleString(GetFontDescription().Locale()); |
| 1085 } | 1088 } |
| 1086 AtomicString LocaleForLineBreakIterator() const; | 1089 AtomicString LocaleForLineBreakIterator() const; |
| 1087 | 1090 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1193 | 1196 |
| 1194 // stroke-width | 1197 // stroke-width |
| 1195 const UnzoomedLength& StrokeWidth() const { return SvgStyle().StrokeWidth(); } | 1198 const UnzoomedLength& StrokeWidth() const { return SvgStyle().StrokeWidth(); } |
| 1196 void SetStrokeWidth(const UnzoomedLength& w) { | 1199 void SetStrokeWidth(const UnzoomedLength& w) { |
| 1197 AccessSVGStyle().SetStrokeWidth(w); | 1200 AccessSVGStyle().SetStrokeWidth(w); |
| 1198 } | 1201 } |
| 1199 | 1202 |
| 1200 // Comparison operators | 1203 // Comparison operators |
| 1201 // TODO(shend): Replace callers of operator== wth a named method instead, e.g. | 1204 // TODO(shend): Replace callers of operator== wth a named method instead, e.g. |
| 1202 // inheritedEquals(). | 1205 // inheritedEquals(). |
| 1203 bool operator==(const ComputedStyle& other) const; | 1206 CORE_EXPORT bool operator==(const ComputedStyle& other) const; |
| 1204 bool operator!=(const ComputedStyle& other) const { | 1207 bool operator!=(const ComputedStyle& other) const { |
| 1205 return !(*this == other); | 1208 return !(*this == other); |
| 1206 } | 1209 } |
| 1207 | 1210 |
| 1208 bool InheritedEqual(const ComputedStyle&) const; | 1211 bool InheritedEqual(const ComputedStyle&) const; |
| 1209 bool NonInheritedEqual(const ComputedStyle&) const; | 1212 bool NonInheritedEqual(const ComputedStyle&) const; |
| 1210 inline bool IndependentInheritedEqual(const ComputedStyle&) const; | 1213 inline bool IndependentInheritedEqual(const ComputedStyle&) const; |
| 1211 inline bool NonIndependentInheritedEqual(const ComputedStyle&) const; | 1214 inline bool NonIndependentInheritedEqual(const ComputedStyle&) const; |
| 1212 bool LoadingCustomFontsEqual(const ComputedStyle&) const; | 1215 bool LoadingCustomFontsEqual(const ComputedStyle&) const; |
| 1213 bool InheritedDataShared(const ComputedStyle&) const; | 1216 bool InheritedDataShared(const ComputedStyle&) const; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1290 // Non-property flags. | 1293 // Non-property flags. |
| 1291 bool EmptyState() const { return EmptyStateInternal(); } | 1294 bool EmptyState() const { return EmptyStateInternal(); } |
| 1292 void SetEmptyState(bool b) { | 1295 void SetEmptyState(bool b) { |
| 1293 SetUnique(); | 1296 SetUnique(); |
| 1294 SetEmptyStateInternal(b); | 1297 SetEmptyStateInternal(b); |
| 1295 } | 1298 } |
| 1296 | 1299 |
| 1297 float TextAutosizingMultiplier() const { | 1300 float TextAutosizingMultiplier() const { |
| 1298 return TextAutosizingMultiplierInternal(); | 1301 return TextAutosizingMultiplierInternal(); |
| 1299 } | 1302 } |
| 1300 void SetTextAutosizingMultiplier(float); | 1303 CORE_EXPORT void SetTextAutosizingMultiplier(float); |
| 1301 | 1304 |
| 1302 // Column utility functions. | 1305 // Column utility functions. |
| 1303 void ClearMultiCol(); | 1306 void ClearMultiCol(); |
| 1304 bool SpecifiesColumns() const { | 1307 bool SpecifiesColumns() const { |
| 1305 return !HasAutoColumnCount() || !HasAutoColumnWidth(); | 1308 return !HasAutoColumnCount() || !HasAutoColumnWidth(); |
| 1306 } | 1309 } |
| 1307 bool ColumnRuleIsTransparent() const { | 1310 bool ColumnRuleIsTransparent() const { |
| 1308 return !ColumnRuleColorIsCurrentColor() && | 1311 return !ColumnRuleColorIsCurrentColor() && |
| 1309 !ColumnRuleColorInternal().Alpha(); | 1312 !ColumnRuleColorInternal().Alpha(); |
| 1310 } | 1313 } |
| (...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1933 return Direction() == TextDirection::kLtr; | 1936 return Direction() == TextDirection::kLtr; |
| 1934 } | 1937 } |
| 1935 | 1938 |
| 1936 // Perspective utility functions. | 1939 // Perspective utility functions. |
| 1937 bool HasPerspective() const { return Perspective() > 0; } | 1940 bool HasPerspective() const { return Perspective() > 0; } |
| 1938 | 1941 |
| 1939 // Outline utility functions. | 1942 // Outline utility functions. |
| 1940 bool HasOutline() const { | 1943 bool HasOutline() const { |
| 1941 return OutlineWidth() > 0 && OutlineStyle() > EBorderStyle::kHidden; | 1944 return OutlineWidth() > 0 && OutlineStyle() > EBorderStyle::kHidden; |
| 1942 } | 1945 } |
| 1943 int OutlineOutsetExtent() const; | 1946 CORE_EXPORT int OutlineOutsetExtent() const; |
| 1944 float GetOutlineStrokeWidthForFocusRing() const; | 1947 CORE_EXPORT float GetOutlineStrokeWidthForFocusRing() const; |
| 1945 bool HasOutlineWithCurrentColor() const { | 1948 bool HasOutlineWithCurrentColor() const { |
| 1946 return HasOutline() && OutlineColor().IsCurrentColor(); | 1949 return HasOutline() && OutlineColor().IsCurrentColor(); |
| 1947 } | 1950 } |
| 1948 | 1951 |
| 1949 // Position utility functions. | 1952 // Position utility functions. |
| 1950 bool HasOutOfFlowPosition() const { | 1953 bool HasOutOfFlowPosition() const { |
| 1951 return GetPosition() == EPosition::kAbsolute || | 1954 return GetPosition() == EPosition::kAbsolute || |
| 1952 GetPosition() == EPosition::kFixed; | 1955 GetPosition() == EPosition::kFixed; |
| 1953 } | 1956 } |
| 1954 bool HasInFlowPosition() const { | 1957 bool HasInFlowPosition() const { |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2200 // and posZOrderList) in their enclosing stacking contexts. | 2203 // and posZOrderList) in their enclosing stacking contexts. |
| 2201 // | 2204 // |
| 2202 // [1] According to CSS2.1, Appendix E.2.8 | 2205 // [1] According to CSS2.1, Appendix E.2.8 |
| 2203 // (https://www.w3.org/TR/CSS21/zindex.html), | 2206 // (https://www.w3.org/TR/CSS21/zindex.html), |
| 2204 // positioned elements with 'z-index: auto' are "treated as if it created a | 2207 // positioned elements with 'z-index: auto' are "treated as if it created a |
| 2205 // new stacking context" and z-ordered together with other elements with | 2208 // new stacking context" and z-ordered together with other elements with |
| 2206 // 'z-index: 0'. The difference of them from normal stacking contexts is that | 2209 // 'z-index: 0'. The difference of them from normal stacking contexts is that |
| 2207 // they don't determine the stacking of the elements underneath them. (Note: | 2210 // they don't determine the stacking of the elements underneath them. (Note: |
| 2208 // There are also other elements treated as stacking context during painting, | 2211 // There are also other elements treated as stacking context during painting, |
| 2209 // but not managed in stacks. See ObjectPainter::PaintAllPhasesAtomically().) | 2212 // but not managed in stacks. See ObjectPainter::PaintAllPhasesAtomically().) |
| 2210 void UpdateIsStackingContext(bool is_document_element, bool is_in_top_layer); | 2213 CORE_EXPORT void UpdateIsStackingContext(bool is_document_element, |
| 2214 bool is_in_top_layer); |
| 2211 bool IsStacked() const { | 2215 bool IsStacked() const { |
| 2212 return IsStackingContext() || GetPosition() != EPosition::kStatic; | 2216 return IsStackingContext() || GetPosition() != EPosition::kStatic; |
| 2213 } | 2217 } |
| 2214 | 2218 |
| 2215 // Pseudo-styles | 2219 // Pseudo-styles |
| 2216 bool HasAnyPublicPseudoStyles() const; | 2220 bool HasAnyPublicPseudoStyles() const; |
| 2217 bool HasPseudoStyle(PseudoId) const; | 2221 bool HasPseudoStyle(PseudoId) const; |
| 2218 void SetHasPseudoStyle(PseudoId); | 2222 void SetHasPseudoStyle(PseudoId); |
| 2219 bool HasUniquePseudoStyle() const; | 2223 bool HasUniquePseudoStyle() const; |
| 2220 bool HasPseudoElementStyle() const; | 2224 bool HasPseudoElementStyle() const; |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2332 bool HasBackground() const { | 2336 bool HasBackground() const { |
| 2333 Color color = VisitedDependentColor(CSSPropertyBackgroundColor); | 2337 Color color = VisitedDependentColor(CSSPropertyBackgroundColor); |
| 2334 if (color.Alpha()) | 2338 if (color.Alpha()) |
| 2335 return true; | 2339 return true; |
| 2336 return HasBackgroundImage(); | 2340 return HasBackgroundImage(); |
| 2337 } | 2341 } |
| 2338 | 2342 |
| 2339 // Color utility functions. | 2343 // Color utility functions. |
| 2340 // TODO(sashab): Rename this to just getColor(), and add a comment explaining | 2344 // TODO(sashab): Rename this to just getColor(), and add a comment explaining |
| 2341 // how it works. | 2345 // how it works. |
| 2342 Color VisitedDependentColor(int color_property) const; | 2346 CORE_EXPORT Color VisitedDependentColor(int color_property) const; |
| 2343 | 2347 |
| 2344 // -webkit-appearance utility functions. | 2348 // -webkit-appearance utility functions. |
| 2345 bool HasAppearance() const { return Appearance() != kNoControlPart; } | 2349 bool HasAppearance() const { return Appearance() != kNoControlPart; } |
| 2346 | 2350 |
| 2347 // Other utility functions. | 2351 // Other utility functions. |
| 2348 bool IsStyleAvailable() const; | 2352 bool IsStyleAvailable() const; |
| 2349 bool IsSharable() const; | 2353 bool IsSharable() const; |
| 2350 | 2354 |
| 2351 bool RequireTransformOrigin(ApplyTransformOrigin apply_origin, | 2355 bool RequireTransformOrigin(ApplyTransformOrigin apply_origin, |
| 2352 ApplyMotionPath) const; | 2356 ApplyMotionPath) const; |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2582 const StyleDifference&) const; | 2586 const StyleDifference&) const; |
| 2583 bool DiffNeedsFullLayoutAndPaintInvalidation( | 2587 bool DiffNeedsFullLayoutAndPaintInvalidation( |
| 2584 const ComputedStyle& other) const; | 2588 const ComputedStyle& other) const; |
| 2585 bool DiffNeedsFullLayout(const ComputedStyle& other) const; | 2589 bool DiffNeedsFullLayout(const ComputedStyle& other) const; |
| 2586 bool DiffNeedsPaintInvalidationSubtree(const ComputedStyle& other) const; | 2590 bool DiffNeedsPaintInvalidationSubtree(const ComputedStyle& other) const; |
| 2587 bool DiffNeedsPaintInvalidationObject(const ComputedStyle& other) const; | 2591 bool DiffNeedsPaintInvalidationObject(const ComputedStyle& other) const; |
| 2588 bool DiffNeedsPaintInvalidationObjectForPaintImage( | 2592 bool DiffNeedsPaintInvalidationObjectForPaintImage( |
| 2589 const StyleImage&, | 2593 const StyleImage&, |
| 2590 const ComputedStyle& other) const; | 2594 const ComputedStyle& other) const; |
| 2591 bool DiffNeedsVisualRectUpdate(const ComputedStyle& other) const; | 2595 bool DiffNeedsVisualRectUpdate(const ComputedStyle& other) const; |
| 2592 void UpdatePropertySpecificDifferences(const ComputedStyle& other, | 2596 CORE_EXPORT void UpdatePropertySpecificDifferences(const ComputedStyle& other, |
| 2593 StyleDifference&) const; | 2597 StyleDifference&) const; |
| 2594 | 2598 |
| 2595 static bool ShadowListHasCurrentColor(const ShadowList*); | 2599 static bool ShadowListHasCurrentColor(const ShadowList*); |
| 2596 | 2600 |
| 2597 StyleInheritedVariables& MutableInheritedVariables(); | 2601 StyleInheritedVariables& MutableInheritedVariables(); |
| 2598 StyleNonInheritedVariables& MutableNonInheritedVariables(); | 2602 StyleNonInheritedVariables& MutableNonInheritedVariables(); |
| 2599 | 2603 |
| 2600 PhysicalToLogical<const Length&> PhysicalMarginToLogical( | 2604 PhysicalToLogical<const Length&> PhysicalMarginToLogical( |
| 2601 const ComputedStyle& other) const { | 2605 const ComputedStyle& other) const { |
| 2602 return PhysicalToLogical<const Length&>( | 2606 return PhysicalToLogical<const Length&>( |
| 2603 other.GetWritingMode(), other.Direction(), MarginTop(), MarginRight(), | 2607 other.GetWritingMode(), other.Direction(), MarginTop(), MarginRight(), |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2719 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); | 2723 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); |
| 2720 } | 2724 } |
| 2721 | 2725 |
| 2722 inline bool ComputedStyle::HasPseudoElementStyle() const { | 2726 inline bool ComputedStyle::HasPseudoElementStyle() const { |
| 2723 return PseudoBitsInternal() & kElementPseudoIdMask; | 2727 return PseudoBitsInternal() & kElementPseudoIdMask; |
| 2724 } | 2728 } |
| 2725 | 2729 |
| 2726 } // namespace blink | 2730 } // namespace blink |
| 2727 | 2731 |
| 2728 #endif // ComputedStyle_h | 2732 #endif // ComputedStyle_h |
| OLD | NEW |