diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/rendering/style/StyleGridData.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/rendering/style/StyleGridData.h')
-rw-r--r-- | Source/WebCore/rendering/style/StyleGridData.h | 72 |
1 files changed, 50 insertions, 22 deletions
diff --git a/Source/WebCore/rendering/style/StyleGridData.h b/Source/WebCore/rendering/style/StyleGridData.h index 7fe4c9588..8d2be402f 100644 --- a/Source/WebCore/rendering/style/StyleGridData.h +++ b/Source/WebCore/rendering/style/StyleGridData.h @@ -23,30 +23,41 @@ * */ -#ifndef StyleGridData_h -#define StyleGridData_h +#pragma once -#include "GridCoordinate.h" +#include "GridArea.h" #include "GridTrackSize.h" #include "RenderStyleConstants.h" -#include <wtf/PassRefPtr.h> +#include <wtf/Ref.h> #include <wtf/RefCounted.h> #include <wtf/Vector.h> #include <wtf/text/WTFString.h> namespace WebCore { -typedef HashMap<String, Vector<size_t>> NamedGridLinesMap; +typedef HashMap<String, Vector<unsigned>> NamedGridLinesMap; +typedef HashMap<unsigned, Vector<String>, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<unsigned>> OrderedNamedGridLinesMap; class StyleGridData : public RefCounted<StyleGridData> { public: - static PassRef<StyleGridData> create() { return adoptRef(*new StyleGridData); } - PassRef<StyleGridData> copy() const; + static Ref<StyleGridData> create() { return adoptRef(*new StyleGridData); } + Ref<StyleGridData> copy() const; bool operator==(const StyleGridData& o) const { // FIXME: comparing two hashes doesn't look great for performance. Something to keep in mind going forward. - return m_gridColumns == o.m_gridColumns && m_gridRows == o.m_gridRows && m_gridAutoFlow == o.m_gridAutoFlow && m_gridAutoRows == o.m_gridAutoRows && m_gridAutoColumns == o.m_gridAutoColumns && m_namedGridColumnLines == o.m_namedGridColumnLines && m_namedGridRowLines == o.m_namedGridRowLines && m_namedGridArea == o.m_namedGridArea && m_namedGridArea == o.m_namedGridArea && m_namedGridAreaRowCount == o.m_namedGridAreaRowCount && m_namedGridAreaColumnCount == o.m_namedGridAreaColumnCount; + return gridColumns == o.gridColumns && gridRows == o.gridRows + && gridAutoFlow == o.gridAutoFlow && gridAutoRows == o.gridAutoRows && gridAutoColumns == o.gridAutoColumns + && namedGridColumnLines == o.namedGridColumnLines && namedGridRowLines == o.namedGridRowLines + && autoRepeatNamedGridColumnLines == o.autoRepeatNamedGridColumnLines && autoRepeatNamedGridRowLines == o.autoRepeatNamedGridRowLines + && autoRepeatOrderedNamedGridColumnLines == o.autoRepeatOrderedNamedGridColumnLines && autoRepeatOrderedNamedGridRowLines == o.autoRepeatOrderedNamedGridRowLines + && namedGridArea == o.namedGridArea && namedGridArea == o.namedGridArea + && namedGridAreaRowCount == o.namedGridAreaRowCount && namedGridAreaColumnCount == o.namedGridAreaColumnCount + && orderedNamedGridRowLines == o.orderedNamedGridRowLines && orderedNamedGridColumnLines == o.orderedNamedGridColumnLines + && gridColumnGap == o.gridColumnGap && gridRowGap == o.gridRowGap + && gridAutoRepeatColumns == o.gridAutoRepeatColumns && gridAutoRepeatRows == o.gridAutoRepeatRows + && autoRepeatColumnsInsertionPoint == o.autoRepeatColumnsInsertionPoint && autoRepeatRowsInsertionPoint == o.autoRepeatRowsInsertionPoint + && autoRepeatColumnsType == o.autoRepeatColumnsType && autoRepeatRowsType == o.autoRepeatRowsType; } bool operator!=(const StyleGridData& o) const @@ -54,23 +65,42 @@ public: return !(*this == o); } - // FIXME: Update the naming of the following variables. - Vector<GridTrackSize> m_gridColumns; - Vector<GridTrackSize> m_gridRows; + Vector<GridTrackSize> gridColumns; + Vector<GridTrackSize> gridRows; - NamedGridLinesMap m_namedGridColumnLines; - NamedGridLinesMap m_namedGridRowLines; + NamedGridLinesMap namedGridColumnLines; + NamedGridLinesMap namedGridRowLines; - GridAutoFlow m_gridAutoFlow; + OrderedNamedGridLinesMap orderedNamedGridColumnLines; + OrderedNamedGridLinesMap orderedNamedGridRowLines; - GridTrackSize m_gridAutoRows; - GridTrackSize m_gridAutoColumns; + NamedGridLinesMap autoRepeatNamedGridColumnLines; + NamedGridLinesMap autoRepeatNamedGridRowLines; + OrderedNamedGridLinesMap autoRepeatOrderedNamedGridColumnLines; + OrderedNamedGridLinesMap autoRepeatOrderedNamedGridRowLines; - NamedGridAreaMap m_namedGridArea; - // Because m_namedGridArea doesn't store the unnamed grid areas, we need to keep track + unsigned gridAutoFlow : GridAutoFlowBits; + + Vector<GridTrackSize> gridAutoRows; + Vector<GridTrackSize> gridAutoColumns; + + NamedGridAreaMap namedGridArea; + // Because namedGridArea doesn't store the unnamed grid areas, we need to keep track // of the explicit grid size defined by both named and unnamed grid areas. - size_t m_namedGridAreaRowCount; - size_t m_namedGridAreaColumnCount; + unsigned namedGridAreaRowCount; + unsigned namedGridAreaColumnCount; + + Length gridColumnGap; + Length gridRowGap; + + Vector<GridTrackSize> gridAutoRepeatColumns; + Vector<GridTrackSize> gridAutoRepeatRows; + + unsigned autoRepeatColumnsInsertionPoint; + unsigned autoRepeatRowsInsertionPoint; + + AutoRepeatType autoRepeatColumnsType; + AutoRepeatType autoRepeatRowsType; private: StyleGridData(); @@ -78,5 +108,3 @@ private: }; } // namespace WebCore - -#endif // StyleGridData_h |