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(); |
679 if (box().isLayoutBlock()) { | 682 if (box().isLayoutBlock()) { |
680 LayoutBlock& block = toLayoutBlock(box()); | 683 LayoutBlock& block = toLayoutBlock(box()); |
681 block.scrollbarsChanged(autoHorizontalScrollBarChanged, auto
VerticalScrollBarChanged); | 684 block.scrollbarsChanged(autoHorizontalScrollBarChanged, auto
VerticalScrollBarChanged); |
682 block.layoutBlock(true); | 685 block.layoutBlock(true); |
683 } else { | 686 } else { |
684 box().layout(); | 687 box().layout(); |
685 } | 688 } |
686 m_inOverflowRelayout = false; | 689 m_inOverflowRelayout = false; |
687 } | 690 } |
688 } | 691 } |
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1515 } | 1518 } |
1516 | 1519 |
1517 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) | 1520 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) |
1518 { | 1521 { |
1519 visitor->trace(m_scrollableArea); | 1522 visitor->trace(m_scrollableArea); |
1520 visitor->trace(m_hBar); | 1523 visitor->trace(m_hBar); |
1521 visitor->trace(m_vBar); | 1524 visitor->trace(m_vBar); |
1522 } | 1525 } |
1523 | 1526 |
1524 } // namespace blink | 1527 } // namespace blink |
OLD | NEW |