| 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 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 return 0; | 585 return 0; |
| 586 } | 586 } |
| 587 | 587 |
| 588 RenderBlock* RenderObject::firstLineBlock() const | 588 RenderBlock* RenderObject::firstLineBlock() const |
| 589 { | 589 { |
| 590 return 0; | 590 return 0; |
| 591 } | 591 } |
| 592 | 592 |
| 593 static inline bool objectIsRelayoutBoundary(const RenderObject* object) | 593 static inline bool objectIsRelayoutBoundary(const RenderObject* object) |
| 594 { | 594 { |
| 595 // FIXME: In future it may be possible to broaden this condition in order to
improve performance. | 595 // FIXME: In future it may be possible to broaden these conditions in order
to improve performance. |
| 596 // Table cells are excluded because even when their CSS height is fixed, the
ir height() | 596 if (object->isTextControl()) |
| 597 // may depend on their contents. | 597 return true; |
| 598 return object->isTextControl() | 598 |
| 599 #if ENABLE(SVG) | 599 #if ENABLE(SVG) |
| 600 || object->isSVGRoot() | 600 if (object->isSVGRoot()) |
| 601 return true; |
| 601 #endif | 602 #endif |
| 602 || (object->hasOverflowClip() && !object->style()->width().isIntrinsicOr
Auto() && !object->style()->height().isIntrinsicOrAuto() && !object->style()->he
ight().isPercent() && !object->isTableCell()); | 603 |
| 604 if (!object->hasOverflowClip()) |
| 605 return false; |
| 606 |
| 607 if (object->style()->width().isIntrinsicOrAuto() || object->style()->height(
).isIntrinsicOrAuto() || object->style()->height().isPercent()) |
| 608 return false; |
| 609 |
| 610 // Table parts can't be relayout roots since the table is responsible for la
youting all the parts. |
| 611 if (object->isTablePart()) |
| 612 return false; |
| 613 |
| 614 return true; |
| 603 } | 615 } |
| 604 | 616 |
| 605 void RenderObject::markContainingBlocksForLayout(bool scheduleRelayout, RenderOb
ject* newRoot) | 617 void RenderObject::markContainingBlocksForLayout(bool scheduleRelayout, RenderOb
ject* newRoot) |
| 606 { | 618 { |
| 607 ASSERT(!scheduleRelayout || !newRoot); | 619 ASSERT(!scheduleRelayout || !newRoot); |
| 608 | 620 |
| 609 RenderObject* object = container(); | 621 RenderObject* object = container(); |
| 610 RenderObject* last = this; | 622 RenderObject* last = this; |
| 611 | 623 |
| 612 bool simplifiedNormalFlowLayout = needsSimplifiedNormalFlowLayout() && !self
NeedsLayout() && !normalChildNeedsLayout(); | 624 bool simplifiedNormalFlowLayout = needsSimplifiedNormalFlowLayout() && !self
NeedsLayout() && !normalChildNeedsLayout(); |
| (...skipping 2324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2937 { | 2949 { |
| 2938 if (object1) { | 2950 if (object1) { |
| 2939 const WebCore::RenderObject* root = object1; | 2951 const WebCore::RenderObject* root = object1; |
| 2940 while (root->parent()) | 2952 while (root->parent()) |
| 2941 root = root->parent(); | 2953 root = root->parent(); |
| 2942 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 2954 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
| 2943 } | 2955 } |
| 2944 } | 2956 } |
| 2945 | 2957 |
| 2946 #endif | 2958 #endif |
| OLD | NEW |