| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 3 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 | 110 |
| 111 if (oldChild->isListItem()) | 111 if (oldChild->isListItem()) |
| 112 toRenderListItem(oldChild)->updateListMarkerNumbers(); | 112 toRenderListItem(oldChild)->updateListMarkerNumbers(); |
| 113 | 113 |
| 114 if (oldChild->isOutOfFlowPositioned() && owner->childrenInline()) | 114 if (oldChild->isOutOfFlowPositioned() && owner->childrenInline()) |
| 115 owner->dirtyLinesFromChangedChild(oldChild); | 115 owner->dirtyLinesFromChangedChild(oldChild); |
| 116 | 116 |
| 117 if (oldChild->isRenderRegion()) | 117 if (oldChild->isRenderRegion()) |
| 118 toRenderRegion(oldChild)->detachRegion(); | 118 toRenderRegion(oldChild)->detachRegion(); |
| 119 | 119 |
| 120 if (oldChild->isQuote()) | |
| 121 toRenderQuote(oldChild)->detachQuote(); | |
| 122 | |
| 123 if (oldChild->inRenderFlowThread()) { | 120 if (oldChild->inRenderFlowThread()) { |
| 124 if (oldChild->isBox()) | 121 if (oldChild->isBox()) |
| 125 oldChild->enclosingRenderFlowThread()->removeRenderBoxRegionInfo
(toRenderBox(oldChild)); | 122 oldChild->enclosingRenderFlowThread()->removeRenderBoxRegionInfo
(toRenderBox(oldChild)); |
| 126 oldChild->enclosingRenderFlowThread()->clearRenderObjectCustomStyle(
oldChild); | 123 oldChild->enclosingRenderFlowThread()->clearRenderObjectCustomStyle(
oldChild); |
| 127 } | 124 } |
| 128 | 125 |
| 129 if (RenderNamedFlowThread* containerFlowThread = renderNamedFlowThreadCo
ntainer(owner)) | 126 if (RenderNamedFlowThread* containerFlowThread = renderNamedFlowThreadCo
ntainer(owner)) |
| 130 containerFlowThread->removeFlowChild(oldChild); | 127 containerFlowThread->removeFlowChild(oldChild); |
| 131 | 128 |
| 132 #if ENABLE(SVG) | 129 #if ENABLE(SVG) |
| (...skipping 21 matching lines...) Expand all Loading... |
| 154 setLastChild(oldChild->previousSibling()); | 151 setLastChild(oldChild->previousSibling()); |
| 155 | 152 |
| 156 oldChild->setPreviousSibling(0); | 153 oldChild->setPreviousSibling(0); |
| 157 oldChild->setNextSibling(0); | 154 oldChild->setNextSibling(0); |
| 158 oldChild->setParent(0); | 155 oldChild->setParent(0); |
| 159 | 156 |
| 160 // rendererRemovedFromTree walks the whole subtree. We can improve performan
ce | 157 // rendererRemovedFromTree walks the whole subtree. We can improve performan
ce |
| 161 // by skipping this step when destroying the entire tree. | 158 // by skipping this step when destroying the entire tree. |
| 162 if (!owner->documentBeingDestroyed()) { | 159 if (!owner->documentBeingDestroyed()) { |
| 163 RenderCounter::rendererRemovedFromTree(oldChild); | 160 RenderCounter::rendererRemovedFromTree(oldChild); |
| 161 RenderQuote::rendererRemovedFromTree(oldChild); |
| 164 } | 162 } |
| 165 | 163 |
| 166 if (AXObjectCache::accessibilityEnabled()) | 164 if (AXObjectCache::accessibilityEnabled()) |
| 167 owner->document()->axObjectCache()->childrenChanged(owner); | 165 owner->document()->axObjectCache()->childrenChanged(owner); |
| 168 | 166 |
| 169 return oldChild; | 167 return oldChild; |
| 170 } | 168 } |
| 171 | 169 |
| 172 void RenderObjectChildList::appendChildNode(RenderObject* owner, RenderObject* n
ewChild, bool fullAppend) | 170 void RenderObjectChildList::appendChildNode(RenderObject* owner, RenderObject* n
ewChild, bool fullAppend) |
| 173 { | 171 { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 | 203 |
| 206 if (newChild->isListItem()) | 204 if (newChild->isListItem()) |
| 207 toRenderListItem(newChild)->updateListMarkerNumbers(); | 205 toRenderListItem(newChild)->updateListMarkerNumbers(); |
| 208 | 206 |
| 209 if (!newChild->isFloating() && owner->childrenInline()) | 207 if (!newChild->isFloating() && owner->childrenInline()) |
| 210 owner->dirtyLinesFromChangedChild(newChild); | 208 owner->dirtyLinesFromChangedChild(newChild); |
| 211 | 209 |
| 212 if (newChild->isRenderRegion()) | 210 if (newChild->isRenderRegion()) |
| 213 toRenderRegion(newChild)->attachRegion(); | 211 toRenderRegion(newChild)->attachRegion(); |
| 214 | 212 |
| 215 // You can't attachQuote() otherwise the quote would be attached too ear
ly | |
| 216 // and get the wrong depth since generated content is inserted into anon
ymous | |
| 217 // renderers before going into the main render tree. | |
| 218 | |
| 219 if (RenderNamedFlowThread* containerFlowThread = renderNamedFlowThreadCo
ntainer(owner)) | 213 if (RenderNamedFlowThread* containerFlowThread = renderNamedFlowThreadCo
ntainer(owner)) |
| 220 containerFlowThread->addFlowChild(newChild); | 214 containerFlowThread->addFlowChild(newChild); |
| 221 } | 215 } |
| 222 | 216 |
| 223 if (!owner->documentBeingDestroyed()) { | 217 if (!owner->documentBeingDestroyed()) { |
| 224 RenderCounter::rendererSubtreeAttached(newChild); | 218 RenderCounter::rendererSubtreeAttached(newChild); |
| 219 RenderQuote::rendererSubtreeAttached(newChild); |
| 225 } | 220 } |
| 226 newChild->setNeedsLayoutAndPrefWidthsRecalc(); // Goes up the containing blo
ck hierarchy. | 221 newChild->setNeedsLayoutAndPrefWidthsRecalc(); // Goes up the containing blo
ck hierarchy. |
| 227 if (!owner->normalChildNeedsLayout()) | 222 if (!owner->normalChildNeedsLayout()) |
| 228 owner->setChildNeedsLayout(true); // We may supply the static position f
or an absolute positioned child. | 223 owner->setChildNeedsLayout(true); // We may supply the static position f
or an absolute positioned child. |
| 229 | 224 |
| 230 if (AXObjectCache::accessibilityEnabled()) | 225 if (AXObjectCache::accessibilityEnabled()) |
| 231 owner->document()->axObjectCache()->childrenChanged(owner); | 226 owner->document()->axObjectCache()->childrenChanged(owner); |
| 232 } | 227 } |
| 233 | 228 |
| 234 void RenderObjectChildList::insertChildNode(RenderObject* owner, RenderObject* c
hild, RenderObject* beforeChild, bool fullInsert) | 229 void RenderObjectChildList::insertChildNode(RenderObject* owner, RenderObject* c
hild, RenderObject* beforeChild, bool fullInsert) |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 | 272 |
| 278 if (child->isListItem()) | 273 if (child->isListItem()) |
| 279 toRenderListItem(child)->updateListMarkerNumbers(); | 274 toRenderListItem(child)->updateListMarkerNumbers(); |
| 280 | 275 |
| 281 if (!child->isFloating() && owner->childrenInline()) | 276 if (!child->isFloating() && owner->childrenInline()) |
| 282 owner->dirtyLinesFromChangedChild(child); | 277 owner->dirtyLinesFromChangedChild(child); |
| 283 | 278 |
| 284 if (child->isRenderRegion()) | 279 if (child->isRenderRegion()) |
| 285 toRenderRegion(child)->attachRegion(); | 280 toRenderRegion(child)->attachRegion(); |
| 286 | 281 |
| 287 // Calling attachQuote() here would be too early (before anonymous rende
rers are inserted) | |
| 288 // see appendChild() for more explanation. | |
| 289 | |
| 290 if (RenderNamedFlowThread* containerFlowThread = renderNamedFlowThreadCo
ntainer(owner)) | 282 if (RenderNamedFlowThread* containerFlowThread = renderNamedFlowThreadCo
ntainer(owner)) |
| 291 containerFlowThread->addFlowChild(child, beforeChild); | 283 containerFlowThread->addFlowChild(child, beforeChild); |
| 292 } | 284 } |
| 293 | 285 |
| 294 if (!owner->documentBeingDestroyed()) { | 286 if (!owner->documentBeingDestroyed()) { |
| 295 RenderCounter::rendererSubtreeAttached(child); | 287 RenderCounter::rendererSubtreeAttached(child); |
| 288 RenderQuote::rendererSubtreeAttached(child); |
| 296 } | 289 } |
| 297 child->setNeedsLayoutAndPrefWidthsRecalc(); | 290 child->setNeedsLayoutAndPrefWidthsRecalc(); |
| 298 if (!owner->normalChildNeedsLayout()) | 291 if (!owner->normalChildNeedsLayout()) |
| 299 owner->setChildNeedsLayout(true); // We may supply the static position f
or an absolute positioned child. | 292 owner->setChildNeedsLayout(true); // We may supply the static position f
or an absolute positioned child. |
| 300 | 293 |
| 301 if (AXObjectCache::accessibilityEnabled()) | 294 if (AXObjectCache::accessibilityEnabled()) |
| 302 owner->document()->axObjectCache()->childrenChanged(owner); | 295 owner->document()->axObjectCache()->childrenChanged(owner); |
| 303 } | 296 } |
| 304 | 297 |
| 305 static RenderObject* findBeforeAfterParent(RenderObject* object) | 298 static RenderObject* findBeforeAfterParent(RenderObject* object) |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 if (!generatedContentContainer) | 570 if (!generatedContentContainer) |
| 578 return; | 571 return; |
| 579 | 572 |
| 580 // Handle placement of run-ins. We do the run-in placement at the end since
generatedContentContainer can get destroyed. | 573 // Handle placement of run-ins. We do the run-in placement at the end since
generatedContentContainer can get destroyed. |
| 581 RenderObject* generatedContentContainerImmediateParent = generatedContentCon
tainer->parent(); | 574 RenderObject* generatedContentContainerImmediateParent = generatedContentCon
tainer->parent(); |
| 582 if (generatedContentContainerImmediateParent->isRenderBlock()) | 575 if (generatedContentContainerImmediateParent->isRenderBlock()) |
| 583 toRenderBlock(generatedContentContainerImmediateParent)->placeRunInIfNee
ded(generatedContentContainer, PlaceGeneratedRunIn); | 576 toRenderBlock(generatedContentContainerImmediateParent)->placeRunInIfNee
ded(generatedContentContainer, PlaceGeneratedRunIn); |
| 584 } | 577 } |
| 585 | 578 |
| 586 } // namespace WebCore | 579 } // namespace WebCore |
| OLD | NEW |