Chromium Code Reviews

Issue 1907443003: Translate flow thread coords to the nearest enclosing coord space when appropriate. (Closed)

Created:
4 years, 8 months ago by mstensho (USE GERRIT)
Modified:
4 years, 8 months ago
Reviewers:
leviw_travelin_and_unemployed, Xianzhu, wkorman
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, mstensho (USE GERRIT), pdr+renderingwatchlist_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

Translate flow thread coords to the nearest enclosing coord space when appropriate. We used to always convert to the visual coordinate space, meaning that we walked all enclosing fragmentation contexts. However, only the PaintLayer code wants this behavior, while everyone else typically wants to do one fragmentation context at a time, e.g. when walking the ancestry with LayoutObject::mapLocalToAncestor(). For nested multicol, this caused invalidation bugs, problems with getClientRects(), and maybe more. Added an enum CoordinateSpaceConversion (with values "Containing" and "Visual") for flowThreadTranslationAtOffset() to use to determine which conversion to perform. The old behavior was to always do CoordinateSpaceConversion::Visual. BUG=604883 Committed: https://crrev.com/e60405b884e8e5ac517a27e03a955a0f3a4f2c98 Cr-Commit-Position: refs/heads/master@{#388692}

Patch Set 1 #

Patch Set 2 : Add a unit test too. #

Total comments: 2
Unified diffs Side-by-side diffs Stats (+268 lines, -26 lines)
A third_party/WebKit/LayoutTests/fast/multicol/client-rect-nested.html View 1 chunk +84 lines, -0 lines 0 comments
A third_party/WebKit/LayoutTests/fast/multicol/client-rect-nested-expected.txt View 1 chunk +69 lines, -0 lines 0 comments
A third_party/WebKit/LayoutTests/fast/repaint/multicol-nested.html View 1 chunk +26 lines, -0 lines 0 comments
A third_party/WebKit/LayoutTests/fast/repaint/multicol-nested-expected.html View 1 chunk +5 lines, -0 lines 0 comments
M third_party/WebKit/Source/core/layout/LayoutFlowThread.h View 1 chunk +1 line, -5 lines 0 comments
M third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.h View 2 chunks +13 lines, -1 line 0 comments
M third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp View 2 chunks +17 lines, -8 lines 2 comments
M third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.h View 1 chunk +1 line, -1 line 0 comments
M third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp View 1 chunk +2 lines, -2 lines 0 comments
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 chunk +1 line, -1 line 0 comments
M third_party/WebKit/Source/core/layout/MapCoordinatesTest.cpp View 1 chunk +38 lines, -0 lines 0 comments
M third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.h View 1 chunk +1 line, -1 line 0 comments
M third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp View 7 chunks +10 lines, -7 lines 0 comments

Messages

Total messages: 12 (4 generated)
mstensho (USE GERRIT)
4 years, 8 months ago (2016-04-20 16:44:30 UTC) #2
wkorman
lgtm +wangxianzhu as he may be able to look at this before leviw. Thanks again ...
4 years, 8 months ago (2016-04-20 19:58:35 UTC) #4
Xianzhu
https://codereview.chromium.org/1907443003/diff/20001/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp File third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp (right): https://codereview.chromium.org/1907443003/diff/20001/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp#newcode336 third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp:336: LayoutUnit blockOffset = isHorizontalWritingMode() ? flippedPoint.y() : flippedPoint.x(); This ...
4 years, 8 months ago (2016-04-20 20:50:13 UTC) #5
mstensho (USE GERRIT)
https://codereview.chromium.org/1907443003/diff/20001/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp File third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp (right): https://codereview.chromium.org/1907443003/diff/20001/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp#newcode336 third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp:336: LayoutUnit blockOffset = isHorizontalWritingMode() ? flippedPoint.y() : flippedPoint.x(); On ...
4 years, 8 months ago (2016-04-20 21:02:24 UTC) #6
Xianzhu
lgtm
4 years, 8 months ago (2016-04-20 21:04:34 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1907443003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1907443003/20001
4 years, 8 months ago (2016-04-21 04:19:42 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 8 months ago (2016-04-21 04:24:46 UTC) #10
commit-bot: I haz the power
4 years, 8 months ago (2016-04-22 19:31:32 UTC) #12
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/e60405b884e8e5ac517a27e03a955a0f3a4f2c98
Cr-Commit-Position: refs/heads/master@{#388692}

Powered by Google App Engine