Chromium Code Reviews| Index: Source/core/rendering/RenderObject.cpp |
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp |
| index af60bc8dd846a6675e11db68a909bf99104f7cb2..dd022946e2d894467f1be0c3c4fcafca5d092f0e 100644 |
| --- a/Source/core/rendering/RenderObject.cpp |
| +++ b/Source/core/rendering/RenderObject.cpp |
| @@ -1633,7 +1633,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. |
| @@ -2655,7 +2655,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())) { |
|
Julien - ping for review
2014/10/09 18:24:48
rendererForFirstLineStyle->node() will only return
dsinclair
2014/10/09 21:14:22
Done.
|
| + |
| RenderStyle* parentStyle = rendererForFirstLineStyle->parent()->firstLineStyle(); |
| if (parentStyle != rendererForFirstLineStyle->parent()->style()) { |
| if (type == Cached) { |