| 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 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 // only do this if we're an inline, since we don't want to propagate | 189 // only do this if we're an inline, since we don't want to propagate |
| 190 // a block's style to the other inlines. | 190 // a block's style to the other inlines. |
| 191 // e.g., <font>foo <h4>goo</h4> moo</font>. The <font> inlines before | 191 // e.g., <font>foo <h4>goo</h4> moo</font>. The <font> inlines before |
| 192 // and after the block share the same style, but the block doesn't | 192 // and after the block share the same style, but the block doesn't |
| 193 // need to pass its style on to anyone else. | 193 // need to pass its style on to anyone else. |
| 194 const LayoutStyle& newStyle = styleRef(); | 194 const LayoutStyle& newStyle = styleRef(); |
| 195 RenderInline* continuation = inlineElementContinuation(); | 195 RenderInline* continuation = inlineElementContinuation(); |
| 196 for (RenderInline* currCont = continuation; currCont; currCont = currCont->i
nlineElementContinuation()) { | 196 for (RenderInline* currCont = continuation; currCont; currCont = currCont->i
nlineElementContinuation()) { |
| 197 RenderBoxModelObject* nextCont = currCont->continuation(); | 197 RenderBoxModelObject* nextCont = currCont->continuation(); |
| 198 currCont->setContinuation(0); | 198 currCont->setContinuation(0); |
| 199 currCont->setStyle(style()); | 199 currCont->setStyle(mutableStyle()); |
| 200 currCont->setContinuation(nextCont); | 200 currCont->setContinuation(nextCont); |
| 201 } | 201 } |
| 202 | 202 |
| 203 // If an inline's outline or in-flow positioning has changed then any descen
dant blocks will need to change their styles accordingly. | 203 // If an inline's outline or in-flow positioning has changed then any descen
dant blocks will need to change their styles accordingly. |
| 204 // Do this by updating the styles of the descendant blocks' containing anony
mous blocks - there may be more than one. | 204 // Do this by updating the styles of the descendant blocks' containing anony
mous blocks - there may be more than one. |
| 205 if (continuation && oldStyle | 205 if (continuation && oldStyle |
| 206 && (!newStyle.isOutlineEquivalent(oldStyle) | 206 && (!newStyle.isOutlineEquivalent(oldStyle) |
| 207 || (newStyle.position() != oldStyle->position() && (newStyle.hasInFl
owPosition() || oldStyle->hasInFlowPosition())))) { | 207 || (newStyle.position() != oldStyle->position() && (newStyle.hasInFl
owPosition() || oldStyle->hasInFlowPosition())))) { |
| 208 // If any descendant blocks exist then they will be in the next anonymou
s block and its siblings. | 208 // If any descendant blocks exist then they will be in the next anonymou
s block and its siblings. |
| 209 LayoutObject* block = containingBlock()->nextSibling(); | 209 LayoutObject* block = containingBlock()->nextSibling(); |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 } | 352 } |
| 353 | 353 |
| 354 RenderBoxModelObject::addChild(newChild, beforeChild); | 354 RenderBoxModelObject::addChild(newChild, beforeChild); |
| 355 | 355 |
| 356 newChild->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); | 356 newChild->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); |
| 357 } | 357 } |
| 358 | 358 |
| 359 RenderInline* RenderInline::clone() const | 359 RenderInline* RenderInline::clone() const |
| 360 { | 360 { |
| 361 RenderInline* cloneInline = new RenderInline(node()); | 361 RenderInline* cloneInline = new RenderInline(node()); |
| 362 cloneInline->setStyle(style()); | 362 cloneInline->setStyle(mutableStyle()); |
| 363 cloneInline->setFlowThreadState(flowThreadState()); | 363 cloneInline->setFlowThreadState(flowThreadState()); |
| 364 return cloneInline; | 364 return cloneInline; |
| 365 } | 365 } |
| 366 | 366 |
| 367 void RenderInline::moveChildrenToIgnoringContinuation(RenderInline* to, LayoutOb
ject* startChild) | 367 void RenderInline::moveChildrenToIgnoringContinuation(RenderInline* to, LayoutOb
ject* startChild) |
| 368 { | 368 { |
| 369 LayoutObject* child = startChild; | 369 LayoutObject* child = startChild; |
| 370 while (child) { | 370 while (child) { |
| 371 LayoutObject* currentChild = child; | 371 LayoutObject* currentChild = child; |
| 372 child = currentChild->nextSibling(); | 372 child = currentChild->nextSibling(); |
| (...skipping 1079 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1452 } | 1452 } |
| 1453 | 1453 |
| 1454 void RenderInline::invalidateDisplayItemClients(DisplayItemList* displayItemList
) const | 1454 void RenderInline::invalidateDisplayItemClients(DisplayItemList* displayItemList
) const |
| 1455 { | 1455 { |
| 1456 RenderBoxModelObject::invalidateDisplayItemClients(displayItemList); | 1456 RenderBoxModelObject::invalidateDisplayItemClients(displayItemList); |
| 1457 for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox()) | 1457 for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox()) |
| 1458 displayItemList->invalidate(box->displayItemClient()); | 1458 displayItemList->invalidate(box->displayItemClient()); |
| 1459 } | 1459 } |
| 1460 | 1460 |
| 1461 } // namespace blink | 1461 } // namespace blink |
| OLD | NEW |