summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/RenderObjectChildList.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderObjectChildList.cpp')
-rw-r--r--Source/WebCore/rendering/RenderObjectChildList.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/WebCore/rendering/RenderObjectChildList.cpp b/Source/WebCore/rendering/RenderObjectChildList.cpp
index 1ea8675..b6c7992 100644
--- a/Source/WebCore/rendering/RenderObjectChildList.cpp
+++ b/Source/WebCore/rendering/RenderObjectChildList.cpp
@@ -271,7 +271,12 @@ RenderObject* RenderObjectChildList::beforePseudoElementRenderer(const RenderObj
do {
// Skip list markers and generated run-ins
first = first->firstChild();
- while (first && (first->isListMarker() || (first->isRenderInline() && first->isRunIn() && first->isAnonymous())))
+ while (first && first->isListMarker()) {
+ if (first->parent() != owner && first->parent()->isAnonymousBlock())
+ first = first->parent();
+ first = first->nextSibling();
+ }
+ while (first && first->isRenderInline() && first->isRunIn())
first = first->nextSibling();
} while (first && first->isAnonymous() && first->style()->styleType() == NOPSEUDO);
@@ -293,7 +298,7 @@ RenderObject* RenderObjectChildList::beforePseudoElementRenderer(const RenderObj
// We still need to skip any list markers that could exist before the run-in.
while (first && first->isListMarker())
first = first->nextSibling();
- if (first && first->style()->styleType() == BEFORE && first->isRenderInline() && first->isRunIn() && first->isAnonymous())
+ if (first && first->style()->styleType() == BEFORE && first->isRenderInline() && first->isRunIn())
return first;
}
return 0;