Title: [96369] branches/chromium/874
- Revision
- 96369
- Author
- [email protected]
- Date
- 2011-09-29 15:35:28 -0700 (Thu, 29 Sep 2011)
Log Message
Merge 96294 - <rdar://problem/10196497> first-letter after list marker not updated correctly
BUG=98064
Review URL: http://codereview.chromium.org/8085012
Modified Paths
Added Paths
Diff
Copied: branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker-expected.png (from rev 96294, trunk/LayoutTests/fast/dynamic/first-letter-after-list-marker-expected.png)
(Binary files differ)
Copied: branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker-expected.txt (from rev 96294, trunk/LayoutTests/fast/dynamic/first-letter-after-list-marker-expected.txt) (0 => 96369)
--- branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker-expected.txt (rev 0)
+++ branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker-expected.txt 2011-09-29 22:35:28 UTC (rev 96369)
@@ -0,0 +1,12 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x492
+ RenderBlock {UL} at (0,0) size 784x100
+ RenderListItem {LI} at (40,0) size 744x100
+ RenderListMarker at (-61,0) size 29x100: bullet
+ RenderInline (generated) at (0,0) size 100x100 [color=#008000]
+ RenderText {#text} at (0,0) size 100x100
+ text run at (0,0) width 100: "a"
+ RenderText {#text} at (0,0) size 0x0
Copied: branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker.html (from rev 96294, trunk/LayoutTests/fast/dynamic/first-letter-after-list-marker.html) (0 => 96369)
--- branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker.html (rev 0)
+++ branches/chromium/874/LayoutTests/fast/dynamic/first-letter-after-list-marker.html 2011-09-29 22:35:28 UTC (rev 96369)
@@ -0,0 +1,11 @@
+<style>
+ li:first-letter { color: red; }
+ li.green:first-letter { color: green; }
+</style>
+<ul style="font-family: ahem; font-size: 100px; -webkit-font-smoothing: none;">
+ <li id="target">a</li>
+</ul>
+<script>
+ document.body.offsetTop;
+ document.getElementById("target").className = "green";
+</script>
Modified: branches/chromium/874/Source/WebCore/rendering/RenderBlock.cpp (96368 => 96369)
--- branches/chromium/874/Source/WebCore/rendering/RenderBlock.cpp 2011-09-29 22:33:03 UTC (rev 96368)
+++ branches/chromium/874/Source/WebCore/rendering/RenderBlock.cpp 2011-09-29 22:35:28 UTC (rev 96369)
@@ -5458,21 +5458,23 @@
// Drill into inlines looking for our first text child.
RenderObject* currChild = firstLetterBlock->firstChild();
- while (currChild && ((!currChild->isReplaced() && !currChild->isRenderButton() && !currChild->isMenuList()) || currChild->isFloatingOrPositioned()) && !currChild->isText()) {
- if (currChild->isFloatingOrPositioned()) {
+ while (currChild) {
+ if (currChild->isText())
+ break;
+ if (currChild->isListMarker())
+ currChild = currChild->nextSibling();
+ else if (currChild->isFloatingOrPositioned()) {
if (currChild->style()->styleType() == FIRST_LETTER) {
currChild = currChild->firstChild();
break;
- }
+ }
currChild = currChild->nextSibling();
- } else
+ } else if (currChild->isReplaced() || currChild->isRenderButton() || currChild->isMenuList())
+ break;
+ else
currChild = currChild->firstChild();
}
- // Get list markers out of the way.
- while (currChild && currChild->isListMarker())
- currChild = currChild->nextSibling();
-
if (!currChild)
return;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes