diff options
Diffstat (limited to 'Source/WebCore/rendering/style/StyleRareNonInheritedData.h')
| -rw-r--r-- | Source/WebCore/rendering/style/StyleRareNonInheritedData.h | 89 |
1 files changed, 58 insertions, 31 deletions
diff --git a/Source/WebCore/rendering/style/StyleRareNonInheritedData.h b/Source/WebCore/rendering/style/StyleRareNonInheritedData.h index 4523f3be4..9b1b2ad53 100644 --- a/Source/WebCore/rendering/style/StyleRareNonInheritedData.h +++ b/Source/WebCore/rendering/style/StyleRareNonInheritedData.h @@ -26,6 +26,7 @@ #define StyleRareNonInheritedData_h #include "BasicShapes.h" +#include "CSSPropertyNames.h" #include "ClipPathOperation.h" #include "CounterDirectives.h" #include "CursorData.h" @@ -34,7 +35,10 @@ #include "LineClampValue.h" #include "NinePieceImage.h" #include "ShapeValue.h" -#include <wtf/OwnPtr.h> +#include "StyleContentAlignmentData.h" +#include "StyleSelfAlignmentData.h" +#include "WillChangeData.h" +#include <memory> #include <wtf/PassRefPtr.h> #include <wtf/Vector.h> @@ -43,17 +47,20 @@ namespace WebCore { class AnimationList; class ShadowData; class StyleDeprecatedFlexibleBoxData; -#if ENABLE(CSS_FILTERS) class StyleFilterData; -#endif class StyleFlexibleBoxData; +#if ENABLE(CSS_GRID_LAYOUT) class StyleGridData; class StyleGridItemData; +#endif class StyleMarqueeData; class StyleMultiColData; class StyleReflection; class StyleResolver; class StyleTransformData; +#if ENABLE(CSS_SCROLL_SNAP) +class StyleScrollSnapPoints; +#endif class ContentData; struct LengthSize; @@ -77,22 +84,23 @@ enum PageSizeType { // actually uses one of these properties. class StyleRareNonInheritedData : public RefCounted<StyleRareNonInheritedData> { public: - static PassRef<StyleRareNonInheritedData> create() { return adoptRef(*new StyleRareNonInheritedData); } - PassRef<StyleRareNonInheritedData> copy() const; + static Ref<StyleRareNonInheritedData> create() { return adoptRef(*new StyleRareNonInheritedData); } + Ref<StyleRareNonInheritedData> copy() const; ~StyleRareNonInheritedData(); bool operator==(const StyleRareNonInheritedData&) const; bool operator!=(const StyleRareNonInheritedData& o) const { return !(*this == o); } bool contentDataEquivalent(const StyleRareNonInheritedData&) const; - bool counterDataEquivalent(const StyleRareNonInheritedData&) const; - bool shadowDataEquivalent(const StyleRareNonInheritedData&) const; - bool reflectionDataEquivalent(const StyleRareNonInheritedData&) const; - bool animationDataEquivalent(const StyleRareNonInheritedData&) const; - bool transitionDataEquivalent(const StyleRareNonInheritedData&) const; + bool hasFilters() const; +#if ENABLE(FILTERS_LEVEL_2) + bool hasBackdropFilters() const; +#endif bool hasOpacity() const { return opacity < 1; } + bool hasAnimationsOrTransitions() const { return m_animations || m_transitions; } + float opacity; float m_aspectRatioDenominator; @@ -103,6 +111,9 @@ public: Length m_perspectiveOriginY; LineClampValue lineClamp; // An Apple extension. + + IntSize m_initialLetter; + #if ENABLE(DASHBOARD_SUPPORT) Vector<StyleDashboardRegion> m_dashboardRegions; #endif @@ -112,24 +123,32 @@ public: DataRef<StyleMarqueeData> m_marquee; // Marquee properties DataRef<StyleMultiColData> m_multiCol; // CSS3 multicol properties DataRef<StyleTransformData> m_transform; // Transform properties (rotate, scale, skew, etc.) - -#if ENABLE(CSS_FILTERS) DataRef<StyleFilterData> m_filter; // Filter operations (url, sepia, blur, etc.) +#if ENABLE(FILTERS_LEVEL_2) + DataRef<StyleFilterData> m_backdropFilter; // Filter operations (url, sepia, blur, etc.) #endif +#if ENABLE(CSS_GRID_LAYOUT) DataRef<StyleGridData> m_grid; DataRef<StyleGridItemData> m_gridItem; +#endif + +#if ENABLE(CSS_SCROLL_SNAP) + DataRef<StyleScrollSnapPoints> m_scrollSnapPoints; +#endif std::unique_ptr<ContentData> m_content; - OwnPtr<CounterDirectiveMap> m_counterDirectives; + std::unique_ptr<CounterDirectiveMap> m_counterDirectives; String m_altText; - OwnPtr<ShadowData> m_boxShadow; // For box-shadow decorations. + std::unique_ptr<ShadowData> m_boxShadow; // For box-shadow decorations. + + RefPtr<WillChangeData> m_willChange; // Null indicates 'auto'. RefPtr<StyleReflection> m_boxReflect; - OwnPtr<AnimationList> m_animations; - OwnPtr<AnimationList> m_transitions; + std::unique_ptr<AnimationList> m_animations; + std::unique_ptr<AnimationList> m_transitions; FillLayer m_mask; NinePieceImage m_maskBoxImage; @@ -137,10 +156,8 @@ public: LengthSize m_pageSize; #if ENABLE(CSS_SHAPES) - RefPtr<ShapeValue> m_shapeInside; RefPtr<ShapeValue> m_shapeOutside; Length m_shapeMargin; - Length m_shapePadding; float m_shapeImageThreshold; #endif @@ -159,20 +176,28 @@ public: AtomicString m_flowThread; AtomicString m_regionThread; - unsigned m_regionFragment : 1; // RegionFragment - unsigned m_regionBreakAfter : 2; // EPageBreak - unsigned m_regionBreakBefore : 2; // EPageBreak - unsigned m_regionBreakInside : 2; // EPageBreak + StyleContentAlignmentData m_alignContent; + StyleSelfAlignmentData m_alignItems; + StyleSelfAlignmentData m_alignSelf; + StyleContentAlignmentData m_justifyContent; + StyleSelfAlignmentData m_justifyItems; + StyleSelfAlignmentData m_justifySelf; + +#if ENABLE(TOUCH_EVENTS) + unsigned m_touchAction : 1; // TouchAction +#endif + +#if ENABLE(CSS_SCROLL_SNAP) + unsigned m_scrollSnapType : 2; // ScrollSnapType +#endif + + unsigned m_regionFragment : 1; // RegionFragment unsigned m_pageSizeType : 2; // PageSizeType unsigned m_transformStyle3D : 1; // ETransformStyle3D unsigned m_backfaceVisibility : 1; // EBackfaceVisibility - unsigned m_alignContent : 3; // EAlignContent - unsigned m_alignItems : 3; // EAlignItems - unsigned m_alignSelf : 3; // EAlignItems - unsigned m_justifyContent : 3; // EJustifyContent unsigned userDrag : 2; // EUserDrag unsigned textOverflow : 1; // Whether or not lines that spill out should be truncated with "..." @@ -183,20 +208,22 @@ public: unsigned m_textCombine : 1; // CSS3 text-combine properties unsigned m_textDecorationStyle : 3; // TextDecorationStyle - unsigned m_wrapFlow: 3; // WrapFlow - unsigned m_wrapThrough: 1; // WrapThrough -#if USE(ACCELERATED_COMPOSITING) unsigned m_runningAcceleratedAnimation : 1; -#endif - unsigned m_hasAspectRatio : 1; // Whether or not an aspect ratio has been specified. + unsigned m_aspectRatioType : 2; #if ENABLE(CSS_COMPOSITING) unsigned m_effectiveBlendMode: 5; // EBlendMode + unsigned m_isolation : 1; // Isolation #endif unsigned m_objectFit : 3; // ObjectFit + + unsigned m_breakBefore : 4; // BreakBetween + unsigned m_breakAfter : 4; + unsigned m_breakInside : 3; // BreakInside + unsigned m_resize : 2; // EResize private: StyleRareNonInheritedData(); |
