| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index ffefbedd7d606bb09bb58a96a38c8776d9d7a41f..3ca25c47d443bab35d394796e568c37761c15d9d 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -1622,7 +1622,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff) const
|
|
|
| void RenderObject::setPseudoStyle(PassRefPtr<RenderStyle> pseudoStyle)
|
| {
|
| - ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFTER);
|
| + ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFTER || pseudoStyle->styleType() == FIRST_LETTER);
|
|
|
| // FIXME: We should consider just making all pseudo items use an inherited style.
|
|
|
| @@ -2644,7 +2644,9 @@ static PassRefPtr<RenderStyle> firstLineStyleForCachedUncachedType(StyleCacheSta
|
| return firstLineBlock->getCachedPseudoStyle(FIRST_LINE, style);
|
| return firstLineBlock->getUncachedPseudoStyle(PseudoStyleRequest(FIRST_LINE), style, firstLineBlock == renderer ? style : 0);
|
| }
|
| - } else if (!rendererForFirstLineStyle->isAnonymous() && rendererForFirstLineStyle->isRenderInline()) {
|
| + } else if (!rendererForFirstLineStyle->isAnonymous() && rendererForFirstLineStyle->isRenderInline()
|
| + && (!rendererForFirstLineStyle->node() || !rendererForFirstLineStyle->node()->isFirstLetterPseudoElement())) {
|
| +
|
| RenderStyle* parentStyle = rendererForFirstLineStyle->parent()->firstLineStyle();
|
| if (parentStyle != rendererForFirstLineStyle->parent()->style()) {
|
| if (type == Cached) {
|
|
|