| 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. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. |
| 7 * All rights reserved. | 7 * All rights reserved. |
| 8 * Copyright (C) 2009 Google Inc. All rights reserved. | 8 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. | 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. |
| 10 * (http://www.torchmobile.com/) | 10 * (http://www.torchmobile.com/) |
| (...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 // LayoutInline can't be relayout roots since LayoutBlockFlow is responsible | 709 // LayoutInline can't be relayout roots since LayoutBlockFlow is responsible |
| 710 // for layouting them. | 710 // for layouting them. |
| 711 if (object->isLayoutInline()) | 711 if (object->isLayoutInline()) |
| 712 return false; | 712 return false; |
| 713 | 713 |
| 714 // Table parts can't be relayout roots since the table is responsible for | 714 // Table parts can't be relayout roots since the table is responsible for |
| 715 // layouting all the parts. | 715 // layouting all the parts. |
| 716 if (object->isTablePart()) | 716 if (object->isTablePart()) |
| 717 return false; | 717 return false; |
| 718 | 718 |
| 719 if (object->style()->containsLayout() && object->style()->containsSize()) | 719 const ComputedStyle* style = object->style(); |
| 720 if (style->containsLayout() && style->containsSize()) |
| 720 return true; | 721 return true; |
| 721 | 722 |
| 722 if (!object->hasOverflowClip()) | 723 if (!object->hasOverflowClip()) |
| 723 return false; | 724 return false; |
| 724 | 725 |
| 725 if (object->style()->width().isIntrinsicOrAuto() || | 726 // If either dimension is percent-based, intrinsic, or anything but fixed, |
| 726 object->style()->height().isIntrinsicOrAuto() || | 727 // this object cannot form a re-layout boundary. A non-fixed computed logical |
| 727 object->style()->height().isPercentOrCalc()) | 728 // height will allow the object to grow and shrink based on the content |
| 729 // inside. The same goes for for logical width, if this objects is inside a |
| 730 // shrink-to-fit container, for instance. |
| 731 if (!style->width().isFixed() || !style->height().isFixed()) |
| 728 return false; | 732 return false; |
| 729 | 733 |
| 730 // Scrollbar parts can be removed during layout. Avoid the complexity of | 734 // Scrollbar parts can be removed during layout. Avoid the complexity of |
| 731 // having to deal with that. | 735 // having to deal with that. |
| 732 if (object->isLayoutScrollbarPart()) | 736 if (object->isLayoutScrollbarPart()) |
| 733 return false; | 737 return false; |
| 734 | 738 |
| 735 // In general we can't relayout a flex item independently of its container; | 739 // In general we can't relayout a flex item independently of its container; |
| 736 // not only is the result incorrect due to the override size that's set, it | 740 // not only is the result incorrect due to the override size that's set, it |
| 737 // also messes with the cached main size on the flexbox. | 741 // also messes with the cached main size on the flexbox. |
| (...skipping 2770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3508 const blink::LayoutObject* root = object1; | 3512 const blink::LayoutObject* root = object1; |
| 3509 while (root->parent()) | 3513 while (root->parent()) |
| 3510 root = root->parent(); | 3514 root = root->parent(); |
| 3511 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); | 3515 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); |
| 3512 } else { | 3516 } else { |
| 3513 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); | 3517 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); |
| 3514 } | 3518 } |
| 3515 } | 3519 } |
| 3516 | 3520 |
| 3517 #endif | 3521 #endif |
| OLD | NEW |