LGTM3

/Daniel

On 2024-09-23 17:08, Chris Harrelson wrote:
LGTM2

On Mon, Sep 23, 2024 at 8:01 AM Mike Taylor <miketa...@chromium.org> wrote:

    Thanks for the clarifications.

    LGTM1

    On 9/23/24 12:00 AM, Morten Stenshorne wrote:
    > Mike Taylor <miketa...@chromium.org> writes:
    >
    >> On 9/19/24 4:58 PM, Chromestatus wrote:
    >>
    >>   Contact emails
    >>
    >> msten...@chromium.org
    >>
    >>   Explainer
    >>
    >> https://github.com/mstensho/page-margin-boxes
    >>
    >>   Specification
    >>
    >> https://drafts.csswg.org/css-page-3/#margin-boxes
    >>
    >>   Summary
    >>
    >>   Add support for page margin boxes, when printing a web
    document, or exporting it as PDF. @page margin boxes
    >>   allows an author to define the contents in the margin area of
    a page, for instance to provide custom headers and
    >>   footers, rather than using the built-in headers and footers
    generated by the browser. A margin box is defined via an
    >>   at-rule inside a CSS @page rule. There are 16 rules defined,
    one for each page margin box. There's one margin box
    >>   for each of the 4 corners on the page, and three (start,
    middle, end) for each of the 4 sides. The appearance and the
    >>   contents of a margin box are specified with CSS properties
    inside the at-rule, including the "content" property.
    >>   Counters are also to be supported, for page numbering. The
    specification defines two special counter names:
    >>   "page" for the current page number, and "pages" for the total
    number of pages.
    >>
    >>   Blink component
    >>
    >>   Blink>Layout>Printing
    >>
    >>   TAG review
    >>
    >> https://github.com/w3ctag/design-reviews/issues/918
    >>
    >>   TAG review status
    >>
    >>   Issues addressed
    >>
    >>   Risks
    >>
    >>   Interoperability and Compatibility
    >>
    >>   The spec defines the CSS counter names 'page' and 'pages'.
    Both are accessible by the document's contents, so
    >>   that any element may use the counters to tell the current
    page number, or the total number of pages. Documents
    >>   that use these counter names without being aware of this
    feature may be in for a surprise. Most browsers offer to
    >>   generate some default headers and footers, and they are
    usually enabled by default. If the document has margin
    >>   at-rules, they may come in conflict. We need some way of
    making sure that we either use the browser-default
    >>   headers and footers, or the author-defined @page margins.
    >>
    >> Can you clarify what you mean by "in for a surprise"?
    >>
    >> I don't think I understand the compat implications of @page+
    >> margin boxes here.
    > I'll remove this at chromestatus. It is no concern for now, since
    > counters in page / margin contexts will not interact with those
    of the
    > document. I.e. it's something we don't implement yet. The spec
    suggests
    > that they should interact, but it is vague, not too well thought
    through
    > (the spec forgets about parallel flows, for one), and the whole
    thing is
    > kind of weird, as counters are resolved in DOM tree order (i.e. the
    > precense of out-of-flow box, floats, etc.) do not affect the counter
    > scopes / values. Page / margin counters, on the other hand, need
    to be
    > resolved during layout. So we can revisit this later.
    >
    > I wrote about this here (but how to fix the spec hasn't been
    discussed
    > yet):
    >
    https://github.com/w3c/csswg-drafts/issues/4760#issuecomment-1959298806
    >
    >> Also, do you have a plan for default header/footer conflicts w/
    developer-provided ones?
    > Yes, sorry, forgot to update chromestatus again. Now fixed.
    >
    > Most browsers offer to generate some default headers and
    footers, and
    > they are usually enabled by default. If the document has margin
    > at-rules, they may come in conflict and overlap if no action is
    > taken. Our solution: When a page has author-defined @page margin
    boxes
    > at the same edge of the page as a browser-default header or
    footer, the
    > browser-default ones will be suppressed (not displayed). This is
    in a
    > way similar to how the browser-default headers and footers are
    > suppressed when @page margins become too small for them to fit there
    > (with @page margin boxes, the author kind of takes control of
    the margin
    > area, and therefore there's nothing left for the UA, as if the
    margin on
    > that edge is zero).
    >
    >>   Gecko: No signal
    (https://github.com/mozilla/standards-positions/issues/921)
    >>
    >>   WebKit: No signal
    (https://github.com/WebKit/standards-positions/issues/275)
    >>
    >>   Web developers: Positive
    https://bugs.chromium.org/p/chromium/issues/detail?id=320370
    currently has 98 stars.
    >>
    >>   Other signals:
    >>
    >>   WebView application risks
    >>
    >>   Does this intent deprecate or change behavior of existing
    APIs, such that it has potentially high risk for Android
    >>   WebView-based applications?
    >>
    >>   None
    >>
    >>   Debuggability
    >>
    >>   None
    >>
    >> I think it's possible to emulate the print media via DevTools.
    Maybe there are other possible debug modes to visually
    >> represent these named margin boxes (as follow up work)?
    > Yes, we can emulate print media, as in "match @media print
    rules". But
    > that doesn't give us pagination. Getting devtools to paginate,
    so that
    > one could inspect the page boxes and margins (and margin box
    contents)
    > could indeed be useful. This is something that would have been
    useful
    > for years already, but with richer pagination support (like
    @page margin
    > boxes) it does become even more interesting.
    >
    > There's crbug.com/40728089 <http://crbug.com/40728089> for this.
    >
    >>   Will this feature be supported on all six Blink platforms
    (Windows, Mac, Linux, ChromeOS, Android, and Android
    >>   WebView)?
    >>
    >>   Yes
    >>
    >>   Is this feature fully tested by web-platform-tests?
    >>
    >>   No
    >>
    >>   WPT tests will be written and submitted while working on this
    feature.
    >>
    >>   Flag name on chrome://flags
    >>
    >>   None
    >>
    >>   Finch feature name
    >>
    >>   PageMarginBoxes
    >>
    >>   Requires code in //chrome?
    >>
    >>   False
    >>
    >>   Tracking bug
    >>
    >> https://bugs.chromium.org/p/chromium/issues/detail?id=320370
    >>
    >>   Estimated milestones
    >>
    >>    Shipping on desktop  131
    >>    Shipping on Android  131
    >>    Shipping on WebView  131
    >>
    >>   Anticipated spec changes
    >>
    >>   Open questions about a feature may be a source of future web
    compat or interop issues. Please list open issues
    >>   (e.g. links to known github issues in the project for the
    feature specification) whose resolution may introduce web
    >>   compat/interop risk (e.g., changing to naming or structure of
    the API in a non-backward-compatible way).
    >>
    >>   None
    >>
    >>   Link to entry on the Chrome Platform Status
    >>
    >>
    https://chromestatus.com/feature/5195769732923392?gate=6322213557108736
    >>
    >>   Links to previous Intent discussions
    >>
    >>   Intent to Prototype:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/ZCPkcu_dSF8
    >>
    >>   This intent message was generated by Chrome Platform Status.
    >>   --
    >>   You received this message because you are subscribed to the
    Google Groups "blink-dev" group.
    >>   To unsubscribe from this group and stop receiving emails from
    it, send an email to
    >> blink-dev+unsubscr...@chromium.org
    <mailto:blink-dev%2bunsubscr...@chromium.org>.
    >>   To view this discussion on the web visit
    >>
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/66ec9090.2b0a0220.b3b1b.006b.GAE%40google.com.
    >>

-- You received this message because you are subscribed to the Google
    Groups "blink-dev" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to blink-dev+unsubscr...@chromium.org
    <mailto:blink-dev%2bunsubscr...@chromium.org>.
    To view this discussion on the web visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dff2c291-19d5-452a-a71e-3f4f0a35c1d4%40chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8UsROUMmf3J%3DqWuWoYQhLKSXimipxhz_uWVHJOgXU6tQ%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8UsROUMmf3J%3DqWuWoYQhLKSXimipxhz_uWVHJOgXU6tQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/89c92ebe-e721-4270-adc9-959eb90804ee%40gmail.com.

Reply via email to