https://bugs.webkit.org/show_bug.cgi?id=56246
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2011 20:30:06 +0000 (20:30 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2011 20:30:06 +0000 (20:30 +0000)
Reviewed by Beth Dakin.

Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
for offsetLeft, and add new tests to demonstrate that relative positioning works.

Source/WebCore:

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::offsetParent):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRelPositioned):
* rendering/RenderTableCell.h:
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

* fast/table/relative-position-containment.html: Added.
* fast/table/relative-position-offsets.html: Added.
* fast/table/relative-position-stacking.html: Added.
* platform/mac/fast/table/overflowHidden-expected.txt:
* platform/mac/fast/table/relative-position-containment-expected.checksum: Added.
* platform/mac/fast/table/relative-position-containment-expected.png: Added.
* platform/mac/fast/table/relative-position-containment-expected.txt: Added.
* platform/mac/fast/table/relative-position-offsets-expected.checksum: Added.
* platform/mac/fast/table/relative-position-offsets-expected.png: Added.
* platform/mac/fast/table/relative-position-offsets-expected.txt: Added.
* platform/mac/fast/table/relative-position-stacking-expected.checksum: Added.
* platform/mac/fast/table/relative-position-stacking-expected.png: Added.
* platform/mac/fast/table/relative-position-stacking-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@81049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

22 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/table/relative-position-containment.html [new file with mode: 0644]
LayoutTests/fast/table/relative-position-offsets.html [new file with mode: 0644]
LayoutTests/fast/table/relative-position-stacking.html [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/overflowHidden-expected.txt
LayoutTests/platform/mac/fast/table/relative-position-containment-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-containment-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-containment-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.txt [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/css/CSSStyleSelector.cpp
Source/WebCore/rendering/RenderObject.cpp
Source/WebCore/rendering/RenderObject.h
Source/WebCore/rendering/RenderTableCell.h
Source/WebCore/rendering/style/RenderStyle.h
Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
Source/WebCore/rendering/style/StyleRareNonInheritedData.h

index 7c16fa4..d812b25 100644 (file)
@@ -1,3 +1,26 @@
+2011-03-14  David Hyatt  <hyatt@apple.com>
+
+        Reviewed by Beth Dakin.
+
+        https://bugs.webkit.org/show_bug.cgi?id=56246
+        
+        Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
+        for offsetLeft, and add new tests to demonstrate that relative positioning works.
+
+        * fast/table/relative-position-containment.html: Added.
+        * fast/table/relative-position-offsets.html: Added.
+        * fast/table/relative-position-stacking.html: Added.
+        * platform/mac/fast/table/overflowHidden-expected.txt:
+        * platform/mac/fast/table/relative-position-containment-expected.checksum: Added.
+        * platform/mac/fast/table/relative-position-containment-expected.png: Added.
+        * platform/mac/fast/table/relative-position-containment-expected.txt: Added.
+        * platform/mac/fast/table/relative-position-offsets-expected.checksum: Added.
+        * platform/mac/fast/table/relative-position-offsets-expected.png: Added.
+        * platform/mac/fast/table/relative-position-offsets-expected.txt: Added.
+        * platform/mac/fast/table/relative-position-stacking-expected.checksum: Added.
+        * platform/mac/fast/table/relative-position-stacking-expected.png: Added.
+        * platform/mac/fast/table/relative-position-stacking-expected.txt: Added.
+
 2011-03-14  David Levin  <levin@chromium.org>
 
         Improvements for the mondo linux debug failure list changes:
diff --git a/LayoutTests/fast/table/relative-position-containment.html b/LayoutTests/fast/table/relative-position-containment.html
new file mode 100644 (file)
index 0000000..c60b45b
--- /dev/null
@@ -0,0 +1,9 @@
+<!doctype html>\r
+<html>\r
+\r
+Will be green if the relative positioned table cell properly acts as a containing block.\r
+\r
+<table style="border:1px solid black" cellspacing=100 cellpadding=0>\r
+<tr><td style="position:relative;width:100px;height:100px;background-color:red">\r
+<div style="position:absolute;left:0;top:0;width:100px;height:100px;background-color:green">\r
+\r
diff --git a/LayoutTests/fast/table/relative-position-offsets.html b/LayoutTests/fast/table/relative-position-offsets.html
new file mode 100644 (file)
index 0000000..d2d9e23
--- /dev/null
@@ -0,0 +1,9 @@
+<!doctype html>\r
+<html>\r
+\r
+Will be green if relative positioning offsets are supported:\r
+\r
+<table border=0 cellpadding=0 cellspacing=0>\r
+<tr><td style="width:100px;height:100px;background-color:red">\r
+<tr><td style="position:relative; width:100px;height:100px; top:-100px;background-color:green">\r
+</table>\r
diff --git a/LayoutTests/fast/table/relative-position-stacking.html b/LayoutTests/fast/table/relative-position-stacking.html
new file mode 100644 (file)
index 0000000..daaf295
--- /dev/null
@@ -0,0 +1,9 @@
+<!doctype html>\r
+<html>\r
+\r
+Will be green if relative positioning stacking is supported:\r
+\r
+<table border=0 cellpadding=0 cellspacing=0>\r
+<tr><td style="position:relative; width:100px;"><div style="height:0px"><div style="height:100px;width:100px;background-color:green"></div></div>\r
+<tr><td style="width:100px;height:100px;background-color:red">\r
+</table>\r
index 69494bf..d454b0f 100644 (file)
@@ -161,28 +161,12 @@ layer at (318,858) size 304x104 clip at (319,859) size 302x102 scrollWidth 601
           text run at (0,0) width 51: "Reverse"
 layer at (12,1006) size 604x104 clip at (13,1007) size 602x102
   RenderTableCell {TD} at (2,43) size 604x22 [bgcolor=#808080] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-layer at (12,1154) size 604x104 clip at (13,1155) size 602x102
-  RenderTableCell {TD} at (2,43) size 604x22 [bgcolor=#808080] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-    RenderBlock {DIV} at (2,2) size 600x18 [bgcolor=#FFC0CB]
-      RenderText {#text} at (0,0) size 205x18
-        text run at (0,0) width 205: "With relative positioning on cell."
-layer at (12,1302) size 604x104 clip at (13,1303) size 602x102
-  RenderTableCell {TD} at (2,43) size 604x22 [bgcolor=#808080] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-    RenderBlock {DIV} at (2,2) size 600x18 [bgcolor=#FFC0CB]
-      RenderText {#text} at (0,0) size 290x18
-        text run at (0,0) width 290: "With relative positioning and an offset on cell."
 layer at (8,1446) size 300x100 scrollWidth 600
   RenderTableCell {DIV} at (0,41) size 300x18 [r=0 c=0 rs=1 cs=1]
     RenderBlock {DIV} at (0,0) size 300x18
       RenderBlock {DIV} at (0,0) size 600x18 [bgcolor=#FFA500]
         RenderText {#text} at (0,0) size 141x18
           text run at (0,0) width 141: "With display:table-cell"
-layer at (8,1582) size 300x100 scrollWidth 600
-  RenderTableCell {DIV} at (0,41) size 300x18 [r=0 c=0 rs=1 cs=1]
-    RenderBlock {DIV} at (0,0) size 300x18
-      RenderBlock {DIV} at (0,0) size 600x18 [bgcolor=#FFA500]
-        RenderText {#text} at (0,0) size 278x18
-          text run at (0,0) width 278: "With display:table-cell + relative positioning"
 layer at (10,1720) size 605x107 clip at (13,1723) size 602x102
   RenderTableCell {TD} at (0,41) size 605x25 [bgcolor=#808080] [border: (3px inset #808080)] [r=0 c=0 rs=1 cs=1]
     RenderBlock {DIV} at (4,4) size 600x18 [bgcolor=#FFFF00]
@@ -228,3 +212,19 @@ layer at (14,1049) size 600x18
   RenderBlock (relative positioned) {DIV} at (2,2) size 600x18 [bgcolor=#FFA500]
     RenderText {#text} at (0,0) size 203x18
       text run at (0,0) width 203: "With relative positioning on div."
+layer at (12,1154) size 604x104 clip at (13,1155) size 602x102
+  RenderTableCell {TD} at (2,43) size 604x22 [bgcolor=#808080] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+    RenderBlock {DIV} at (2,2) size 600x18 [bgcolor=#FFC0CB]
+      RenderText {#text} at (0,0) size 205x18
+        text run at (0,0) width 205: "With relative positioning on cell."
+layer at (112,1302) size 604x104 clip at (113,1303) size 602x102
+  RenderTableCell {TD} at (2,43) size 604x22 [bgcolor=#808080] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+    RenderBlock {DIV} at (2,2) size 600x18 [bgcolor=#FFC0CB]
+      RenderText {#text} at (0,0) size 290x18
+        text run at (0,0) width 290: "With relative positioning and an offset on cell."
+layer at (108,1582) size 300x100 scrollWidth 600
+  RenderTableCell {DIV} at (0,41) size 300x18 [r=0 c=0 rs=1 cs=1]
+    RenderBlock {DIV} at (0,0) size 300x18
+      RenderBlock {DIV} at (0,0) size 600x18 [bgcolor=#FFA500]
+        RenderText {#text} at (0,0) size 278x18
+          text run at (0,0) width 278: "With display:table-cell + relative positioning"
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.checksum b/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.checksum
new file mode 100644 (file)
index 0000000..96b6053
--- /dev/null
@@ -0,0 +1 @@
+d84b0ec7d75da98874ea01ed69796fdf
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.png b/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.png
new file mode 100644 (file)
index 0000000..927a46e
Binary files /dev/null and b/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.txt b/LayoutTests/platform/mac/fast/table/relative-position-containment-expected.txt
new file mode 100644 (file)
index 0000000..6af7a78
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x336
+  RenderBlock {HTML} at (0,0) size 800x336
+    RenderBody {BODY} at (8,8) size 784x320
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 526x18
+          text run at (0,0) width 526: "Will be green if the relative positioned table cell properly acts as a containing block."
+      RenderTable {TABLE} at (0,18) size 302x302 [border: (1px solid #000000)]
+        RenderTableSection {TBODY} at (1,1) size 300x300
+          RenderTableRow {TR} at (0,100) size 300x100
+layer at (109,127) size 100x100
+  RenderTableCell {TD} at (100,150) size 100x0 [bgcolor=#FF0000] [r=0 c=0 rs=1 cs=1]
+layer at (109,127) size 100x100
+  RenderBlock (positioned) {DIV} at (0,-50) size 100x100 [bgcolor=#008000]
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.checksum b/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.checksum
new file mode 100644 (file)
index 0000000..eede237
--- /dev/null
@@ -0,0 +1 @@
+ef9cf06922528ff5e604e46b795d5cc0
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.png b/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.png
new file mode 100644 (file)
index 0000000..94c35bc
Binary files /dev/null and b/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.txt b/LayoutTests/platform/mac/fast/table/relative-position-offsets-expected.txt
new file mode 100644 (file)
index 0000000..4c8d3e3
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x234
+  RenderBlock {HTML} at (0,0) size 800x234
+    RenderBody {BODY} at (8,8) size 784x218
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 360x18
+          text run at (0,0) width 360: "Will be green if relative positioning offsets are supported:"
+      RenderTable {TABLE} at (0,18) size 100x200
+        RenderTableSection {TBODY} at (0,0) size 100x200
+          RenderTableRow {TR} at (0,0) size 100x100
+            RenderTableCell {TD} at (0,50) size 100x0 [bgcolor=#FF0000] [r=0 c=0 rs=1 cs=1]
+          RenderTableRow {TR} at (0,100) size 100x100
+layer at (8,26) size 100x100
+  RenderTableCell {TD} at (0,150) size 100x0 [bgcolor=#008000] [r=1 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.checksum b/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.checksum
new file mode 100644 (file)
index 0000000..fdec90a
--- /dev/null
@@ -0,0 +1 @@
+c9ef7d8053b72b9ae517de816e3f9062
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.png b/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.png
new file mode 100644 (file)
index 0000000..3cdde7c
Binary files /dev/null and b/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.txt b/LayoutTests/platform/mac/fast/table/relative-position-stacking-expected.txt
new file mode 100644 (file)
index 0000000..b260272
--- /dev/null
@@ -0,0 +1,17 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x134
+  RenderBlock {HTML} at (0,0) size 800x134
+    RenderBody {BODY} at (8,8) size 784x118
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 362x18
+          text run at (0,0) width 362: "Will be green if relative positioning stacking is supported:"
+      RenderTable {TABLE} at (0,18) size 100x100
+        RenderTableSection {TBODY} at (0,0) size 100x100
+          RenderTableRow {TR} at (0,0) size 100x0
+          RenderTableRow {TR} at (0,0) size 100x100
+            RenderTableCell {TD} at (0,50) size 100x0 [bgcolor=#FF0000] [r=1 c=0 rs=1 cs=1]
+layer at (8,26) size 100x0
+  RenderTableCell {TD} at (0,0) size 100x0 [r=0 c=0 rs=1 cs=1]
+    RenderBlock {DIV} at (0,0) size 100x0
+      RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#008000]
index b543755..7e21d10 100644 (file)
@@ -2,6 +2,28 @@
 
         Reviewed by Beth Dakin.
 
+        https://bugs.webkit.org/show_bug.cgi?id=56246
+        
+        Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
+        for offsetLeft, and add new tests to demonstrate that relative positioning works.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::adjustRenderStyle):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::offsetParent):
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isRelPositioned):
+        * rendering/RenderTableCell.h:
+        * rendering/style/RenderStyle.h:
+        * rendering/style/StyleRareNonInheritedData.cpp:
+        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+        (WebCore::StyleRareNonInheritedData::operator==):
+        * rendering/style/StyleRareNonInheritedData.h:
+
+2011-03-14  David Hyatt  <hyatt@apple.com>
+
+        Reviewed by Beth Dakin.
+
         Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
         layer, since first layouts and printing mess up otherwise.
 
index 8f0637c..f8c45c6 100644 (file)
@@ -1894,8 +1894,6 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, RenderStyle* parent
         // Frames and framesets never honor position:relative or position:absolute.  This is necessary to
         // fix a crash where a site tries to position these objects.  They also never honor display.
         if (e && (e->hasTagName(frameTag) || e->hasTagName(framesetTag))) {
-            if (style->position() == RelativePosition)
-                style->setPositionWasRelative(true);
             style->setPosition(StaticPosition);
             style->setDisplay(BLOCK);
         }
@@ -1936,12 +1934,10 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, RenderStyle* parent
         // After performing the display mutation, check table rows.  We do not honor position:relative on
         // table rows or cells.  This has been established in CSS2.1 (and caused a crash in containingBlock()
         // on some sites).
-        if ((style->display() == TABLE_HEADER_GROUP || style->display() == TABLE_ROW_GROUP ||
-             style->display() == TABLE_FOOTER_GROUP || style->display() == TABLE_ROW || style->display() == TABLE_CELL) &&
-             style->position() == RelativePosition) {
-            style->setPositionWasRelative(true);
+        if ((style->display() == TABLE_HEADER_GROUP || style->display() == TABLE_ROW_GROUP
+             || style->display() == TABLE_FOOTER_GROUP || style->display() == TABLE_ROW) &&
+             style->position() == RelativePosition)
             style->setPosition(StaticPosition);
-        }
 
         // writing-mode does not apply to table row groups, table column groups, table rows, and table columns.
         // FIXME: Table cells should be allowed to be perpendicular or flipped with respect to the table, though.
index 931e0b1..05ced29 100644 (file)
@@ -2152,11 +2152,6 @@ RenderObject* RenderObject::container(RenderBoxModelObject* repaintContainer, bo
     return o;
 }
 
-bool RenderObject::wasOriginallyRelativePositioned() const
-{
-    return isRelPositioned() || style()->positionWasRelative();
-}
-
 bool RenderObject::isSelectionBorder() const
 {
     SelectionState st = selectionState();
@@ -2616,11 +2611,10 @@ RenderBoxModelObject* RenderObject::offsetParent() const
     //       is one of the following HTML elements: td, th, or table.
     //     * Our own extension: if there is a difference in the effective zoom
 
-    bool skipTables = isPositioned() || wasOriginallyRelativePositioned();
+    bool skipTables = isPositioned() || isRelPositioned();
     float currZoom = style()->effectiveZoom();
     RenderObject* curr = parent();
-    while (curr && (!curr->node() ||
-                    (!curr->isPositioned() && !curr->wasOriginallyRelativePositioned() && !curr->isBody()))) {
+    while (curr && (!curr->node() || (!curr->isPositioned() && !curr->isRelPositioned() && !curr->isBody()))) {
         Node* element = curr->node();
         if (!skipTables && element) {
             bool isTableElement = element->hasTagName(tableTag) ||
index 31a8740..c5b152d 100644 (file)
@@ -400,11 +400,6 @@ public:
     bool isFloating() const { return m_floating; }
     bool isPositioned() const { return m_positioned; } // absolute or fixed positioning
     bool isRelPositioned() const { return m_relPositioned; } // relative positioning
-
-    // WebKit overwrites the position:relative style for certain elements for which such positioning is illegal or behavior is undefined.
-    // This function returns the value specified in the source, even if it was corrected by WebKit.
-    bool wasOriginallyRelativePositioned() const;
-
     bool isText() const  { return m_isText; }
     bool isBox() const { return m_isBox; }
     bool isInline() const { return m_inline; }  // inline object
index d9fe223..6351cd4 100644 (file)
@@ -137,8 +137,6 @@ private:
 
     virtual void destroy();
 
-    virtual bool requiresLayer() const { return isPositioned() || isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasReflection(); }
-
     virtual void computeLogicalWidth();
 
     virtual void paintBoxDecorations(PaintInfo&, int tx, int ty);
index 5c0f154..77a12d1 100644 (file)
@@ -600,8 +600,6 @@ public:
     short counterIncrement() const { return rareNonInheritedData->m_counterIncrement; }
     short counterReset() const { return rareNonInheritedData->m_counterReset; }
 
-    bool positionWasRelative() const { return rareNonInheritedData->m_positionWasRelative; }
-
     EListStyleType listStyleType() const { return static_cast<EListStyleType>(inherited_flags._list_style_type); }
     StyleImage* listStyleImage() const { return inherited->list_style_image.get(); }
     EListStylePosition listStylePosition() const { return static_cast<EListStylePosition>(inherited_flags._list_style_position); }
@@ -974,8 +972,6 @@ public:
     void setCounterIncrement(short v) { SET_VAR(rareNonInheritedData, m_counterIncrement, v) }
     void setCounterReset(short v) { SET_VAR(rareNonInheritedData, m_counterReset, v) }
 
-    void setPositionWasRelative(bool v) { SET_VAR(rareNonInheritedData, m_positionWasRelative, v) }
-
     void setListStyleType(EListStyleType v) { inherited_flags._list_style_type = v; }
     void setListStyleImage(PassRefPtr<StyleImage> v) { if (inherited->list_style_image != v) inherited.access()->list_style_image = v; }
     void setListStylePosition(EListStylePosition v) { inherited_flags._list_style_position = v; }
index 5d71056..3771f13 100644 (file)
@@ -46,7 +46,6 @@ StyleRareNonInheritedData::StyleRareNonInheritedData()
     , m_textCombine(RenderStyle::initialTextCombine())
     , m_counterIncrement(0)
     , m_counterReset(0)
-    , m_positionWasRelative(0)
 #if USE(ACCELERATED_COMPOSITING)
     , m_runningAcceleratedAnimation(false)
 #endif
@@ -84,7 +83,6 @@ StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInherited
     , m_textCombine(o.m_textCombine)
     , m_counterIncrement(o.m_counterIncrement)
     , m_counterReset(o.m_counterReset)
-    , m_positionWasRelative(o.m_positionWasRelative)
 #if USE(ACCELERATED_COMPOSITING)
     , m_runningAcceleratedAnimation(o.m_runningAcceleratedAnimation)
 #endif
@@ -131,7 +129,6 @@ bool StyleRareNonInheritedData::operator==(const StyleRareNonInheritedData& o) c
         && m_textCombine == o.m_textCombine
         && m_counterIncrement == o.m_counterIncrement
         && m_counterReset == o.m_counterReset
-        && m_positionWasRelative == o.m_positionWasRelative
 #if USE(ACCELERATED_COMPOSITING)
         && !m_runningAcceleratedAnimation && !o.m_runningAcceleratedAnimation
 #endif
index 149398a..268a123 100644 (file)
@@ -107,9 +107,6 @@ public:
     
     short m_counterIncrement;
     short m_counterReset;
-    
-    // This flag preserves the fact that the position attribute was originally specified as relative.
-    unsigned m_positionWasRelative : 1;
 
 #if USE(ACCELERATED_COMPOSITING)
     bool m_runningAcceleratedAnimation : 1;