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 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 bool RenderObject::isLegend() const | 261 bool RenderObject::isLegend() const |
262 { | 262 { |
263 return node() && node()->hasTagName(legendTag); | 263 return node() && node()->hasTagName(legendTag); |
264 } | 264 } |
265 | 265 |
266 bool RenderObject::isHTMLMarquee() const | 266 bool RenderObject::isHTMLMarquee() const |
267 { | 267 { |
268 return node() && node()->renderer() == this && node()->hasTagName(marqueeTag
); | 268 return node() && node()->renderer() == this && node()->hasTagName(marqueeTag
); |
269 } | 269 } |
270 | 270 |
| 271 static bool isBeforeAfterContentGeneratedByAncestor(RenderObject* renderer, Rend
erObject* beforeAfterContent) |
| 272 { |
| 273 while (renderer) { |
| 274 if (renderer->generatingNode() == beforeAfterContent->generatingNode()) |
| 275 return true; |
| 276 renderer = renderer->parent(); |
| 277 } |
| 278 return false; |
| 279 } |
| 280 |
271 void RenderObject::addChild(RenderObject* newChild, RenderObject* beforeChild) | 281 void RenderObject::addChild(RenderObject* newChild, RenderObject* beforeChild) |
272 { | 282 { |
273 RenderObjectChildList* children = virtualChildren(); | 283 RenderObjectChildList* children = virtualChildren(); |
274 ASSERT(children); | 284 ASSERT(children); |
275 if (!children) | 285 if (!children) |
276 return; | 286 return; |
277 | 287 |
278 RenderObject* beforeContent = 0; | 288 RenderObject* beforeContent = 0; |
279 bool beforeChildHasBeforeAndAfterContent = false; | 289 bool beforeChildHasBeforeAndAfterContent = false; |
280 if (beforeChild && (beforeChild->isTable() || beforeChild->isTableSection()
|| beforeChild->isTableRow() || beforeChild->isTableCell())) { | 290 if (beforeChild && (beforeChild->isTable() || beforeChild->isTableSection()
|| beforeChild->isTableRow() || beforeChild->isTableCell())) { |
281 beforeContent = beforeChild->findBeforeContentRenderer(); | 291 beforeContent = beforeChild->beforePseudoElementRenderer(); |
282 RenderObject* afterContent = beforeChild->findAfterContentRenderer(); | 292 RenderObject* afterContent = beforeChild->afterPseudoElementRenderer(); |
283 if (beforeContent && afterContent) { | 293 if (beforeContent && afterContent && isBeforeAfterContentGeneratedByAnce
stor(this, beforeContent)) { |
284 beforeChildHasBeforeAndAfterContent = true; | 294 beforeChildHasBeforeAndAfterContent = true; |
285 beforeContent->destroy(); | 295 beforeContent->destroy(); |
286 } | 296 } |
287 } | 297 } |
288 | 298 |
289 bool needsTable = false; | 299 bool needsTable = false; |
290 | 300 |
291 if (newChild->isTableCol() && newChild->style()->display() == TABLE_COLUMN_G
ROUP) | 301 if (newChild->isTableCol() && newChild->style()->display() == TABLE_COLUMN_G
ROUP) |
292 needsTable = !isTable(); | 302 needsTable = !isTable(); |
293 else if (newChild->isRenderBlock() && newChild->style()->display() == TABLE_
CAPTION) | 303 else if (newChild->isRenderBlock() && newChild->style()->display() == TABLE_
CAPTION) |
(...skipping 2489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2783 { | 2793 { |
2784 if (object1) { | 2794 if (object1) { |
2785 const WebCore::RenderObject* root = object1; | 2795 const WebCore::RenderObject* root = object1; |
2786 while (root->parent()) | 2796 while (root->parent()) |
2787 root = root->parent(); | 2797 root = root->parent(); |
2788 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 2798 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
2789 } | 2799 } |
2790 } | 2800 } |
2791 | 2801 |
2792 #endif | 2802 #endif |
OLD | NEW |