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

Issue 1826013002: Enable compositing for opaque scrolling content on low DPI screens (Closed)

Created:
4 years, 9 months ago by Stephen Chennney
Modified:
4 years, 4 months ago
Reviewers:
flackr, chrishtr
CC:
ajuma, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, eae+blinkwatch, paulirish, pdr+renderingwatchlist_chromium.org, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Enable compositing for opaque scrolling content on low DPI screens If an overflow scroll element has an opaque background color we will consider it for promotion to a composited layer, regardless of the LCD text vs compositing reference. A runtime flag must be enabled on the command line to test and use this feature. It will be removed after we verify stability and fix related bugs. R=flackr, chrishtr BUG=381840 Committed: https://crrev.com/a0abcf517e027c793782d057982d992ae0ea4612 Cr-Commit-Position: refs/heads/master@{#411037}

Patch Set 1 #

Total comments: 1

Patch Set 2 : Retry patch #

Patch Set 3 : Catch more cases #

Patch Set 4 : Fix integral scroll offset #

Patch Set 5 : Do not promote floats #

Patch Set 6 : Fix border issue and move logic to PaintLayerScrollableArea #

Patch Set 7 : Add runtime flag #

Total comments: 6

Patch Set 8 : Disable feature by default, not enabled in dev builds #

Total comments: 9

Patch Set 9 : Fix up integer scroll logic #

Patch Set 10 : Expectations. #

Patch Set 11 : Just the code, no tests #

Patch Set 12 : Add test and TODO for failure mode #

Total comments: 7

Patch Set 13 : Fix date (for real this time) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+98 lines, -6 lines) Patch
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +15 lines, -5 lines 0 comments Download
A third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +34 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +47 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 93 (40 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1826013002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1826013002/1
4 years, 9 months ago (2016-03-23 21:14:48 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/135078)
4 years, 9 months ago (2016-03-23 22:07:29 UTC) #5
paulirish
Very interested in this CL moving forward! What are the next steps here?
4 years, 7 months ago (2016-05-13 08:49:15 UTC) #6
Stephen Chennney
On 2016/05/13 08:49:15, paulirish wrote: > Very interested in this CL moving forward! What are ...
4 years, 7 months ago (2016-05-18 20:16:48 UTC) #7
chrishtr
https://codereview.chromium.org/1826013002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp (right): https://codereview.chromium.org/1826013002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp#newcode39 third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp:39: || !layer->layoutObject()->style()->visitedDependentColor(CSSPropertyBackgroundColor).hasAlpha(); You'll also have to ensure that the ...
4 years, 7 months ago (2016-05-25 15:55:22 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1826013002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1826013002/20001
4 years, 7 months ago (2016-05-25 19:47:19 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/218365)
4 years, 7 months ago (2016-05-25 20:33:55 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1826013002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1826013002/40001
4 years, 6 months ago (2016-05-31 19:16:40 UTC) #15
Stephen Chennney
I've tried to update all the checks for composited scrolling to use the opacity check. ...
4 years, 6 months ago (2016-05-31 19:19:56 UTC) #16
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/168632)
4 years, 6 months ago (2016-05-31 19:41:34 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1826013002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1826013002/60001
4 years, 6 months ago (2016-06-01 19:11:27 UTC) #20
Stephen Chennney
The only change in the latest patch is to remove an illegal compositing state check ...
4 years, 6 months ago (2016-06-01 19:13:59 UTC) #21
chrishtr
On 2016/06/01 at 19:13:59, schenney wrote: > The only change in the latest patch is ...
4 years, 6 months ago (2016-06-01 19:48:22 UTC) #22
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/237153)
4 years, 6 months ago (2016-06-01 20:20:36 UTC) #24
Stephen Chennney
The latest patch fixes issues with floats, but we still have significant failures for fast/overflow/overflow-with-local-background-attachment.html ...
4 years, 6 months ago (2016-06-02 19:42:20 UTC) #25
Stephen Chennney
On 2016/06/02 19:42:20, Stephen Chennney wrote: > The latest patch fixes issues with floats, but ...
4 years, 6 months ago (2016-06-02 20:56:14 UTC) #26
chrishtr
On 2016/06/02 at 20:56:14, schenney wrote: > On 2016/06/02 19:42:20, Stephen Chennney wrote: > > ...
4 years, 6 months ago (2016-06-02 21:03:25 UTC) #27
Stephen Chennney
On 2016/06/02 21:03:25, chrishtr wrote: > > Best way to proceed, probably, is to land ...
4 years, 6 months ago (2016-06-03 17:26:00 UTC) #28
Ian Vollick
On 2016/06/03 17:26:00, Stephen Chennney wrote: > On 2016/06/02 21:03:25, chrishtr wrote: > > > ...
4 years, 6 months ago (2016-06-03 17:51:53 UTC) #29
chrishtr
On 2016/06/03 at 17:51:53, vollick wrote: > On 2016/06/03 17:26:00, Stephen Chennney wrote: > > ...
4 years, 6 months ago (2016-06-03 17:55:39 UTC) #30
Ian Vollick
On 2016/06/03 17:51:53, vollick wrote: > On 2016/06/03 17:26:00, Stephen Chennney wrote: > > On ...
4 years, 6 months ago (2016-06-03 17:59:24 UTC) #31
Ian Vollick
On 2016/06/03 17:59:24, vollick wrote: > On 2016/06/03 17:51:53, vollick wrote: > > On 2016/06/03 ...
4 years, 6 months ago (2016-06-03 18:00:37 UTC) #32
chrishtr
On 2016/06/03 at 18:00:37, vollick wrote: > On 2016/06/03 17:59:24, vollick wrote: > > On ...
4 years, 6 months ago (2016-06-03 18:08:30 UTC) #33
Stephen Chennney
Updated patch puts the new composited scrolling changes behind a flag, so we can test ...
4 years, 4 months ago (2016-07-27 17:18:23 UTC) #38
Stephen Chennney
On 2016/07/27 17:18:23, Stephen Chennney wrote: > Updated patch puts the new composited scrolling changes ...
4 years, 4 months ago (2016-07-27 18:39:07 UTC) #40
chrishtr
https://codereview.chromium.org/1826013002/diff/120001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/1826013002/diff/120001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode196 third_party/WebKit/Source/core/frame/FrameView.cpp:196: #if ENABLE(ASSERT) Why did you add the #if here? ...
4 years, 4 months ago (2016-07-27 18:45:45 UTC) #46
Stephen Chennney
Also looking at why this patch seems to make some difference to another bug reproduction ...
4 years, 4 months ago (2016-07-27 19:13:26 UTC) #47
chrishtr
https://codereview.chromium.org/1826013002/diff/120001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/1826013002/diff/120001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1505 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1505: || layer->layoutObject()->isFloating() On 2016/07/27 at 19:13:26, Stephen Chennney wrote: ...
4 years, 4 months ago (2016-07-27 19:26:01 UTC) #48
Stephen Chennney
On 2016/07/27 19:26:01, chrishtr wrote: > https://codereview.chromium.org/1826013002/diff/120001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp > File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): > > https://codereview.chromium.org/1826013002/diff/120001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1505 > ...
4 years, 4 months ago (2016-07-27 20:48:03 UTC) #51
flackr
I assume we shouldn't have to change the existing layout tests to get this patch ...
4 years, 4 months ago (2016-07-27 22:17:27 UTC) #53
Stephen Chennney
Turns out we don't need to do anything special about integer scroll offsets. If the ...
4 years, 4 months ago (2016-07-27 22:19:53 UTC) #55
Stephen Chennney
Expectations and everything probably passes now. I think we could land this pending any comments.
4 years, 4 months ago (2016-07-28 00:01:52 UTC) #58
Stephen Chennney
So much confusion, so many patches. Sorry I overlooked some questions. https://codereview.chromium.org/1826013002/diff/140001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): ...
4 years, 4 months ago (2016-07-28 13:55:38 UTC) #64
Stephen Chennney
On 2016/07/27 22:17:27, flackr wrote: > I assume we shouldn't have to change the existing ...
4 years, 4 months ago (2016-07-28 14:00:45 UTC) #65
flackr
On 2016/07/28 at 14:00:45, schenney wrote: > On 2016/07/27 22:17:27, flackr wrote: > > I ...
4 years, 4 months ago (2016-07-28 14:24:25 UTC) #66
Stephen Chennney
https://codereview.chromium.org/1826013002/diff/140001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/1826013002/diff/140001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1507 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1507: || layer->layoutObject()->style()->hasBorderDecoration()); On 2016/07/28 14:24:25, flackr wrote: > On ...
4 years, 4 months ago (2016-07-28 14:50:47 UTC) #67
flackr
https://codereview.chromium.org/1826013002/diff/140001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/1826013002/diff/140001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1507 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1507: || layer->layoutObject()->style()->hasBorderDecoration()); On 2016/07/28 at 14:50:47, Stephen Chennney wrote: ...
4 years, 4 months ago (2016-07-28 14:55:15 UTC) #68
chrishtr
There should be no layout test changes in this CL. Please put them in a ...
4 years, 4 months ago (2016-07-28 16:06:47 UTC) #69
Stephen Chennney
On 2016/07/28 16:06:47, chrishtr wrote: > There should be no layout test changes in this ...
4 years, 4 months ago (2016-07-28 16:24:52 UTC) #70
chrishtr
On 2016/07/28 at 16:24:52, schenney wrote: > On 2016/07/28 16:06:47, chrishtr wrote: > > There ...
4 years, 4 months ago (2016-07-28 16:31:30 UTC) #71
Stephen Chennney
Finally, ready to land, I think. We have a unit test, some more todos, and ...
4 years, 4 months ago (2016-08-04 16:18:11 UTC) #76
chrishtr
https://codereview.chromium.org/1826013002/diff/220001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/1826013002/diff/220001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1508 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1508: // TODO(schenney) Tests fail if we do not also ...
4 years, 4 months ago (2016-08-04 16:35:45 UTC) #77
flackr
On 2016/08/04 at 16:18:11, schenney wrote: > Finally, ready to land, I think. We have ...
4 years, 4 months ago (2016-08-04 17:09:45 UTC) #78
Stephen Chennney
My intention was to land independent of flackr's patch and update the check in PaintLayerScrollableArea ...
4 years, 4 months ago (2016-08-04 17:35:25 UTC) #79
flackr
On 2016/08/04 at 17:35:25, schenney wrote: > My intention was to land independent of flackr's ...
4 years, 4 months ago (2016-08-04 18:05:06 UTC) #80
chrishtr
https://codereview.chromium.org/1826013002/diff/220001/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp (right): https://codereview.chromium.org/1826013002/diff/220001/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp#newcode1 third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp:1: // Copyright 2014 The Chromium Authors. All rights reserved. ...
4 years, 4 months ago (2016-08-09 18:03:40 UTC) #81
Stephen Chennney
On 2016/08/09 18:03:40, chrishtr wrote: > https://codereview.chromium.org/1826013002/diff/220001/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp > File third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp > (right): > > https://codereview.chromium.org/1826013002/diff/220001/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp#newcode1 ...
4 years, 4 months ago (2016-08-09 18:23:58 UTC) #82
chrishtr
lgtm
4 years, 4 months ago (2016-08-09 18:27:04 UTC) #84
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1826013002/240001
4 years, 4 months ago (2016-08-09 18:27:37 UTC) #85
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/258604)
4 years, 4 months ago (2016-08-09 21:16:49 UTC) #87
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1826013002/240001
4 years, 4 months ago (2016-08-10 14:02:08 UTC) #89
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 4 months ago (2016-08-10 14:43:03 UTC) #91
commit-bot: I haz the power
4 years, 4 months ago (2016-08-10 14:44:56 UTC) #93
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/a0abcf517e027c793782d057982d992ae0ea4612
Cr-Commit-Position: refs/heads/master@{#411037}

Powered by Google App Engine
This is Rietveld 408576698