LayoutTests:
Reviewed by Hyatt.
- test for http://bugs.webkit.org/show_bug.cgi?id=12746
REGRESSION (r13853): List item's first line overflows containing div
* fast/lists/item-not-in-list-line-wrapping-expected.checksum: Added.
* fast/lists/item-not-in-list-line-wrapping-expected.png: Added.
* fast/lists/item-not-in-list-line-wrapping-expected.txt: Added.
* fast/lists/item-not-in-list-line-wrapping.html: Added.
WebCore:
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=12746
REGRESSION (r13853): List item's first line overflows containing div
Test: fast/lists/item-not-in-list-line-wrapping.html
* rendering/bidi.cpp:
(WebCore::RenderBlock::findNextLineBreak): Use the list marker's isInside()
instead of looking at its style()->listStylePosition(), since if the
list item is not in a list, the marker is inside regardless of the style.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/rendering/bidi.cpp b/WebCore/rendering/bidi.cpp
index 529d7f0..3a93a32 100644
--- a/WebCore/rendering/bidi.cpp
+++ b/WebCore/rendering/bidi.cpp
@@ -31,6 +31,7 @@
#include "InlineTextBox.h"
#include "RenderArena.h"
#include "RenderLayer.h"
+#include "RenderListMarker.h"
#include "RenderView.h"
#include "break_lines.h"
#include <wtf/AlwaysInline.h>
@@ -2191,7 +2192,7 @@
currentCharacterIsWS = false;
trailingSpaceObject = 0;
- if (o->isListMarker() && o->style()->listStylePosition() == OUTSIDE) {
+ if (o->isListMarker() && !static_cast<RenderListMarker*>(o)->isInside()) {
// The marker must not have an effect on whitespace at the start
// of the line. We start ignoring spaces to make sure that any additional
// spaces we see will be discarded.
@@ -2525,7 +2526,7 @@
o = next;
if (!last->isFloatingOrPositioned() && last->isReplaced() && autoWrap &&
- (!last->isListMarker() || last->style()->listStylePosition()==INSIDE)) {
+ (!last->isListMarker() || static_cast<RenderListMarker*>(last)->isInside())) {
// Go ahead and add in tmpW.
w += tmpW;
tmpW = 0;