summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/style/StyleGridData.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/rendering/style/StyleGridData.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/rendering/style/StyleGridData.h')
-rw-r--r--Source/WebCore/rendering/style/StyleGridData.h72
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