Fix packing in StyleBoxData for Windows.
[WebKit-https.git] / Source / WebCore / rendering / style / StyleBoxData.cpp
index 2c523da..3fc00c8 100644 (file)
 
 namespace WebCore {
 
+struct SameSizeAsStyleBoxData : public RefCounted<SameSizeAsStyleBoxData> {
+    Length length[7];
+    int m_zIndex;
+    uint32_t bitfields;
+};
+
+COMPILE_ASSERT(sizeof(StyleBoxData) == sizeof(SameSizeAsStyleBoxData), StyleBoxData_should_not_grow);
+
 StyleBoxData::StyleBoxData()
     : m_minWidth(RenderStyle::initialMinSize())
     , m_maxWidth(RenderStyle::initialMaxSize())
@@ -35,6 +43,9 @@ StyleBoxData::StyleBoxData()
     , m_zIndex(0)
     , m_hasAutoZIndex(true)
     , m_boxSizing(CONTENT_BOX)
+#if ENABLE(CSS_BOX_DECORATION_BREAK)
+    , m_boxDecorationBreak(DSLICE)
+#endif
 {
 }
 
@@ -46,9 +57,13 @@ StyleBoxData::StyleBoxData(const StyleBoxData& o)
     , m_maxWidth(o.m_maxWidth)
     , m_minHeight(o.m_minHeight)
     , m_maxHeight(o.m_maxHeight)
+    , m_verticalAlign(o.m_verticalAlign)
     , m_zIndex(o.m_zIndex)
     , m_hasAutoZIndex(o.m_hasAutoZIndex)
     , m_boxSizing(o.m_boxSizing)
+#if ENABLE(CSS_BOX_DECORATION_BREAK)
+    , m_boxDecorationBreak(o.m_boxDecorationBreak)
+#endif
 {
 }
 
@@ -60,9 +75,14 @@ bool StyleBoxData::operator==(const StyleBoxData& o) const
            && m_maxWidth == o.m_maxWidth
            && m_minHeight == o.m_minHeight
            && m_maxHeight == o.m_maxHeight
+           && m_verticalAlign == o.m_verticalAlign
            && m_zIndex == o.m_zIndex
            && m_hasAutoZIndex == o.m_hasAutoZIndex
-           && m_boxSizing == o.m_boxSizing;
+           && m_boxSizing == o.m_boxSizing
+#if ENABLE(CSS_BOX_DECORATION_BREAK)
+           && m_boxDecorationBreak == o.m_boxDecorationBreak
+#endif
+            ;
 }
 
 } // namespace WebCore