| 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 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 | 706 |
| 707 static inline bool objectIsRelayoutBoundary(const LayoutObject* object) | 707 static inline bool objectIsRelayoutBoundary(const LayoutObject* object) |
| 708 { | 708 { |
| 709 // FIXME: In future it may be possible to broaden these conditions in order
to improve performance. | 709 // FIXME: In future it may be possible to broaden these conditions in order
to improve performance. |
| 710 if (object->isTextControl()) | 710 if (object->isTextControl()) |
| 711 return true; | 711 return true; |
| 712 | 712 |
| 713 if (object->isSVGRoot()) | 713 if (object->isSVGRoot()) |
| 714 return true; | 714 return true; |
| 715 | 715 |
| 716 // Table parts can't be relayout roots since the table is responsible for la
youting all the parts. |
| 717 if (object->isTablePart()) |
| 718 return false; |
| 719 |
| 716 if (object->style()->containsLayout() && object->style()->containsSize()) | 720 if (object->style()->containsLayout() && object->style()->containsSize()) |
| 717 return true; | 721 return true; |
| 718 | 722 |
| 719 if (!object->hasOverflowClip()) | 723 if (!object->hasOverflowClip()) |
| 720 return false; | 724 return false; |
| 721 | 725 |
| 722 if (object->style()->width().isIntrinsicOrAuto() || object->style()->height(
).isIntrinsicOrAuto() || object->style()->height().hasPercent()) | 726 if (object->style()->width().isIntrinsicOrAuto() || object->style()->height(
).isIntrinsicOrAuto() || object->style()->height().hasPercent()) |
| 723 return false; | 727 return false; |
| 724 | 728 |
| 725 // Table parts can't be relayout roots since the table is responsible for la
youting all the parts. | |
| 726 if (object->isTablePart()) | |
| 727 return false; | |
| 728 | |
| 729 // Scrollbar parts can be removed during layout. Avoid the complexity of hav
ing to deal with that. | 729 // Scrollbar parts can be removed during layout. Avoid the complexity of hav
ing to deal with that. |
| 730 if (object->isLayoutScrollbarPart()) | 730 if (object->isLayoutScrollbarPart()) |
| 731 return false; | 731 return false; |
| 732 | 732 |
| 733 // Inside multicol it's generally problematic to allow relayout roots. The m
ulticol container | 733 // Inside multicol it's generally problematic to allow relayout roots. The m
ulticol container |
| 734 // itself may be scheduled for relayout as well (due to other changes that m
ay have happened | 734 // itself may be scheduled for relayout as well (due to other changes that m
ay have happened |
| 735 // since the previous layout pass), which might affect the column heights, w
hich may affect how | 735 // since the previous layout pass), which might affect the column heights, w
hich may affect how |
| 736 // this object breaks across columns). Spanners may also have been added or
removed since the | 736 // this object breaks across columns). Spanners may also have been added or
removed since the |
| 737 // previous layout pass, which is just another way of affecting the column h
eights (and the | 737 // previous layout pass, which is just another way of affecting the column h
eights (and the |
| 738 // number of rows). Instead of identifying cases where it's safe to allow re
layout roots, just | 738 // number of rows). Instead of identifying cases where it's safe to allow re
layout roots, just |
| (...skipping 2948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3687 const blink::LayoutObject* root = object1; | 3687 const blink::LayoutObject* root = object1; |
| 3688 while (root->parent()) | 3688 while (root->parent()) |
| 3689 root = root->parent(); | 3689 root = root->parent(); |
| 3690 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); | 3690 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); |
| 3691 } else { | 3691 } else { |
| 3692 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); | 3692 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); |
| 3693 } | 3693 } |
| 3694 } | 3694 } |
| 3695 | 3695 |
| 3696 #endif | 3696 #endif |
| OLD | NEW |