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

Issue 2416453006: Use the pixelSnappedScrollWidth/Height for contentsSize (Closed)

Created:
4 years, 2 months ago by Stephen Chennney
Modified:
4 years, 2 months ago
Reviewers:
flackr
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use the pixelSnappedScrollWidth/Height for contentsSize PaintLayerScrollableArea::contentsSize was using the LayoutUnit::toInt method to convert to int for the size. However, when sizing a Graphicslayer from this value, it results in layers that are too narrow in some cases, giving single pixel gaps between the scrolling content and the scrollbars. The correct value is the pixelSnappedScrollWidth, that accounts for sub-pixel position of surrounding elements. Adds a test that fails in m55 and passes with the change, derived from the site that the bug was reported for. R=flackr@chromium.org BUG=653847 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/6c715c7a413e006594b26a2b59783d2d9d01f311 Cr-Commit-Position: refs/heads/master@{#425727}

Patch Set 1 #

Total comments: 2

Patch Set 2 : New test, and baselines #

Patch Set 3 : More baselines #

Patch Set 4 : Spv2 expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+118 lines, -7 lines) Patch
M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/compositing/overflow/fractional-sized-scrolling-layer.html View 1 chunk +27 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/compositing/overflow/fractional-sized-scrolling-layer-expected.png View 1 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/compositing/overflow/fractional-sized-scrolling-layer-expected.txt View 1 1 chunk +10 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow.html View 1 1 chunk +33 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow-expected.png View 1 2 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow-expected.txt View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/fast/overflow/overflow-rtl-expected.png View 1 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/fast/overflow/overflow-rtl-vertical-expected.png View 1 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/fractional-sized-scrolling-layer-expected.png View 1 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/fractional-sized-scrolling-layer-expected.txt View 1 1 chunk +10 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-overflow-expected.png View 1 2 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-overflow-expected.txt View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 24 (10 generated)
Stephen Chennney
This fix was the least invasive I could find. I considered making the contentSize a ...
4 years, 2 months ago (2016-10-13 20:39:48 UTC) #2
flackr
This looks good. I assume this works correctly for elements in a scaled parent as ...
4 years, 2 months ago (2016-10-13 21:07:43 UTC) #3
Stephen Chennney
I'll check the scaled thing tomorrow when I can. I have a mega interview slate ...
4 years, 2 months ago (2016-10-13 21:27:41 UTC) #4
Stephen Chennney
Turns out this fixes an existing test result on Windows. Yippee. The results on the ...
4 years, 2 months ago (2016-10-14 13:42:43 UTC) #5
Stephen Chennney
Still need one more set of baselines. Otherwise, what do you think?
4 years, 2 months ago (2016-10-14 14:42:03 UTC) #6
flackr
On 2016/10/14 at 13:42:43, schenney wrote: > Turns out this fixes an existing test result ...
4 years, 2 months ago (2016-10-14 14:45:59 UTC) #7
flackr
On 2016/10/14 at 14:42:03, schenney wrote: > Still need one more set of baselines. Otherwise, ...
4 years, 2 months ago (2016-10-14 14:48:10 UTC) #8
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/2416453006/40001
4 years, 2 months ago (2016-10-14 17:55:33 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_layout_tests_slimming_paint_v2/builds/988)
4 years, 2 months ago (2016-10-14 18:33:18 UTC) #13
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/2416453006/80001
4 years, 2 months ago (2016-10-17 15:40:57 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/315949)
4 years, 2 months ago (2016-10-17 16:25:18 UTC) #19
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/2416453006/80001
4 years, 2 months ago (2016-10-17 17:37:01 UTC) #21
commit-bot: I haz the power
Committed patchset #4 (id:80001)
4 years, 2 months ago (2016-10-17 18:34:06 UTC) #22
commit-bot: I haz the power
4 years, 2 months ago (2016-10-17 18:36:31 UTC) #24
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/6c715c7a413e006594b26a2b59783d2d9d01f311
Cr-Commit-Position: refs/heads/master@{#425727}

Powered by Google App Engine
This is Rietveld 408576698