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

Issue 789433006: [New Multicolumn] Let a spanner's containing block be the multicol container. (Closed)

Created:
6 years ago by mstensho (USE GERRIT)
Modified:
6 years ago
CC:
blink-reviews, blink-reviews-rendering, chromiumbugtracker_adobe.com, Dominik Röttsches, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

[New Multicolumn] Let a spanner's containing block be the multicol container. This helps avoid some cheating and tightrope walking that we would have to perform when laying out spanners while canceling out all ill effects that the pagination code could cause. A spanner is no longer part of the flow thread (although it is a descendant), much like absolutely positioned descendants whose containing block is outside the multicol container. It's no longer laid out during flow thread layout. RenderMultiColumnSpannerSet has never really been a "set", and now it doesn't even inherit from RenderMultiColumnSet, so a rename seemed prudent. It's now called RenderMultiColumnSpannerPlaceholder. The placeholder will be in charge of laying out the spanner and positioning it correctly. It will also be in charge of invalidating, painting and hit-testing the spanner. Instead of a hashmap that maps column-span:all renderers to their corresponding placeholder, store a pointer directly in the rare-data of the RenderBox that is column-span:all. A spanner isn't part of the flow thread anymore, so locating the spanner's flow thread is a meaningless or hacky task, so storing this map in the flow thread would just be messy. This change contains the bare minimum to avoid assertions during layout and paint invalidation. There's no actual support for laying out (or painting, etc.) spanners properly yet. BUG=347325 R=jchaffraix@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=187033

Patch Set 1 #

Total comments: 17

Patch Set 2 : Code review #

Patch Set 3 : Compiling release: paint invalidation state is cleared in the super class anyway. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+385 lines, -176 lines) Patch
M Source/core/core.gypi View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderBlockFlow.h View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderBlockFlow.cpp View 3 chunks +16 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderBox.h View 1 7 chunks +31 lines, -1 line 0 comments Download
M Source/core/rendering/RenderBox.cpp View 1 3 chunks +23 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderFlowThread.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnFlowThread.h View 1 5 chunks +24 lines, -11 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnFlowThread.cpp View 1 11 chunks +70 lines, -29 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnFlowThreadTest.cpp View 1 13 chunks +72 lines, -52 lines 0 comments Download
A Source/core/rendering/RenderMultiColumnSpannerPlaceholder.h View 1 chunk +45 lines, -0 lines 0 comments Download
A Source/core/rendering/RenderMultiColumnSpannerPlaceholder.cpp View 1 2 1 chunk +74 lines, -0 lines 0 comments Download
D Source/core/rendering/RenderMultiColumnSpannerSet.h View 1 chunk +0 lines, -43 lines 0 comments Download
D Source/core/rendering/RenderMultiColumnSpannerSet.cpp View 1 chunk +0 lines, -36 lines 0 comments Download
M Source/core/rendering/RenderObject.h View 4 chunks +6 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 4 chunks +19 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (7 generated)
mstensho (USE GERRIT)
This is a prelude for column-span:all layout support. Next episode (actual layout support) here: https://codereview.chromium.org/792803002/ ...
6 years ago (2014-12-10 13:49:56 UTC) #1
mstensho (USE GERRIT)
On 2014/12/10 13:49:56, mstensho wrote: > This is a prelude for column-span:all layout support. Next ...
6 years ago (2014-12-10 13:54:22 UTC) #2
Julien - ping for review
overall lgtm, I would like to double-check the updated version but this is addressing all ...
6 years ago (2014-12-11 19:09:38 UTC) #3
mstensho (USE GERRIT)
https://codereview.chromium.org/789433006/diff/1/Source/core/rendering/RenderBlockFlow.cpp File Source/core/rendering/RenderBlockFlow.cpp (right): https://codereview.chromium.org/789433006/diff/1/Source/core/rendering/RenderBlockFlow.cpp#newcode1065 Source/core/rendering/RenderBlockFlow.cpp:1065: } On 2014/12/11 19:09:37, Julien Chaffraix - PST wrote: ...
6 years ago (2014-12-11 21:01:14 UTC) #4
Julien - ping for review
https://codereview.chromium.org/789433006/diff/1/Source/core/rendering/RenderBlockFlow.cpp File Source/core/rendering/RenderBlockFlow.cpp (right): https://codereview.chromium.org/789433006/diff/1/Source/core/rendering/RenderBlockFlow.cpp#newcode1065 Source/core/rendering/RenderBlockFlow.cpp:1065: } On 2014/12/11 21:01:14, mstensho wrote: > On 2014/12/11 ...
6 years ago (2014-12-11 23:45:44 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/789433006/20001
6 years ago (2014-12-12 06:59:04 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/789433006/40001
6 years ago (2014-12-12 07:31:20 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/38313)
6 years ago (2014-12-12 09:00:44 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/789433006/40001
6 years ago (2014-12-12 09:03:13 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/win_blink_rel/builds/41207)
6 years ago (2014-12-12 12:20:59 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/789433006/40001
6 years ago (2014-12-12 13:38:45 UTC) #18
commit-bot: I haz the power
6 years ago (2014-12-12 15:50:52 UTC) #19
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=187033

Powered by Google App Engine
This is Rietveld 408576698