Closed
Bug 1421105
Opened 7 years ago
Closed 6 years ago
Implement column-span for block and inline frames
Categories
(Core :: Layout: Columns, enhancement, P3)
Core
Layout: Columns
Tracking
()
RESOLVED
FIXED
mozilla65
Tracking | Status | |
---|---|---|
firefox65 | --- | fixed |
People
(Reporter: neerja, Assigned: TYLin)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
Attachments
(5 files, 9 obsolete files)
No description provided.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Updated•7 years ago
|
Priority: -- → P3
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Updated•7 years ago
|
Attachment #8932291 -
Flags: review?(dbaron)
Attachment #8932292 -
Flags: review?(dbaron)
Attachment #8932293 -
Flags: review?(dbaron)
Attachment #8932294 -
Flags: review?(dbaron)
Reporter | ||
Comment 17•7 years ago
|
||
The try run here is clean except for:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=08578188bb28a1d7496bc542b9f8e21641d38173&selectedJob=148989354
1. Failures that need to be marked as expected assertions in crashtest.list -
/layout/base/crashtests/788360.html
/layout/generic/crashtests/621424-1.html
(More details on why this is justified will be along with patches for this, coming separately)
2. Failures unreproducible on local Mac/Linux debug builds -
/layout/generic/crashtests/1368617-1.html
/layout/mathml/crashtests/151054-1.xml
These assertions fail consistently on try but are not reproducible on my Mac or Linux machine. I am going to try and and figure out a loaner machine/One-click loaner to see if I can reproduce them there but I don't think this one problem should delay the review so putting in the review request.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Updated•7 years ago
|
Blocks: column-span
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Updated•7 years ago
|
Attachment #8932294 -
Flags: review?(dbaron)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 37•7 years ago
|
||
This definitely depends on bug 1346983 since it uses the class introduced there, and I think it also depends on bug 1418029 (but please correct me if I'm wrong).
Updated•7 years ago
|
Updated•7 years ago
|
Blocks: enable-column-span-nightly
Reporter | ||
Comment 38•7 years ago
|
||
A clean try run with *all* column-span patches together is at:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=a00281108ce40dca22fcc9f10b988826c73d3d42&selectedJob=154473698
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Comment 46•7 years ago
|
||
Since changing the patches for Bug 1346983 to let ColumnSetWrapper inherit from nsBlockFrame instead of nsContainerFrame, the following tests are failing on try -
multicol-nested-margin-002.xht
column-balancing-nested-001.html
Another known issue here is that currently only one ColumnSetFrame is allowed inside a ColumnSetWrapper for the purpose of its size calculation. When Bug 1411422 is fixed, this size calculation of all children of ColumnSetWrapper must be changed as well. Part7 here addresses part of this problem.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•6 years ago
|
Assignee: neerjapancholi → aethanyc
Status: NEW → ASSIGNED
Component: Layout → Layout: Columns
Assignee | ||
Comment 55•6 years ago
|
||
This helper will also be used in next part.
Assignee | ||
Comment 56•6 years ago
|
||
Other frames calling InitAndWrapInColumnSetFrameIfNeeded() needs to be
modified to support column-span (bug 1489295).
Depends on D5208
Assignee | ||
Comment 57•6 years ago
|
||
Reframe the whole multi-column subtree if any element is added or removed in
it.
Depends on D5209
Assignee | ||
Comment 58•6 years ago
|
||
This fixed contain-size-multicol-002.html and contain-size-multicol-003.html
after enabling "column-span".
We need to enable "contain" property unconditionally in UA stylesheets so
that "contain: inherit" is always recognized in ua.css whenever the
preference is flipped dynamically during reftest.
Depends on D5210
Assignee | ||
Comment 59•6 years ago
|
||
This enables "column-span" for our style system tests and web platform
tests only.
Depends on D5211
Assignee | ||
Updated•6 years ago
|
Summary: Change frame construction to handle the splitting of ColumnSetFrames when spanners are found. → Implement column-span for block and inline frames
Comment 60•6 years ago
|
||
Comment on attachment 9007072 [details]
Bug 1421105 Part 1 - Add a helper IsColumnContainerStyle() to StyleColumn.
David Baron :dbaron: 🏴 ⌚UTC-7 has approved the revision.
Attachment #9007072 -
Flags: review+
Assignee | ||
Updated•6 years ago
|
Blocks: fuzzing-column-span
Updated•6 years ago
|
Attachment #9007076 -
Attachment description: Bug 1421105 Part 5 - Enable CSS column-span for unit tests, and update test expectations. → Bug 1421105 Part 5 - Enable CSS column-span for individual web-platform-tests, and update test expectations.
Updated•6 years ago
|
Attachment #9007076 -
Attachment description: Bug 1421105 Part 5 - Enable CSS column-span for individual web-platform-tests, and update test expectations. → Bug 1421105 Part 5 - Enable CSS column-span in UA stylesheet, and update test expectations.
Updated•6 years ago
|
Attachment #9007075 -
Attachment is obsolete: true
Updated•6 years ago
|
Attachment #9007076 -
Attachment description: Bug 1421105 Part 5 - Enable CSS column-span in UA stylesheet, and update test expectations. → Bug 1421105 Part 4 - Enable CSS column-span in UA stylesheet, and update test expectations.
Comment 61•6 years ago
|
||
Is there a followup bug filed per https://phabricator.services.mozilla.com/D5210#140333 ?
Flags: needinfo?(aethanyc)
Assignee | ||
Comment 62•6 years ago
|
||
(In reply to David Baron :dbaron: 🏴 ⌚UTC-7 from comment #61)
> Is there a followup bug filed per
> https://phabricator.services.mozilla.com/D5210#140333 ?
No, but I have rewritten the patch so that it doesn't always reframe multicol container whenever there's a change in the column subtree. I'll file a followup if there are still performance issues in the patch that need to be addressed later.
Flags: needinfo?(aethanyc)
Comment 63•6 years ago
|
||
Comment on attachment 9007076 [details]
Bug 1421105 Part 4 - Enable CSS column-span in UA stylesheet, and update test expectations.
David Baron :dbaron: 🏴 ⌚UTC-7 has approved the revision.
Attachment #9007076 -
Flags: review+
Comment 64•6 years ago
|
||
Comment on attachment 9007074 [details]
Bug 1421105 Part 3 - Support dynamically adding or removing elements under multi-column subtree.
David Baron :dbaron: 🏴 ⌚UTC-7 has approved the revision.
Attachment #9007074 -
Flags: review+
Comment 65•6 years ago
|
||
Comment on attachment 9007073 [details]
Bug 1421105 Part 2 - Implement column-span for block and inline frames.
David Baron :dbaron: 🏴 ⌚UTC-7 has approved the revision.
Attachment #9007073 -
Flags: review+
Assignee | ||
Comment 66•6 years ago
|
||
The assertion in nsIFrame::UpdateStyleOfChildAnonBox() [1] can be triggered
when loading
testing/web-platform/tests/css/css-multicol/multicol-span-all-margin-nested-002.xht
and then opening devtools.
This patch should probably merge into Part 2 after being reviewed.
[1] https://searchfox.org/mozilla-central/rev/5786b9be9f887ed371c804e786081b476a403104/layout/generic/nsFrame.cpp#10718
Assignee | ||
Comment 67•6 years ago
|
||
Boris,
A friendly reminder for the review to unblock fixing other follow-up bugs. If you don't have the cycle for the moment, please let me know. David could still help take a close look again per https://phabricator.services.mozilla.com/D5209#168843
Flags: needinfo?(bzbarsky)
Updated•6 years ago
|
Keywords: dev-doc-needed
Assignee | ||
Updated•6 years ago
|
Attachment #8932291 -
Attachment is obsolete: true
Attachment #8932291 -
Flags: review?(dbaron)
Assignee | ||
Updated•6 years ago
|
Attachment #8932292 -
Attachment is obsolete: true
Attachment #8932292 -
Flags: review?(dbaron)
Assignee | ||
Updated•6 years ago
|
Attachment #8932293 -
Attachment is obsolete: true
Attachment #8932293 -
Flags: review?(dbaron)
Assignee | ||
Updated•6 years ago
|
Attachment #8932294 -
Attachment is obsolete: true
Assignee | ||
Updated•6 years ago
|
Attachment #8935217 -
Attachment is obsolete: true
Attachment #8935217 -
Flags: review?(dbaron)
Assignee | ||
Updated•6 years ago
|
Attachment #8949188 -
Attachment is obsolete: true
Attachment #8949188 -
Flags: review?(dbaron)
Assignee | ||
Updated•6 years ago
|
Attachment #8949189 -
Attachment is obsolete: true
Attachment #8949189 -
Flags: review?(dbaron)
Comment 68•6 years ago
|
||
I'm sorry for the horrible lag here. :( I really appreciate your patience.
Followup rounds of review should be much faster now that I have this paged in. I will be at TPAC next week, but I will try to ensure I review updates for this bug as needed even then.
Flags: needinfo?(bzbarsky)
Updated•6 years ago
|
Attachment #9015179 -
Attachment is obsolete: true
Assignee | ||
Comment 69•6 years ago
|
||
The major change in this patch is ::-moz-column-span-wrapper blocks are no
longer joining in the continuation chains when they're created in
CreateColumnSpanSiblings(). We can do that because ::-moz-column-span-wrapper is
an non-inheriting anon box, which doesn't need to be restyled.
In doing so, -moz-column-span-wrapper block's style won't be tramped by
RestyleManager::ProcessPostTraversal() or
nsIFrame::UpdateStyleOfOwnedChildFrame() because both functions will set the
same style to all the continuations.
GetNextContinuationWithSameStyle was deleted in bug 1447367. Delete the comment
in nsInlineFrame::UpdateStyleOfOwnedAnonBoxesForIBSplit() to avoid confusion.
Comment 70•6 years ago
|
||
Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/5e71bebd92b5
Part 1 - Add a helper IsColumnContainerStyle() to StyleColumn. r=dbaron
https://hg.mozilla.org/integration/autoland/rev/3adb1922d88d
Part 2 - Implement column-span for block and inline frames. r=bzbarsky,dbaron
https://hg.mozilla.org/integration/autoland/rev/2610d4f32f91
Part 3 - Support dynamically adding or removing elements under multi-column subtree. r=bzbarsky,dbaron
https://hg.mozilla.org/integration/autoland/rev/d315441f1d35
Part 4 - Enable CSS column-span in UA stylesheet, and update test expectations. r=dbaron
https://hg.mozilla.org/integration/autoland/rev/5d474106adce
Part 5 - Fix anonymous -moz-column-span-wrapper block's style is overridden after restyling. r=bzbarsky,emilio
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/13992 for changes under testing/web-platform/tests
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
Comment 73•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5e71bebd92b5
https://hg.mozilla.org/mozilla-central/rev/3adb1922d88d
https://hg.mozilla.org/mozilla-central/rev/2610d4f32f91
https://hg.mozilla.org/mozilla-central/rev/d315441f1d35
https://hg.mozilla.org/mozilla-central/rev/5d474106adce
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
status-firefox65:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Upstream PR merged
Updated•6 years ago
|
Comment 75•6 years ago
|
||
On further analysis, this looks like it is internals stuff, and doesn't really need any explicit documentation on MDN. Correct me if I'm wrong.
Keywords: dev-doc-needed
Updated•6 years ago
|
Flags: needinfo?(aethanyc)
Assignee | ||
Comment 76•6 years ago
|
||
(In reply to Chris Mills (Mozilla, MDN editor) [:cmills] from comment #75)
> On further analysis, this looks like it is internals stuff, and doesn't
> really need any explicit documentation on MDN. Correct me if I'm wrong.
You're right. This one doesn't need documentation on MDN.
Flags: needinfo?(aethanyc)
Assignee | ||
Updated•5 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•