Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. |
| 7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) | 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 1615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1626 if (diff.needsPaintInvalidationLayer() && !hasLayer()) { | 1626 if (diff.needsPaintInvalidationLayer() && !hasLayer()) { |
| 1627 diff.clearNeedsPaintInvalidation(); | 1627 diff.clearNeedsPaintInvalidation(); |
| 1628 diff.setNeedsPaintInvalidationObject(); | 1628 diff.setNeedsPaintInvalidationObject(); |
| 1629 } | 1629 } |
| 1630 | 1630 |
| 1631 return diff; | 1631 return diff; |
| 1632 } | 1632 } |
| 1633 | 1633 |
| 1634 void RenderObject::setPseudoStyle(PassRefPtr<RenderStyle> pseudoStyle) | 1634 void RenderObject::setPseudoStyle(PassRefPtr<RenderStyle> pseudoStyle) |
| 1635 { | 1635 { |
| 1636 ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFT ER); | 1636 ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFT ER || pseudoStyle->styleType() == FIRST_LETTER); |
| 1637 | 1637 |
| 1638 // FIXME: We should consider just making all pseudo items use an inherited s tyle. | 1638 // FIXME: We should consider just making all pseudo items use an inherited s tyle. |
| 1639 | 1639 |
| 1640 // Images are special and must inherit the pseudoStyle so the width and heig ht of | 1640 // Images are special and must inherit the pseudoStyle so the width and heig ht of |
| 1641 // the pseudo element doesn't change the size of the image. In all other cas es we | 1641 // the pseudo element doesn't change the size of the image. In all other cas es we |
| 1642 // can just share the style. | 1642 // can just share the style. |
| 1643 // | 1643 // |
| 1644 // Quotes are also RenderInline, so we need to create an inherited style to avoid | 1644 // Quotes are also RenderInline, so we need to create an inherited style to avoid |
| 1645 // getting an inline with positioning or an invalid display. | 1645 // getting an inline with positioning or an invalid display. |
| 1646 // | 1646 // |
| (...skipping 1001 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2648 const RenderObject* rendererForFirstLineStyle = renderer; | 2648 const RenderObject* rendererForFirstLineStyle = renderer; |
| 2649 if (renderer->isBeforeOrAfterContent()) | 2649 if (renderer->isBeforeOrAfterContent()) |
| 2650 rendererForFirstLineStyle = renderer->parent(); | 2650 rendererForFirstLineStyle = renderer->parent(); |
| 2651 | 2651 |
| 2652 if (rendererForFirstLineStyle->isRenderBlockFlow() || rendererForFirstLineSt yle->isRenderButton()) { | 2652 if (rendererForFirstLineStyle->isRenderBlockFlow() || rendererForFirstLineSt yle->isRenderButton()) { |
| 2653 if (RenderBlock* firstLineBlock = rendererForFirstLineStyle->firstLineBl ock()) { | 2653 if (RenderBlock* firstLineBlock = rendererForFirstLineStyle->firstLineBl ock()) { |
| 2654 if (type == Cached) | 2654 if (type == Cached) |
| 2655 return firstLineBlock->getCachedPseudoStyle(FIRST_LINE, style); | 2655 return firstLineBlock->getCachedPseudoStyle(FIRST_LINE, style); |
| 2656 return firstLineBlock->getUncachedPseudoStyle(PseudoStyleRequest(FIR ST_LINE), style, firstLineBlock == renderer ? style : 0); | 2656 return firstLineBlock->getUncachedPseudoStyle(PseudoStyleRequest(FIR ST_LINE), style, firstLineBlock == renderer ? style : 0); |
| 2657 } | 2657 } |
| 2658 } else if (!rendererForFirstLineStyle->isAnonymous() && rendererForFirstLine Style->isRenderInline()) { | 2658 } else if (!rendererForFirstLineStyle->isAnonymous() && rendererForFirstLine Style->isRenderInline() |
| 2659 && (!rendererForFirstLineStyle->node() || !rendererForFirstLineStyle->no de()->isFirstLetterPseudoElement())) { | |
|
Julien - ping for review
2014/10/09 18:24:48
rendererForFirstLineStyle->node() will only return
dsinclair
2014/10/09 21:14:22
Done.
| |
| 2660 | |
| 2659 RenderStyle* parentStyle = rendererForFirstLineStyle->parent()->firstLin eStyle(); | 2661 RenderStyle* parentStyle = rendererForFirstLineStyle->parent()->firstLin eStyle(); |
| 2660 if (parentStyle != rendererForFirstLineStyle->parent()->style()) { | 2662 if (parentStyle != rendererForFirstLineStyle->parent()->style()) { |
| 2661 if (type == Cached) { | 2663 if (type == Cached) { |
| 2662 // A first-line style is in effect. Cache a first-line style for ourselves. | 2664 // A first-line style is in effect. Cache a first-line style for ourselves. |
| 2663 rendererForFirstLineStyle->style()->setHasPseudoStyle(FIRST_LINE _INHERITED); | 2665 rendererForFirstLineStyle->style()->setHasPseudoStyle(FIRST_LINE _INHERITED); |
| 2664 return rendererForFirstLineStyle->getCachedPseudoStyle(FIRST_LIN E_INHERITED, parentStyle); | 2666 return rendererForFirstLineStyle->getCachedPseudoStyle(FIRST_LIN E_INHERITED, parentStyle); |
| 2665 } | 2667 } |
| 2666 return rendererForFirstLineStyle->getUncachedPseudoStyle(PseudoStyle Request(FIRST_LINE_INHERITED), parentStyle, style); | 2668 return rendererForFirstLineStyle->getUncachedPseudoStyle(PseudoStyle Request(FIRST_LINE_INHERITED), parentStyle, style); |
| 2667 } | 2669 } |
| 2668 } | 2670 } |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3173 { | 3175 { |
| 3174 if (object1) { | 3176 if (object1) { |
| 3175 const blink::RenderObject* root = object1; | 3177 const blink::RenderObject* root = object1; |
| 3176 while (root->parent()) | 3178 while (root->parent()) |
| 3177 root = root->parent(); | 3179 root = root->parent(); |
| 3178 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3180 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
| 3179 } | 3181 } |
| 3180 } | 3182 } |
| 3181 | 3183 |
| 3182 #endif | 3184 #endif |
| OLD | NEW |