Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/dynamic/first-letter-after-list-marker.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
when trying to locate a first letter to update.
LayoutTests:
* fast/dynamic/first-letter-after-list-marker-expected.png: Added.
* fast/dynamic/first-letter-after-list-marker-expected.txt: Added.
* fast/dynamic/first-letter-after-list-marker.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-09-28 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10196497> first-letter after list marker not updated correctly
+
+ Reviewed by Simon Fraser.
+
+ * fast/dynamic/first-letter-after-list-marker-expected.png: Added.
+ * fast/dynamic/first-letter-after-list-marker-expected.txt: Added.
+ * fast/dynamic/first-letter-after-list-marker.html: Added.
+
2011-09-28 Hayato Ito <hayato@chromium.org>
Add a test for accesskey in regard to iframes.
--- /dev/null
+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
--- /dev/null
+<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>
+2011-09-28 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10196497> first-letter after list marker not updated correctly
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/dynamic/first-letter-after-list-marker.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
+ when trying to locate a first letter to update.
+
2011-09-28 Kent Tamura <tkent@chromium.org>
REGRESSION(r93858): Can't type anything into input elements when maxlength is greater than 2^31
// 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;