Fix for 3556037, regression where display:block generated content didn't work.
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Feb 2004 21:37:01 +0000 (21:37 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Feb 2004 21:37:01 +0000 (21:37 +0000)
        Reviewed by kocienda

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::setStyle):
        (khtml::RenderBlock::addChildToFlow):
        (khtml::RenderBlock::removeChild):
        (khtml::RenderBlock::renderName):
        * khtml/rendering/render_container.cpp:
        (RenderContainer::insertChildNode):
        (RenderContainer::removeLeftoverAnonymousBoxes):
        * khtml/rendering/render_inline.cpp:
        (RenderInline::splitFlow):
        (RenderInline::renderName):
        * khtml/rendering/render_list.cpp:
        (RenderListItem::updateMarkerLocation):
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::isAnonymousBlock):
        * layout-tests/css1/pseudo/firstletter-expected.txt:
        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * layout-tests/fast/css-generated-content/002-expected.txt:
        * layout-tests/fast/css-generated-content/004-expected.txt:
        * layout-tests/fast/css-generated-content/005-expected.txt:
        * layout-tests/fast/css-generated-content/006-expected.txt:
        * layout-tests/fast/css-generated-content/007-expected.txt:
        * layout-tests/fast/css-generated-content/009-expected.txt:
        * layout-tests/fast/css-generated-content/010-expected.txt:
        * layout-tests/fast/selectors/039-expected.txt:
        * layout-tests/fast/selectors/039b-expected.txt:
        * layout-tests/fast/selectors/041-expected.txt:
        * layout-tests/fast/selectors/042-expected.txt:
        * layout-tests/fast/selectors/166a-expected.txt:
        * layout-tests/fast/selectors/168-expected.txt:
        * layout-tests/fast/selectors/168a-expected.txt:
        * layout-tests/fast/selectors/169-expected.txt:
        * layout-tests/fast/selectors/169a-expected.txt:
        * layout-tests/fast/text/firstline/002-expected.txt:
        * layout-tests/fast/text/firstline/003-expected.txt:

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

25 files changed:
LayoutTests/css1/pseudo/firstletter-expected.txt
LayoutTests/css1/pseudo/multiple_pseudo_elements-expected.txt
LayoutTests/fast/css-generated-content/002-expected.txt
LayoutTests/fast/css-generated-content/004-expected.txt
LayoutTests/fast/css-generated-content/005-expected.txt
LayoutTests/fast/css-generated-content/007-expected.txt
LayoutTests/fast/css-generated-content/009-expected.txt
LayoutTests/fast/css-generated-content/010-expected.txt
LayoutTests/fast/selectors/039-expected.txt
LayoutTests/fast/selectors/039b-expected.txt
LayoutTests/fast/selectors/041-expected.txt
LayoutTests/fast/selectors/042-expected.txt
LayoutTests/fast/selectors/166a-expected.txt
LayoutTests/fast/selectors/168-expected.txt
LayoutTests/fast/selectors/168a-expected.txt
LayoutTests/fast/selectors/169-expected.txt
LayoutTests/fast/selectors/169a-expected.txt
LayoutTests/fast/text/firstline/002-expected.txt
LayoutTests/fast/text/firstline/003-expected.txt
WebCore/ChangeLog-2005-08-23
WebCore/khtml/rendering/render_block.cpp
WebCore/khtml/rendering/render_container.cpp
WebCore/khtml/rendering/render_inline.cpp
WebCore/khtml/rendering/render_list.cpp
WebCore/khtml/rendering/render_object.h

index dba18a7..35826b4 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x711
   RenderBlock {HTML} at (0,0) size 800x711
     RenderBody {BODY} at (8,8) size 784x695 [bgcolor=#CCCCCC]
       RenderBlock {P} at (0,0) size 784x18
-        RenderInline (anonymous) at (0,0) size 10x18 [color=#800000]
+        RenderInline (generated) at (0,0) size 10x18 [color=#800000]
           RenderText {TEXT} at (0,0) size 10x18
             text run at (0,0) width 10: "T"
         RenderText {TEXT} at (10,0) size 345x18
@@ -16,7 +16,7 @@ layer at (0,0) size 800x711
           text run at (0,30) width 312: "P.three:first-letter {font-size: 350%;}"
       RenderBlock {HR} at (0,107) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,125) size 784x54
-        RenderInline (anonymous) at (0,0) size 10x18 [color=#800000]
+        RenderInline (generated) at (0,0) size 10x18 [color=#800000]
           RenderText {TEXT} at (0,0) size 10x18
             text run at (0,0) width 10: "T"
         RenderText {TEXT} at (10,0) size 764x54
@@ -26,7 +26,7 @@ layer at (0,0) size 800x711
           text run at (187,18) width 574: "Remember that in order to ensure a complete test, the paragraph must be displayed on more"
           text run at (0,36) width 85: "than one line."
       RenderBlock {P} at (0,195) size 784x73
-        RenderInline (anonymous) at (0,0) size 20x37 [color=#800000]
+        RenderInline (generated) at (0,0) size 20x37 [color=#800000]
           RenderText {TEXT} at (0,0) size 20x37
             text run at (0,0) width 20: "T"
         RenderText {TEXT} at (20,15) size 757x58
@@ -36,7 +36,7 @@ layer at (0,0) size 800x711
           text run at (423,37) width 334: "Remember that in order to ensure a complete test, the"
           text run at (0,55) width 325: "paragraph must be displayed on more than one line."
       RenderBlock {P} at (0,284) size 784x100
-        RenderInline (anonymous) at (0,0) size 76x64 [color=#800000]
+        RenderInline (generated) at (0,0) size 76x64 [color=#800000]
           RenderText {TEXT} at (0,0) size 76x64
             text run at (0,0) width 76: "\"W"
         RenderText {TEXT} at (76,36) size 760x64
@@ -58,7 +58,7 @@ layer at (0,0) size 800x711
                 text run at (4,4) width 4: " "
             RenderTableCell {TD} at (12,26) size 770x267 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
               RenderBlock {P} at (4,4) size 762x54
-                RenderInline (anonymous) at (0,0) size 10x18 [color=#800000]
+                RenderInline (generated) at (0,0) size 10x18 [color=#800000]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "T"
                 RenderText {TEXT} at (10,0) size 748x54
@@ -68,7 +68,7 @@ layer at (0,0) size 800x711
                   text run at (210,18) width 538: "Remember that in order to ensure a complete test, the paragraph must be displayed on"
                   text run at (0,36) width 121: "more than one line."
               RenderBlock {P} at (4,74) size 762x73
-                RenderInline (anonymous) at (0,0) size 20x37 [color=#800000]
+                RenderInline (generated) at (0,0) size 20x37 [color=#800000]
                   RenderText {TEXT} at (0,0) size 20x37
                     text run at (0,0) width 20: "T"
                 RenderText {TEXT} at (20,15) size 757x58
@@ -78,7 +78,7 @@ layer at (0,0) size 800x711
                   text run at (423,37) width 334: "Remember that in order to ensure a complete test, the"
                   text run at (0,55) width 325: "paragraph must be displayed on more than one line."
               RenderBlock {P} at (4,163) size 762x100
-                RenderInline (anonymous) at (0,0) size 76x64 [color=#800000]
+                RenderInline (generated) at (0,0) size 76x64 [color=#800000]
                   RenderText {TEXT} at (0,0) size 76x64
                     text run at (0,0) width 76: "\"W"
                 RenderText {TEXT} at (76,36) size 760x64
index dea360b..9223f5f 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x1012
   RenderBlock {HTML} at (0,0) size 800x1012
     RenderBody {BODY} at (8,8) size 784x996 [bgcolor=#CCCCCC]
       RenderBlock {P} at (0,0) size 784x18
-        RenderInline (anonymous) at (0,0) size 10x18 [color=#800000]
+        RenderInline (generated) at (0,0) size 10x18 [color=#800000]
           RenderText {TEXT} at (0,0) size 10x18
             text run at (0,0) width 10: "T"
         RenderText {TEXT} at (10,0) size 345x18
@@ -19,7 +19,7 @@ layer at (0,0) size 800x1012
           text run at (0,75) width 368: "P.three:first-line {font-variant: small-caps;}"
       RenderBlock {HR} at (0,152) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,170) size 784x54
-        RenderInline (anonymous) at (0,0) size 10x18 [color=#800000]
+        RenderInline (generated) at (0,0) size 10x18 [color=#800000]
           RenderText {TEXT} at (0,0) size 10x18
             text run at (0,0) width 10: "T"
         RenderText {TEXT} at (10,0) size 784x54
@@ -29,7 +29,7 @@ layer at (0,0) size 800x1012
           text run at (497,18) width 282: "Remember that in order to ensure a complete"
           text run at (0,36) width 377: "test, the paragraph must be displayed on more than one line."
       RenderBlock {P} at (0,240) size 784x183
-        RenderInline (anonymous) at (0,0) size 68x129 [color=#800000]
+        RenderInline (generated) at (0,0) size 68x129 [color=#800000]
           RenderText {TEXT} at (0,0) size 68x129
             text run at (0,0) width 68: "T"
         RenderText {TEXT} at (68,72) size 782x111
@@ -39,7 +39,7 @@ layer at (0,0) size 800x1012
           text run at (253,147) width 507: "If this precise combination does not occur, then the user agent has failed this test."
           text run at (0,165) width 663: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
       RenderBlock {P} at (0,439) size 784x118
-        RenderInline (anonymous) at (0,0) size 76x64 [color=#800000]
+        RenderInline (generated) at (0,0) size 76x64 [color=#800000]
           RenderText {TEXT} at (0,0) size 76x64
             text run at (0,0) width 76: "\"W"
         RenderText {TEXT} at (76,36) size 782x82
@@ -63,7 +63,7 @@ layer at (0,0) size 800x1012
                 text run at (4,4) width 4: " "
             RenderTableCell {TD} at (12,26) size 770x395 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
               RenderBlock {P} at (4,4) size 762x54
-                RenderInline (anonymous) at (0,0) size 10x18 [color=#800000]
+                RenderInline (generated) at (0,0) size 10x18 [color=#800000]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "T"
                 RenderText {TEXT} at (10,0) size 727x54
@@ -73,7 +73,7 @@ layer at (0,0) size 800x1012
                   text run at (554,18) width 165: "Remember that in order to"
                   text run at (0,36) width 494: "ensure a complete test, the paragraph must be displayed on more than one line."
               RenderBlock {P} at (4,74) size 762x183
-                RenderInline (anonymous) at (0,0) size 68x129 [color=#800000]
+                RenderInline (generated) at (0,0) size 68x129 [color=#800000]
                   RenderText {TEXT} at (0,0) size 68x129
                     text run at (0,0) width 68: "T"
                 RenderText {TEXT} at (68,72) size 751x111
@@ -84,7 +84,7 @@ layer at (0,0) size 800x1012
                   text run at (0,165) width 55: "this test. "
                   text run at (55,165) width 663: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
               RenderBlock {P} at (4,273) size 762x118
-                RenderInline (anonymous) at (0,0) size 76x64 [color=#800000]
+                RenderInline (generated) at (0,0) size 76x64 [color=#800000]
                   RenderText {TEXT} at (0,0) size 76x64
                     text run at (0,0) width 76: "\"W"
                 RenderText {TEXT} at (76,36) size 762x82
index 8327133..5f578f4 100644 (file)
@@ -4,8 +4,8 @@ layer at (0,0) size 800x42
   RenderBlock {HTML} at (0,0) size 800x42
     RenderBody {BODY} at (8,8) size 784x18
       RenderBlock {P} at (0,0) size 784x18
-        RenderInline (anonymous) at (0,0) size 54x18
-          RenderInline (anonymous) at (0,0) size 9x18 [color=#FFD800]
+        RenderInline (generated) at (0,0) size 54x18
+          RenderInline (generated) at (0,0) size 9x18 [color=#FFD800]
             RenderText at (0,0) size 9x18
               text run at (0,0) width 9: "S"
           RenderText at (9,0) size 45x18
@@ -13,6 +13,6 @@ layer at (0,0) size 800x42
         RenderText {TEXT} at (54,0) size 590x18
           text run at (54,0) width 220: "The \"S\" to the left should be gold. "
           text run at (274,0) width 370: "This is testing :before used in conjunction with :first-letter. "
-        RenderInline (anonymous) at (0,0) size 65x18
+        RenderInline (generated) at (0,0) size 65x18
           RenderText at (644,0) size 65x18
             text run at (644,0) width 65: "[The End]"
index d4bc1cf..cafc76c 100644 (file)
@@ -4,6 +4,6 @@ layer at (0,0) size 800x50
   RenderBlock {HTML} at (0,0) size 800x50
     RenderBody {BODY} at (8,16) size 784x18 [color=#FF0000]
       RenderBlock {P} at (0,0) size 784x18 [color=#008000]
-        RenderInline (anonymous) at (0,0) size 163x18
+        RenderInline (generated) at (0,0) size 163x18
           RenderText at (0,0) size 163x18
             text run at (0,0) width 163: "This text should be green."
index 11d985a..e443f91 100644 (file)
@@ -5,7 +5,7 @@ layer at (0,0) size 800x68
     RenderBody {BODY} at (8,8) size 784x52
       RenderBlock (anonymous) at (0,0) size 784x18
         RenderInline {Q} at (0,0) size 158x18
-          RenderInline (anonymous) at (0,0) size 7x18
+          RenderInline (generated) at (0,0) size 7x18
             RenderText at (0,0) size 7x18
               text run at (0,0) width 7: "\""
           RenderText {TEXT} at (7,0) size 151x18
@@ -16,7 +16,7 @@ layer at (0,0) size 800x68
         RenderInline {Q} at (0,0) size 60x18
           RenderText {TEXT} at (0,0) size 53x18
             text run at (0,0) width 53: "this text."
-          RenderInline (anonymous) at (0,0) size 7x18
+          RenderInline (generated) at (0,0) size 7x18
             RenderText at (53,0) size 7x18
               text run at (53,0) width 7: "\""
         RenderText {TEXT} at (0,0) size 0x0
index 13a04f6..64758cc 100644 (file)
@@ -4,12 +4,12 @@ layer at (0,0) size 800x76
   RenderBlock {HTML} at (0,0) size 800x76
     RenderBody {BODY} at (8,8) size 784x52
       RenderBlock {DIV} at (0,0) size 784x18
-        RenderInline (anonymous) at (0,0) size 10x18
+        RenderInline (generated) at (0,0) size 10x18
           RenderText {TEXT} at (0,0) size 10x18
             text run at (0,0) width 10: "T"
         RenderText {TEXT} at (10,0) size 269x18
           text run at (10,0) width 269: "HIS TEXT SHOULD BE UPPERCASE."
       RenderBlock {P} at (0,34) size 784x18
-        RenderInline (anonymous) at (0,0) size 279x18
+        RenderInline (generated) at (0,0) size 279x18
           RenderText at (0,0) size 279x18
             text run at (0,0) width 279: "THIS TEXT SHOULD BE UPPERCASE."
index c4570f0..e57b380 100644 (file)
@@ -18,7 +18,7 @@ layer at (0,0) size 800x173
             text run at (0,0) width 373: "All of this text should be green. The bullet should be black."
       RenderBlock {DIV} at (0,68) size 784x55 [color=#FF0000]
         RenderInline {SPAN} at (0,0) size 429x18 [color=#008000]
-          RenderInline (anonymous) at (0,0) size 35x55
+          RenderInline (generated) at (0,0) size 35x55
             RenderText {TEXT} at (0,0) size 35x55
               text run at (0,0) width 35: "A"
           RenderText {TEXT} at (35,29) size 394x18
index d83ab21..7d12820 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x34
   RenderBlock {HTML} at (0,0) size 800x34
     RenderBody {BODY} at (8,8) size 784x18
       RenderInline {A} at (0,0) size 124x18 [color=#0000EE]
-        RenderInline (anonymous) at (0,0) size 17x18
+        RenderInline (generated) at (0,0) size 17x18
           RenderImage at (0,3) size 17x11
         RenderText {TEXT} at (17,0) size 107x18
           text run at (17,0) width 107: "What's going on."
index 4840fa6..494b741 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x69
   RenderBlock {HTML} at (0,0) size 800x69
     RenderBody {BODY} at (8,16) size 784x37
       RenderBlock {P} at (0,0) size 784x37
-        RenderInline (anonymous) at (0,0) size 20x37 [bgcolor=#00FF00]
+        RenderInline (generated) at (0,0) size 20x37 [bgcolor=#00FF00]
           RenderText {TEXT} at (0,0) size 20x37
             text run at (0,0) width 20: "T"
         RenderText {TEXT} at (20,15) size 481x18
index 4840fa6..494b741 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x69
   RenderBlock {HTML} at (0,0) size 800x69
     RenderBody {BODY} at (8,16) size 784x37
       RenderBlock {P} at (0,0) size 784x37
-        RenderInline (anonymous) at (0,0) size 20x37 [bgcolor=#00FF00]
+        RenderInline (generated) at (0,0) size 20x37 [bgcolor=#00FF00]
           RenderText {TEXT} at (0,0) size 20x37
             text run at (0,0) width 20: "T"
         RenderText {TEXT} at (20,15) size 481x18
index 95bd095..724c41f 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x68
   RenderBlock {HTML} at (0,0) size 800x68
     RenderBody {BODY} at (8,16) size 784x36
       RenderBlock {P} at (0,0) size 784x36
-        RenderInline (anonymous) at (0,0) size 184x18 [bgcolor=#00FF00]
+        RenderInline (generated) at (0,0) size 184x18 [bgcolor=#00FF00]
           RenderText at (0,0) size 184x18
             text run at (0,0) width 184: "GENERATED CONTENT "
         RenderText {TEXT} at (184,0) size 740x36
index e1d4242..b1af944 100644 (file)
@@ -6,7 +6,7 @@ layer at (0,0) size 800x68
       RenderBlock {P} at (0,0) size 784x36
         RenderText {TEXT} at (0,0) size 623x18
           text run at (0,0) width 623: "You should see after this paragraph the words GENERATED CONTENT over green background"
-        RenderInline (anonymous) at (0,0) size 722x36 [bgcolor=#00FF00]
+        RenderInline (generated) at (0,0) size 722x36 [bgcolor=#00FF00]
           RenderText at (623,0) size 722x36
             text run at (623,0) width 99: "GENERATED"
             text run at (0,18) width 77: "CONTENT"
index a787106..4619b01 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x50
   RenderBlock {HTML} at (0,0) size 800x50
     RenderBody {BODY} at (8,16) size 784x18
       RenderBlock {P} at (0,0) size 784x18
-        RenderInline (anonymous) at (0,0) size 10x18 [bgcolor=#00FF00]
+        RenderInline (generated) at (0,0) size 10x18 [bgcolor=#00FF00]
           RenderText {TEXT} at (0,0) size 10x18
             text run at (0,0) width 10: "T"
         RenderText {TEXT} at (10,0) size 401x18
index 6e9db5d..bcdeaa9 100644 (file)
@@ -7,7 +7,7 @@ layer at (0,0) size 800x84
         RenderText {TEXT} at (0,0) size 82x18
           text run at (0,0) width 82: "This test has "
         RenderInline {SPAN} at (0,0) size 61x18
-          RenderInline (anonymous) at (0,0) size 61x18 [bgcolor=#00FF00]
+          RenderInline (generated) at (0,0) size 61x18 [bgcolor=#00FF00]
             RenderText at (82,0) size 61x18
               text run at (82,0) width 61: "PASSED"
         RenderText {TEXT} at (143,0) size 4x18
index 6e9db5d..bcdeaa9 100644 (file)
@@ -7,7 +7,7 @@ layer at (0,0) size 800x84
         RenderText {TEXT} at (0,0) size 82x18
           text run at (0,0) width 82: "This test has "
         RenderInline {SPAN} at (0,0) size 61x18
-          RenderInline (anonymous) at (0,0) size 61x18 [bgcolor=#00FF00]
+          RenderInline (generated) at (0,0) size 61x18 [bgcolor=#00FF00]
             RenderText at (82,0) size 61x18
               text run at (82,0) width 61: "PASSED"
         RenderText {TEXT} at (143,0) size 4x18
index 6e9db5d..bcdeaa9 100644 (file)
@@ -7,7 +7,7 @@ layer at (0,0) size 800x84
         RenderText {TEXT} at (0,0) size 82x18
           text run at (0,0) width 82: "This test has "
         RenderInline {SPAN} at (0,0) size 61x18
-          RenderInline (anonymous) at (0,0) size 61x18 [bgcolor=#00FF00]
+          RenderInline (generated) at (0,0) size 61x18 [bgcolor=#00FF00]
             RenderText at (82,0) size 61x18
               text run at (82,0) width 61: "PASSED"
         RenderText {TEXT} at (143,0) size 4x18
index 6e9db5d..bcdeaa9 100644 (file)
@@ -7,7 +7,7 @@ layer at (0,0) size 800x84
         RenderText {TEXT} at (0,0) size 82x18
           text run at (0,0) width 82: "This test has "
         RenderInline {SPAN} at (0,0) size 61x18
-          RenderInline (anonymous) at (0,0) size 61x18 [bgcolor=#00FF00]
+          RenderInline (generated) at (0,0) size 61x18 [bgcolor=#00FF00]
             RenderText at (82,0) size 61x18
               text run at (82,0) width 61: "PASSED"
         RenderText {TEXT} at (143,0) size 4x18
index 22c5303..99a103c 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x69
   RenderBlock {HTML} at (0,0) size 800x69
     RenderBody {BODY} at (8,8) size 784x45
       RenderBlock {P} at (0,0) size 784x45 [border: (2px solid #0000FF)]
-        RenderInline (anonymous) at (0,0) size 32x41 [color=#800000]
+        RenderInline (generated) at (0,0) size 32x41 [color=#800000]
           RenderText {TEXT} at (2,2) size 32x41
             text run at (2,2) width 32: "M"
         RenderText {TEXT} at (34,20) size 178x18
index 5a82300..916dba2 100644 (file)
@@ -4,7 +4,7 @@ layer at (0,0) size 800x52
   RenderBlock {HTML} at (0,0) size 800x52
     RenderBody {BODY} at (8,8) size 784x28
       RenderBlock {P} at (0,0) size 784x28
-        RenderInline (anonymous) at (0,0) size 17x28 [color=#FF0000]
+        RenderInline (generated) at (0,0) size 17x28 [color=#FF0000]
           RenderText {TEXT} at (0,0) size 17x28
             text run at (0,0) width 17: "A"
         RenderText {TEXT} at (17,8) size 405x18
index 4ca05fc..4a3ea14 100644 (file)
@@ -1,3 +1,45 @@
+2004-02-11  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3556037, regression where display:block generated content didn't work.
+       
+        Reviewed by kocienda
+
+        * khtml/rendering/render_block.cpp:
+        (khtml::RenderBlock::setStyle):
+        (khtml::RenderBlock::addChildToFlow):
+        (khtml::RenderBlock::removeChild):
+        (khtml::RenderBlock::renderName):
+        * khtml/rendering/render_container.cpp:
+        (RenderContainer::insertChildNode):
+        (RenderContainer::removeLeftoverAnonymousBoxes):
+        * khtml/rendering/render_inline.cpp:
+        (RenderInline::splitFlow):
+        (RenderInline::renderName):
+        * khtml/rendering/render_list.cpp:
+        (RenderListItem::updateMarkerLocation):
+        * khtml/rendering/render_object.h:
+        (khtml::RenderObject::isAnonymousBlock):
+        * layout-tests/css1/pseudo/firstletter-expected.txt:
+        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
+        * layout-tests/fast/css-generated-content/002-expected.txt:
+        * layout-tests/fast/css-generated-content/004-expected.txt:
+        * layout-tests/fast/css-generated-content/005-expected.txt:
+        * layout-tests/fast/css-generated-content/006-expected.txt:
+        * layout-tests/fast/css-generated-content/007-expected.txt:
+        * layout-tests/fast/css-generated-content/009-expected.txt:
+        * layout-tests/fast/css-generated-content/010-expected.txt:
+        * layout-tests/fast/selectors/039-expected.txt:
+        * layout-tests/fast/selectors/039b-expected.txt:
+        * layout-tests/fast/selectors/041-expected.txt:
+        * layout-tests/fast/selectors/042-expected.txt:
+        * layout-tests/fast/selectors/166a-expected.txt:
+        * layout-tests/fast/selectors/168-expected.txt:
+        * layout-tests/fast/selectors/168a-expected.txt:
+        * layout-tests/fast/selectors/169-expected.txt:
+        * layout-tests/fast/selectors/169a-expected.txt:
+        * layout-tests/fast/text/firstline/002-expected.txt:
+        * layout-tests/fast/text/firstline/003-expected.txt:
+
 2004-02-11  Darin Adler   <darin@apple.com>
 
         Reviewed by Richard.
index d37f80e..e884970 100644 (file)
@@ -80,7 +80,7 @@ void RenderBlock::setStyle(RenderStyle* _style)
     RenderObject *child = firstChild();
     while (child != 0)
     {
-        if (child->isAnonymous() && child->style()->styleType() == RenderStyle::NOPSEUDO && !child->isListMarker())
+        if (child->isAnonymousBlock())
         {
             RenderStyle* newStyle = new (renderArena()) RenderStyle();
             newStyle->inheritFrom(style());
@@ -111,7 +111,7 @@ void RenderBlock::addChildToFlow(RenderObject* newChild, RenderObject* beforeChi
     if (beforeChild && beforeChild->parent() != this) {
 
         KHTMLAssert(beforeChild->parent());
-        KHTMLAssert(beforeChild->parent()->isAnonymous());
+        KHTMLAssert(beforeChild->parent()->isAnonymousBlock());
 
         if (newChild->isInline()) {
             beforeChild->parent()->addChild(newChild,beforeChild);
@@ -142,7 +142,7 @@ void RenderBlock::addChildToFlow(RenderObject* newChild, RenderObject* beforeChi
         
         if (beforeChild && beforeChild->parent() != this) {
             beforeChild = beforeChild->parent();
-            KHTMLAssert(beforeChild->isAnonymous());
+            KHTMLAssert(beforeChild->isAnonymousBlock());
             KHTMLAssert(beforeChild->parent() == this);
         }
     }
@@ -153,13 +153,13 @@ void RenderBlock::addChildToFlow(RenderObject* newChild, RenderObject* beforeChi
         // a new one is created and inserted into our list of children in the appropriate position.
         if (newChild->isInline()) {
             if (beforeChild) {
-                if (beforeChild->previousSibling() && beforeChild->previousSibling()->isAnonymous()) {
+                if (beforeChild->previousSibling() && beforeChild->previousSibling()->isAnonymousBlock()) {
                     beforeChild->previousSibling()->addChild(newChild);
                     return;
                 }
             }
             else {
-                if (m_last && m_last->isAnonymous()) {
+                if (m_last && m_last->isAnonymousBlock()) {
                     m_last->addChild(newChild);
                     return;
                 }
@@ -264,8 +264,8 @@ void RenderBlock::removeChild(RenderObject *oldChild)
     RenderObject* next = oldChild->nextSibling();
     bool mergedBlocks = false;
     if (!documentBeingDestroyed() && !isInline() && !oldChild->isInline() && !oldChild->continuation() &&
-        prev && prev->isAnonymous() && prev->childrenInline() &&
-        next && next->isAnonymous() && next->childrenInline()) {
+        prev && prev->isAnonymousBlock() && prev->childrenInline() &&
+        next && next->isAnonymousBlock() && next->childrenInline()) {
         // Take all the children out of the |next| block and put them in
         // the |prev| block.
         RenderObject* o = next->firstChild();
@@ -2622,8 +2622,10 @@ const char *RenderBlock::renderName() const
         return "RenderBlock (floating)";
     if (isPositioned())
         return "RenderBlock (positioned)";
-    if (isAnonymous())
+    if (isAnonymousBlock())
         return "RenderBlock (anonymous)";
+    else if (isAnonymous())
+        return "RenderBlock (generated)";
     if (isRelPositioned())
         return "RenderBlock (relative positioned)";
     if (isCompact())
index 840f972..acb7990 100644 (file)
@@ -356,7 +356,7 @@ void RenderContainer::insertChildNode(RenderObject* child, RenderObject* beforeC
     }
 
     KHTMLAssert(!child->parent());
-    while ( beforeChild->parent() != this && beforeChild->parent()->isAnonymous() )
+    while ( beforeChild->parent() != this && beforeChild->parent()->isAnonymousBlock() )
        beforeChild = beforeChild->parent();
     KHTMLAssert(beforeChild->parent() == this);
 
@@ -402,7 +402,7 @@ void RenderContainer::removeLeftoverAnonymousBoxes()
     while( child ) {
        RenderObject *next = child->nextSibling();
        
-       if ( child->isRenderBlock() && child->isAnonymous() && !child->continuation() && !child->childrenInline() && !child->isTableCell() ) {
+       if ( child->isRenderBlock() && child->isAnonymousBlock() && !child->continuation() && !child->childrenInline() && !child->isTableCell() ) {
            RenderObject *firstAnChild = child->firstChild();
            RenderObject *lastAnChild = child->lastChild();
            if ( firstAnChild ) {
index 97729a8..1afade3 100644 (file)
@@ -199,7 +199,7 @@ void RenderInline::splitFlow(RenderObject* beforeChild, RenderBlock* newBlockBox
     RenderBlock* pre = 0;
     RenderBlock* block = containingBlock();
     bool madeNewBeforeBlock = false;
-    if (block->isAnonymous()) {
+    if (block->isAnonymousBlock()) {
         // We can reuse this block and make it the preBlock of the next continuation.
         pre = block;
         block = block->containingBlock();
@@ -511,7 +511,7 @@ const char *RenderInline::renderName() const
     if (isRelPositioned())
         return "RenderInline (relative positioned)";
     if (isAnonymous())
-        return "RenderInline (anonymous)";
+        return "RenderInline (generated)";
     return "RenderInline";
 }
 
index 1dd7731..afcda08 100644 (file)
@@ -234,7 +234,7 @@ void RenderListItem::updateMarkerLocation()
             // then we are the only item in that anonymous box (since no line box
             // parent was found).  It's ok to just leave the marker where it is
             // in this case.
-            if (markerPar && markerPar->isAnonymous())
+            if (markerPar && markerPar->isAnonymousBlock())
                 lineBoxParent = markerPar;
             else
                 lineBoxParent = this;
index fe00d72..0881baf 100644 (file)
@@ -246,6 +246,10 @@ public:
     
     bool isAnonymous() const { return m_isAnonymous; }
     void setIsAnonymous(bool b) { m_isAnonymous = b; }
+    bool isAnonymousBlock() const { return m_isAnonymous && 
+                                           style()->display() == BLOCK && 
+                                           style()->styleType() == RenderStyle::NOPSEUDO &&
+                                           !isListMarker(); }
     
     bool isFloating() const { return m_floating; }
     bool isPositioned() const { return m_positioned; } // absolute or fixed positioning