OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights |
3 * reserved. | 3 * reserved. |
4 * | 4 * |
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
6 * | 6 * |
7 * Other contributors: | 7 * Other contributors: |
8 * Robert O'Callahan <roc+@cs.cmu.edu> | 8 * Robert O'Callahan <roc+@cs.cmu.edu> |
9 * David Baron <dbaron@fas.harvard.edu> | 9 * David Baron <dbaron@fas.harvard.edu> |
10 * Christian Biesinger <cbiesinger@gmail.com> | 10 * Christian Biesinger <cbiesinger@gmail.com> |
(...skipping 1805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1816 !background_supports_lcd_text) { | 1816 !background_supports_lcd_text) { |
1817 if (layer->CompositesWithOpacity()) { | 1817 if (layer->CompositesWithOpacity()) { |
1818 non_composited_main_thread_scrolling_reasons_ |= | 1818 non_composited_main_thread_scrolling_reasons_ |= |
1819 MainThreadScrollingReason::kHasOpacityAndLCDText; | 1819 MainThreadScrollingReason::kHasOpacityAndLCDText; |
1820 } | 1820 } |
1821 if (layer->CompositesWithTransform()) { | 1821 if (layer->CompositesWithTransform()) { |
1822 non_composited_main_thread_scrolling_reasons_ |= | 1822 non_composited_main_thread_scrolling_reasons_ |= |
1823 MainThreadScrollingReason::kHasTransformAndLCDText; | 1823 MainThreadScrollingReason::kHasTransformAndLCDText; |
1824 } | 1824 } |
1825 if (!layer->BackgroundIsKnownToBeOpaqueInRect( | 1825 if (!layer->BackgroundIsKnownToBeOpaqueInRect( |
1826 ToLayoutBox(layer->GetLayoutObject()).PaddingBoxRect())) { | 1826 ToLayoutBox(layer->GetLayoutObject()).PaddingBoxRect(), |
| 1827 &non_composited_main_thread_scrolling_reasons_)) { |
1827 non_composited_main_thread_scrolling_reasons_ |= | 1828 non_composited_main_thread_scrolling_reasons_ |= |
1828 MainThreadScrollingReason::kBackgroundNotOpaqueInRectAndLCDText; | 1829 MainThreadScrollingReason::kBackgroundNotOpaqueInRectAndLCDText; |
1829 } | 1830 } |
| 1831 if (!layer->GetLayoutObject().Style()->IsStackingContext()) { |
| 1832 non_composited_main_thread_scrolling_reasons_ |= |
| 1833 MainThreadScrollingReason::kIsNotStackingContextAndLCDText; |
| 1834 } |
1830 | 1835 |
1831 needs_composited_scrolling = false; | 1836 needs_composited_scrolling = false; |
1832 } | 1837 } |
1833 | 1838 |
1834 // TODO(schenney) Tests fail if we do not also exclude | 1839 // TODO(schenney) Tests fail if we do not also exclude |
1835 // layer->layoutObject().style()->hasBorderDecoration() (missing background | 1840 // layer->layoutObject().style()->hasBorderDecoration() (missing background |
1836 // behind dashed borders). Resolve this case, or not, and update this check | 1841 // behind dashed borders). Resolve this case, or not, and update this check |
1837 // with the results. | 1842 // with the results. |
1838 if (layer->GetLayoutObject().Style()->HasBorderRadius()) { | 1843 if (layer->GetLayoutObject().Style()->HasBorderRadius()) { |
1839 non_composited_main_thread_scrolling_reasons_ |= | 1844 non_composited_main_thread_scrolling_reasons_ |= |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2124 | 2129 |
2125 void PaintLayerScrollableArea::DelayScrollOffsetClampScope:: | 2130 void PaintLayerScrollableArea::DelayScrollOffsetClampScope:: |
2126 ClampScrollableAreas() { | 2131 ClampScrollableAreas() { |
2127 for (auto& scrollable_area : *needs_clamp_) | 2132 for (auto& scrollable_area : *needs_clamp_) |
2128 scrollable_area->ClampScrollOffsetAfterOverflowChange(); | 2133 scrollable_area->ClampScrollOffsetAfterOverflowChange(); |
2129 delete needs_clamp_; | 2134 delete needs_clamp_; |
2130 needs_clamp_ = nullptr; | 2135 needs_clamp_ = nullptr; |
2131 } | 2136 } |
2132 | 2137 |
2133 } // namespace blink | 2138 } // namespace blink |
OLD | NEW |