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

Issue 1921553008: Fix scroll origin, overflow rects, and coordinate flipping for flexbox. (Closed)

Created:
4 years, 7 months ago by szager1
Modified:
4 years, 7 months ago
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, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix scroll origin, overflow rects, and coordinate flipping for flexbox. PaintLayerScrollableArea uses a scroll origin to offset its scroll position for RTL blocks, to ensure that a zero scroll position always represents being scrolled all the way to the logical beginning of the block. This patch fixes scroll origin calculations for writing-mode:vertical-rl and for row-reverse and column-reverse flex directions. It also fixes how overflow rects are calculated for flex containers, by adding hasTopOverflow and hasLeftOverflow virtual methods on LayoutBox, with appropriate overrides on LayoutFlexibleBox. Finally, it has a couple of miscellaneous fixes for coordinate-flipping for reverse flow. BUG=webkit:76129 Committed: https://crrev.com/e8eed9fe26988a96498c92029b98dc980e5d15e1 Cr-Commit-Position: refs/heads/master@{#392981}

Patch Set 1 #

Patch Set 2 : Split flexbox refactor into separate CL #

Total comments: 3

Patch Set 3 : Bunches of fixes and the mother of all tests #

Patch Set 4 : Fix vertical-rl coordinate flipping #

Patch Set 5 : rebaseline #

Total comments: 2

Patch Set 6 : Add docs to Source/core/layout/README.md #

Total comments: 4

Messages

Total messages: 29 (11 generated)
szager1
4 years, 7 months ago (2016-04-28 21:30:12 UTC) #3
leviw_travelin_and_unemployed
https://codereview.chromium.org/1921553008/diff/20001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/1921553008/diff/20001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode960 third_party/WebKit/Source/core/layout/LayoutBox.cpp:960: if (isHorizontalWritingMode() && shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) Probably deserves a comment. https://codereview.chromium.org/1921553008/diff/20001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp ...
4 years, 7 months ago (2016-04-28 22:12:12 UTC) #4
cbiesinger
What Levi said, but otherwise looks good to me. Feel free to submit once he's ...
4 years, 7 months ago (2016-04-29 20:16:52 UTC) #5
eae
As long as Levi is happy I'm happy :)
4 years, 7 months ago (2016-05-01 01:51:23 UTC) #6
szager1
Well, that escalated quickly. This patch should be an authoritative treatment of scrollbar adjustments for ...
4 years, 7 months ago (2016-05-10 00:17:10 UTC) #9
leviw_travelin_and_unemployed
Guest review! ;) https://codereview.chromium.org/1921553008/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.h File third_party/WebKit/Source/core/layout/LayoutBox.h (right): https://codereview.chromium.org/1921553008/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.h#newcode383 third_party/WebKit/Source/core/layout/LayoutBox.h:383: virtual bool hasTopOverflow() const; May be ...
4 years, 7 months ago (2016-05-10 01:57:06 UTC) #10
leviw_travelin_and_unemployed
Nit: Your description also doesn't wrap in the 2nd paragraph.
4 years, 7 months ago (2016-05-10 01:57:30 UTC) #11
szager1
Well, look who's working for free now! I added some comments to the source, and ...
4 years, 7 months ago (2016-05-10 07:33:09 UTC) #14
leviw_travelin_and_unemployed
LGTM dude! This is amazing work. Work so good I'd review it for free! https://codereview.chromium.org/1921553008/diff/100001/third_party/WebKit/LayoutTests/css3/flexbox/flexbox-overflow-auto-expected.html ...
4 years, 7 months ago (2016-05-10 17:52:43 UTC) #15
leviw_travelin_and_unemployed
One more thought: is the old flexbox-overflow-auto redundant now? Doesn't your new test cover everything ...
4 years, 7 months ago (2016-05-10 17:54:04 UTC) #16
szager1
On 2016/05/10 17:54:04, leviw_travelin_and_unemployed wrote: > One more thought: is the old flexbox-overflow-auto redundant now? ...
4 years, 7 months ago (2016-05-10 23:01:51 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1921553008/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1921553008/100001
4 years, 7 months ago (2016-05-10 23:02:03 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/219383)
4 years, 7 months ago (2016-05-11 03:33:55 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1921553008/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1921553008/100001
4 years, 7 months ago (2016-05-11 17:45:54 UTC) #23
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 7 months ago (2016-05-11 17:51:54 UTC) #25
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/e8eed9fe26988a96498c92029b98dc980e5d15e1 Cr-Commit-Position: refs/heads/master@{#392981}
4 years, 7 months ago (2016-05-11 17:53:13 UTC) #27
cbiesinger
I'm a little late to this patch, and I only have two comments: 1) Thanks ...
4 years, 7 months ago (2016-05-11 19:44:00 UTC) #28
cbiesinger
4 years, 7 months ago (2016-05-11 19:44:15 UTC) #29
Message was sent while issue was closed.
to be clear: lgtm :)

Powered by Google App Engine
This is Rietveld 408576698