|
|
Chromium Code Reviews|
Created:
4 years, 2 months ago by malaykeshav Modified:
4 years, 2 months ago CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, slimming-paint-reviews_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionScrollbar width is set using thickness to compute correct rect size
BUG=637264
COMPONENT=ScrollableArea, Webkit
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Committed: https://crrev.com/5556b4bf5c650643cc5aea0f17a72b1e9e29e316
Cr-Commit-Position: refs/heads/master@{#422210}
Patch Set 1 #Patch Set 2 : Added Layout test #Patch Set 3 : Scrollbar width is set using thickness to compute correct rect size #Patch Set 4 : Scrollbar width is set using thickness to compute correct rect size #
Total comments: 1
Patch Set 5 : Added test expectations #
Total comments: 15
Patch Set 6 : Resolved merge conflicts for update bots and Updated Layout Test HTML #Messages
Total messages: 57 (45 generated)
Description was changed from ========== Scrollbar width is set using thickness to compute correct rect size BUG=637264 COMPONENT=ScrollableArea, Webkit ========== to ========== Scrollbar width is set using thickness to compute correct rect size BUG=637264 COMPONENT=ScrollableArea, Webkit CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
malaykeshav@chromium.org changed reviewers: + oshima@chromium.org
PTAL Updates how scrollbar width is set during dsf change.
could you please add a layout test for this? I can tell you where and how, so please ping me when you have time.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by malaykeshav@chromium.org
Patchset #2 (id:20001) has been deleted
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: 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_te...)
Patchset #6 (id:120001) has been deleted
Patchset #5 (id:100001) has been deleted
Patchset #4 (id:80001) has been deleted
Patchset #4 (id:140001) has been deleted
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
malaykeshav@chromium.org changed reviewers: + wangxianzhu@chromium.org
PTAL.
Please include test expectations on one platform. fwiw you can create test expectations by running: run-webkit-tests fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html --reset-results https://codereview.chromium.org/2377453004/diff/160001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/TestExpectations (right): https://codereview.chromium.org/2377453004/diff/160001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/TestExpectations:256: crbug.com/637264 [ Linux Mac Win ] fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html [ NeedsRebaseline ] The new test needs rebaseline on all platforms, so you can just omit the [ Linux Mac Win ] part.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
On 2016/09/29 at 23:00:04, wangxianzhu wrote: > Please include test expectations on one platform. > > fwiw you can create test expectations by running: > run-webkit-tests fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html --reset-results > > https://codereview.chromium.org/2377453004/diff/160001/third_party/WebKit/Lay... > File third_party/WebKit/LayoutTests/TestExpectations (right): > > https://codereview.chromium.org/2377453004/diff/160001/third_party/WebKit/Lay... > third_party/WebKit/LayoutTests/TestExpectations:256: crbug.com/637264 [ Linux Mac Win ] fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html [ NeedsRebaseline ] > The new test needs rebaseline on all platforms, so you can just omit the [ Linux Mac Win ] part. Done
Patchset #5 (id:180001) has been deleted
Patchset #5 (id:200001) has been deleted
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...)
https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html (right): https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:3: <head> Normally we omit <html>, <head>, <body> in layout tests. https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:5: window.enablePixelTesting = true; Please remove the above line. It's no use here. You may have seen some tests using it. These tests also includes some script files which will read the variable. https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:7: setTimeout(function() {testRunner.notifyDone();}, 0); Is the setTimeout necessary? https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:17: if (window.testRunner) { Line 16 should be also protected by if (window.testRunner). Or you can just add 'if (window.testRunner)' before line 22 and remove all other guards. https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:22: window.addEventListener("load", startTest, false); You can use shorter form: onload = startTest; or replace line 15 with onload = function() { https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:28: <div style="width:400px; height: 200px; background-color:red"></div> Remove "background-color: red". Normally we use red to indicate failure. https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:31: </html> We prefer reference tests to pixel tests because the former can avoid pixel and text expectations and platform baselines. Just create a file named scrollbar-appearance-decrease-device-scale-factor-expected.html beside this file containing the following contents: <!DOCTYPE html> <div id="div" style="width:200px; height:120px; overflow:auto"> <br>This should be a scrollable text box with horizontal and vertical scroll. <div style="width:400px; height: 200px; background-color:red"></div> </div> The layout test runner script will run both html file and compare their pixel outputs. The test passes if the two files generate the same output. You can keep the other test as a pixel test.
Patchset #6 (id:240001) has been deleted
The CQ bit was checked by malaykeshav@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Updated tests. PTAL https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html (right): https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:3: <head> On 2016/09/30 at 03:36:14, Xianzhu wrote: > Normally we omit <html>, <head>, <body> in layout tests. Done https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:5: window.enablePixelTesting = true; On 2016/09/30 at 03:36:14, Xianzhu wrote: > Please remove the above line. It's no use here. > > You may have seen some tests using it. These tests also includes some script files which will read the variable. Done https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:7: setTimeout(function() {testRunner.notifyDone();}, 0); On 2016/09/30 at 03:36:14, Xianzhu wrote: > Is the setTimeout necessary? Removed. https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:17: if (window.testRunner) { On 2016/09/30 at 03:36:14, Xianzhu wrote: > Line 16 should be also protected by if (window.testRunner). > Or you can just add 'if (window.testRunner)' before line 22 and remove all other guards. Done https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:22: window.addEventListener("load", startTest, false); On 2016/09/30 at 03:36:14, Xianzhu wrote: > You can use shorter form: > onload = startTest; > or replace line 15 with > onload = function() { Done https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:28: <div style="width:400px; height: 200px; background-color:red"></div> On 2016/09/30 at 03:36:14, Xianzhu wrote: > Remove "background-color: red". Normally we use red to indicate failure. Done https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:31: </html> On 2016/09/30 at 03:36:14, Xianzhu wrote: > We prefer reference tests to pixel tests because the former can avoid pixel and text expectations and platform baselines. > > Just create a file named scrollbar-appearance-decrease-device-scale-factor-expected.html beside this file containing the following contents: > <!DOCTYPE html> > <div id="div" style="width:200px; height:120px; overflow:auto"> > <br>This should be a scrollable text box with horizontal and vertical scroll. > <div style="width:400px; height: 200px; background-color:red"></div> > </div> > > The layout test runner script will run both html file and compare their pixel outputs. The test passes if the two files generate the same output. > > You can keep the other test as a pixel test. The two files will not be _exactly_ the same due to the scaling. There is always a difference of a pixel or two due to loss from non-integral values during scaling.
https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html (right): https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:31: </html> On 2016/09/30 18:23:39, malaykeshav wrote: > On 2016/09/30 at 03:36:14, Xianzhu wrote: > > We prefer reference tests to pixel tests because the former can avoid pixel > and text expectations and platform baselines. > > > > Just create a file named > scrollbar-appearance-decrease-device-scale-factor-expected.html beside this file > containing the following contents: > > <!DOCTYPE html> > > <div id="div" style="width:200px; height:120px; overflow:auto"> > > <br>This should be a scrollable text box with horizontal and vertical > scroll. > > <div style="width:400px; height: 200px; background-color:red"></div> > > </div> > > > > The layout test runner script will run both html file and compare their pixel > outputs. The test passes if the two files generate the same output. > > > > You can keep the other test as a pixel test. > > The two files will not be _exactly_ the same due to the scaling. There is always > a difference of a pixel or two due to loss from non-integral values during > scaling. This looks weird to me. The final scale is 1 which is the same as the initial scale and the scale of reference html. We should do full repaint and full re-rasterization after scale change, so the final pixels should be exactly the same as the original and the reference. Can you share the pixel results?
On 2016/09/30 18:36:21, Xianzhu wrote: > https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... > File > third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html > (right): > > https://codereview.chromium.org/2377453004/diff/220001/third_party/WebKit/Lay... > third_party/WebKit/LayoutTests/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html:31: > </html> > On 2016/09/30 18:23:39, malaykeshav wrote: > > On 2016/09/30 at 03:36:14, Xianzhu wrote: > > > We prefer reference tests to pixel tests because the former can avoid pixel > > and text expectations and platform baselines. > > > > > > Just create a file named > > scrollbar-appearance-decrease-device-scale-factor-expected.html beside this > file > > containing the following contents: > > > <!DOCTYPE html> > > > <div id="div" style="width:200px; height:120px; overflow:auto"> > > > <br>This should be a scrollable text box with horizontal and vertical > > scroll. > > > <div style="width:400px; height: 200px; background-color:red"></div> > > > </div> > > > > > > The layout test runner script will run both html file and compare their > pixel > > outputs. The test passes if the two files generate the same output. > > > > > > You can keep the other test as a pixel test. > > > > The two files will not be _exactly_ the same due to the scaling. There is > always > > a difference of a pixel or two due to loss from non-integral values during > > scaling. > > This looks weird to me. The final scale is 1 which is the same as the initial > scale and the scale of reference html. We should do full repaint and full > re-rasterization after scale change, so the final pixels should be exactly the > same as the original and the reference. Can you share the pixel results? malaykeshav@ just showed me the pixel results. It seems that the text layout is incorrect after scaled up then down. This looks like a bug to me but should not block this CL. Can you file a bug? lgtm for this CL.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by malaykeshav@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #6 (id:260001)
Message was sent while issue was closed.
Description was changed from ========== Scrollbar width is set using thickness to compute correct rect size BUG=637264 COMPONENT=ScrollableArea, Webkit CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== Scrollbar width is set using thickness to compute correct rect size BUG=637264 COMPONENT=ScrollableArea, Webkit CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/5556b4bf5c650643cc5aea0f17a72b1e9e29e316 Cr-Commit-Position: refs/heads/master@{#422210} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/5556b4bf5c650643cc5aea0f17a72b1e9e29e316 Cr-Commit-Position: refs/heads/master@{#422210}
Message was sent while issue was closed.
Patchset #7 (id:280001) has been deleted |
