OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
3 * | 3 * |
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
5 * | 5 * |
6 * Other contributors: | 6 * Other contributors: |
7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 // Force an update since we know the scrollbars have changed things. | 669 // Force an update since we know the scrollbars have changed things. |
670 if (box().document().hasAnnotatedRegions()) | 670 if (box().document().hasAnnotatedRegions()) |
671 box().document().setAnnotatedRegionsDirty(true); | 671 box().document().setAnnotatedRegionsDirty(true); |
672 | 672 |
673 // Our proprietary overflow: overlay value doesn't trigger a layout. | 673 // Our proprietary overflow: overlay value doesn't trigger a layout. |
674 if ((autoHorizontalScrollBarChanged && box().style()->overflowX() != OOV
ERLAY) || (autoVerticalScrollBarChanged && box().style()->overflowY() != OOVERLA
Y)) { | 674 if ((autoHorizontalScrollBarChanged && box().style()->overflowX() != OOV
ERLAY) || (autoVerticalScrollBarChanged && box().style()->overflowY() != OOVERLA
Y)) { |
675 if (!m_inOverflowRelayout) { | 675 if (!m_inOverflowRelayout) { |
676 m_inOverflowRelayout = true; | 676 m_inOverflowRelayout = true; |
677 SubtreeLayoutScope layoutScope(box()); | 677 SubtreeLayoutScope layoutScope(box()); |
678 layoutScope.setNeedsLayout(&box(), LayoutInvalidationReason::Scr
ollbarChanged); | 678 layoutScope.setNeedsLayout(&box(), LayoutInvalidationReason::Scr
ollbarChanged); |
679 // TODO(wangxianzhu): Remove the following statement when paint
invalidation | |
680 // can detect client box changes. crbug.com/560418. | |
681 box().setShouldDoFullPaintInvalidation(); | |
682 if (box().isLayoutBlock()) { | 679 if (box().isLayoutBlock()) { |
683 LayoutBlock& block = toLayoutBlock(box()); | 680 LayoutBlock& block = toLayoutBlock(box()); |
684 block.scrollbarsChanged(autoHorizontalScrollBarChanged, auto
VerticalScrollBarChanged); | 681 block.scrollbarsChanged(autoHorizontalScrollBarChanged, auto
VerticalScrollBarChanged); |
685 block.layoutBlock(true); | 682 block.layoutBlock(true); |
686 } else { | 683 } else { |
687 box().layout(); | 684 box().layout(); |
688 } | 685 } |
689 m_inOverflowRelayout = false; | 686 m_inOverflowRelayout = false; |
690 } | 687 } |
691 } | 688 } |
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1518 } | 1515 } |
1519 | 1516 |
1520 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) | 1517 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) |
1521 { | 1518 { |
1522 visitor->trace(m_scrollableArea); | 1519 visitor->trace(m_scrollableArea); |
1523 visitor->trace(m_hBar); | 1520 visitor->trace(m_hBar); |
1524 visitor->trace(m_vBar); | 1521 visitor->trace(m_vBar); |
1525 } | 1522 } |
1526 | 1523 |
1527 } // namespace blink | 1524 } // namespace blink |
OLD | NEW |