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 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
626 | 626 |
627 bool simplifiedNormalFlowLayout = needsSimplifiedNormalFlowLayout() && !self
NeedsLayout() && !normalChildNeedsLayout(); | 627 bool simplifiedNormalFlowLayout = needsSimplifiedNormalFlowLayout() && !self
NeedsLayout() && !normalChildNeedsLayout(); |
628 | 628 |
629 while (object) { | 629 while (object) { |
630 // Don't mark the outermost object of an unrooted subtree. That object w
ill be | 630 // Don't mark the outermost object of an unrooted subtree. That object w
ill be |
631 // marked when the subtree is added to the document. | 631 // marked when the subtree is added to the document. |
632 RenderObject* container = object->container(); | 632 RenderObject* container = object->container(); |
633 if (!container && !object->isRenderView()) | 633 if (!container && !object->isRenderView()) |
634 return; | 634 return; |
635 if (!last->isText() && last->style()->isPositioned()) { | 635 if (!last->isText() && last->style()->isPositioned()) { |
636 bool willSkipRelativelyPositionedInlines = !object->isRenderBlock(); | 636 bool willSkipRelativelyPositionedInlines = !object->isRenderBlock()
|| object->isAnonymousBlock(); |
637 while (object && !object->isRenderBlock()) // Skip relatively positi
oned inlines and get to the enclosing RenderBlock. | 637 // Skip relatively positioned inlines and anonymous blocks to get to
the enclosing RenderBlock. |
| 638 while (object && (!object->isRenderBlock() || object->isAnonymousBlo
ck())) |
638 object = object->container(); | 639 object = object->container(); |
639 if (!object || object->posChildNeedsLayout()) | 640 if (!object || object->posChildNeedsLayout()) |
640 return; | 641 return; |
641 if (willSkipRelativelyPositionedInlines) | 642 if (willSkipRelativelyPositionedInlines) |
642 container = object->container(); | 643 container = object->container(); |
643 object->setPosChildNeedsLayout(true); | 644 object->setPosChildNeedsLayout(true); |
644 simplifiedNormalFlowLayout = true; | 645 simplifiedNormalFlowLayout = true; |
645 ASSERT(!object->isSetNeedsLayoutForbidden()); | 646 ASSERT(!object->isSetNeedsLayoutForbidden()); |
646 } else if (simplifiedNormalFlowLayout) { | 647 } else if (simplifiedNormalFlowLayout) { |
647 if (object->needsSimplifiedNormalFlowLayout()) | 648 if (object->needsSimplifiedNormalFlowLayout()) |
(...skipping 2178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2826 { | 2827 { |
2827 if (object1) { | 2828 if (object1) { |
2828 const WebCore::RenderObject* root = object1; | 2829 const WebCore::RenderObject* root = object1; |
2829 while (root->parent()) | 2830 while (root->parent()) |
2830 root = root->parent(); | 2831 root = root->parent(); |
2831 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 2832 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
2832 } | 2833 } |
2833 } | 2834 } |
2834 | 2835 |
2835 #endif | 2836 #endif |
OLD | NEW |