[wpt-sync] Sync PR 39223 - Attempt to move past monolithic content when printing.
Categories
(Core :: CSS Parsing and Computation, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox114 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 39223 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/39223
Details from upstream follow.
Morten Stenshorne <mstensho@chromium.org> wrote:
Attempt to move past monolithic content when printing.
Let monolithic content take up additional space on pages they overflow
into, if this prevents content overlap (that wouldn't occur it we
weren't paginated).When printing, when we detect that something overflows the page, we'll
store this overflow in the break token, so that we can move past it on
subsequent pages. This kind of works, because, in our implementation,
pages are stacked in the block direction, so that the block-start offset
of the next page is the same as the block-end offset of the preceding
page.The current solution here only aims to get the basic things right-ish:
inside regular block containers, inside floats, and inside out-of-flow
positioned elements. In addition, we need to make sure that repeated
table headers and footers don't get messed up. We have to repeat those
on every page, even if there's monolithic content in the way. In
addition to actually (probably) making sense visually, our
implementation requires this: once we have decided to repeat a table
section, we need to be consistent about it, or the fragment repeated
will get upset.For layout systems like flex, grid and tables, we don't attempt to do
anything special, for now. This shouldn't cause major problems, but it
does mean that content in a flow parallel to the one that has monolithic
content (e.g. inside sibling table cells) will be affected (pushed down)
by the monolithic content, even if there is no need to do so.Content next to floats with monolithic content inside also doesn't
behave correctly. To fix this, we would need to translate and copy the
exclusion space from one fragmentainer to another. It should be a rather
straight-forward thing to do, but I'd like to see a use-case for it
first.Firefox appears to do something very similar, to prevent monolithic
overflow from overlapping with subsequent content, with limitations
comparable to what this CL does.Bug: 1402540
Change-Id: If2bfec4737ea9ee7169036144f590a913123b6beReviewed-on: https://chromium-review.googlesource.com/4370688
WPT-Export-Revision: 1377310096af501530e90ba4d475d2378f5af2b7
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
CI Results
Ran 6 Firefox configurations based on mozilla-central, and Firefox, and Chrome on GitHub CI
Total 20 tests
Status Summary
Firefox
PASS: 12[Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt] 13[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, GitHub]
FAIL: 7[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, GitHub] 8[Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt]
Chrome
PASS: 1
FAIL: 19
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /css/printing/monolithic-overflow-008-print.html [wpt.fyi]:
FAIL[Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],PASS[Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,GitHub] (Chrome:FAIL) - /css/printing/monolithic-overflow-009-print.html [wpt.fyi]:
FAIL(Chrome:FAIL) - /css/printing/monolithic-overflow-013-print.html [wpt.fyi]:
FAIL(Chrome:FAIL) - /css/printing/monolithic-overflow-016-print.html [wpt.fyi]:
FAIL(Chrome:FAIL) - /css/printing/monolithic-overflow-017-print.html [wpt.fyi]:
FAIL(Chrome:FAIL) - /css/printing/monolithic-overflow-018-print.html [wpt.fyi]:
FAIL(Chrome:FAIL) - /css/printing/monolithic-overflow-019-print.html [wpt.fyi]:
FAIL(Chrome:FAIL) - /css/printing/monolithic-overflow-020-print.html [wpt.fyi]:
FAIL(Chrome:FAIL)
Comment 4•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/ab5135108051
https://hg.mozilla.org/mozilla-central/rev/d1e8716b91f2
Description
•