Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(531)

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp

Issue 2841603003: Record non-stacking-context as main thread scrolling reasons (Closed)
Patch Set: Only keep the NonStackingContext reason Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1834 matching lines...) Expand 10 before | Expand all | Expand 10 after
1845 } 1845 }
1846 if (layer->CompositesWithTransform()) { 1846 if (layer->CompositesWithTransform()) {
1847 non_composited_main_thread_scrolling_reasons_ |= 1847 non_composited_main_thread_scrolling_reasons_ |=
1848 MainThreadScrollingReason::kHasTransformAndLCDText; 1848 MainThreadScrollingReason::kHasTransformAndLCDText;
1849 } 1849 }
1850 if (!layer->BackgroundIsKnownToBeOpaqueInRect( 1850 if (!layer->BackgroundIsKnownToBeOpaqueInRect(
1851 ToLayoutBox(layer->GetLayoutObject()).PaddingBoxRect())) { 1851 ToLayoutBox(layer->GetLayoutObject()).PaddingBoxRect())) {
1852 non_composited_main_thread_scrolling_reasons_ |= 1852 non_composited_main_thread_scrolling_reasons_ |=
1853 MainThreadScrollingReason::kBackgroundNotOpaqueInRectAndLCDText; 1853 MainThreadScrollingReason::kBackgroundNotOpaqueInRectAndLCDText;
1854 } 1854 }
1855 if (!layer->GetLayoutObject().Style()->IsStackingContext()) {
1856 non_composited_main_thread_scrolling_reasons_ |=
1857 MainThreadScrollingReason::kIsNotStackingContextAndLCDText;
1858 }
1855 1859
1856 needs_composited_scrolling = false; 1860 needs_composited_scrolling = false;
1857 } 1861 }
1858 1862
1859 // TODO(schenney) Tests fail if we do not also exclude 1863 // TODO(schenney) Tests fail if we do not also exclude
1860 // layer->layoutObject().style()->hasBorderDecoration() (missing background 1864 // layer->layoutObject().style()->hasBorderDecoration() (missing background
1861 // behind dashed borders). Resolve this case, or not, and update this check 1865 // behind dashed borders). Resolve this case, or not, and update this check
1862 // with the results. 1866 // with the results.
1863 if (layer->GetLayoutObject().Style()->HasBorderRadius()) { 1867 if (layer->GetLayoutObject().Style()->HasBorderRadius()) {
1864 non_composited_main_thread_scrolling_reasons_ |= 1868 non_composited_main_thread_scrolling_reasons_ |=
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
2149 2153
2150 void PaintLayerScrollableArea::DelayScrollOffsetClampScope:: 2154 void PaintLayerScrollableArea::DelayScrollOffsetClampScope::
2151 ClampScrollableAreas() { 2155 ClampScrollableAreas() {
2152 for (auto& scrollable_area : *needs_clamp_) 2156 for (auto& scrollable_area : *needs_clamp_)
2153 scrollable_area->ClampScrollOffsetAfterOverflowChange(); 2157 scrollable_area->ClampScrollOffsetAfterOverflowChange();
2154 delete needs_clamp_; 2158 delete needs_clamp_;
2155 needs_clamp_ = nullptr; 2159 needs_clamp_ = nullptr;
2156 } 2160 }
2157 2161
2158 } // namespace blink 2162 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698