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 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 // Force an update since we know the scrollbars have changed things. | 670 // Force an update since we know the scrollbars have changed things. |
671 if (box().document().hasAnnotatedRegions()) | 671 if (box().document().hasAnnotatedRegions()) |
672 box().document().setAnnotatedRegionsDirty(true); | 672 box().document().setAnnotatedRegionsDirty(true); |
673 | 673 |
674 // Our proprietary overflow: overlay value doesn't trigger a layout. | 674 // Our proprietary overflow: overlay value doesn't trigger a layout. |
675 if ((autoHorizontalScrollBarChanged && box().style()->overflowX() != OOV
ERLAY) || (autoVerticalScrollBarChanged && box().style()->overflowY() != OOVERLA
Y)) { | 675 if ((autoHorizontalScrollBarChanged && box().style()->overflowX() != OOV
ERLAY) || (autoVerticalScrollBarChanged && box().style()->overflowY() != OOVERLA
Y)) { |
676 if (!m_inOverflowRelayout) { | 676 if (!m_inOverflowRelayout) { |
677 m_inOverflowRelayout = true; | 677 m_inOverflowRelayout = true; |
678 SubtreeLayoutScope layoutScope(box()); | 678 SubtreeLayoutScope layoutScope(box()); |
679 layoutScope.setNeedsLayout(&box(), LayoutInvalidationReason::Scr
ollbarChanged); | 679 layoutScope.setNeedsLayout(&box(), LayoutInvalidationReason::Scr
ollbarChanged); |
680 // TODO(wangxianzhu): Remove the following statement when paint
invalidation | |
681 // can detect client box changes. crbug.com/560418. | |
682 box().setShouldDoFullPaintInvalidation(); | |
683 if (box().isLayoutBlock()) { | 680 if (box().isLayoutBlock()) { |
684 LayoutBlock& block = toLayoutBlock(box()); | 681 LayoutBlock& block = toLayoutBlock(box()); |
685 block.scrollbarsChanged(autoHorizontalScrollBarChanged, auto
VerticalScrollBarChanged); | 682 block.scrollbarsChanged(autoHorizontalScrollBarChanged, auto
VerticalScrollBarChanged); |
686 block.layoutBlock(true); | 683 block.layoutBlock(true); |
687 } else { | 684 } else { |
688 box().layout(); | 685 box().layout(); |
689 } | 686 } |
690 m_inOverflowRelayout = false; | 687 m_inOverflowRelayout = false; |
691 } | 688 } |
692 } | 689 } |
(...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1525 } | 1522 } |
1526 | 1523 |
1527 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) | 1524 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) |
1528 { | 1525 { |
1529 visitor->trace(m_scrollableArea); | 1526 visitor->trace(m_scrollableArea); |
1530 visitor->trace(m_hBar); | 1527 visitor->trace(m_hBar); |
1531 visitor->trace(m_vBar); | 1528 visitor->trace(m_vBar); |
1532 } | 1529 } |
1533 | 1530 |
1534 } // namespace blink | 1531 } // namespace blink |
OLD | NEW |