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 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 bool LayoutObject::skipInvalidationWhenLaidOutChildren() const | 629 bool LayoutObject::skipInvalidationWhenLaidOutChildren() const |
630 { | 630 { |
631 if (!neededLayoutBecauseOfChildren()) | 631 if (!neededLayoutBecauseOfChildren()) |
632 return false; | 632 return false; |
633 | 633 |
634 // SVG renderers need to be invalidated when their children are laid out. | 634 // SVG renderers need to be invalidated when their children are laid out. |
635 // RenderBlocks with line boxes are responsible to invalidate them so we can
't ignore them. | 635 // RenderBlocks with line boxes are responsible to invalidate them so we can
't ignore them. |
636 if (isSVG() || (isRenderBlockFlow() && toRenderBlockFlow(this)->firstLineBox
())) | 636 if (isSVG() || (isRenderBlockFlow() && toRenderBlockFlow(this)->firstLineBox
())) |
637 return false; | 637 return false; |
638 | 638 |
| 639 // In case scrollbars got repositioned (which will typically happen if the l
ayout object got |
| 640 // resized), we cannot skip invalidation. |
| 641 if (hasNonCompositedScrollbars()) |
| 642 return false; |
| 643 |
639 return rendererHasNoBoxEffect(); | 644 return rendererHasNoBoxEffect(); |
640 } | 645 } |
641 | 646 |
642 RenderBlock* LayoutObject::firstLineBlock() const | 647 RenderBlock* LayoutObject::firstLineBlock() const |
643 { | 648 { |
644 return 0; | 649 return 0; |
645 } | 650 } |
646 | 651 |
647 static inline bool objectIsRelayoutBoundary(const LayoutObject* object) | 652 static inline bool objectIsRelayoutBoundary(const LayoutObject* object) |
648 { | 653 { |
(...skipping 2535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3184 { | 3189 { |
3185 if (object1) { | 3190 if (object1) { |
3186 const blink::LayoutObject* root = object1; | 3191 const blink::LayoutObject* root = object1; |
3187 while (root->parent()) | 3192 while (root->parent()) |
3188 root = root->parent(); | 3193 root = root->parent(); |
3189 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3194 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
3190 } | 3195 } |
3191 } | 3196 } |
3192 | 3197 |
3193 #endif | 3198 #endif |
OLD | NEW |