Intent to Ship: Support scrolling=off and scrolling=noscroll

58 views
Skip to first unread message

Mason Freed

unread,
Mar 5, 2020, 12:28:55 PM3/5/20
to blink-dev

Contact emails

mason...@chromium.org


Explainer

The spec says that iframe and frame elements have a "scrolling" attribute that can be set to "no", "off", or "noscroll" to disable scrollbars. Until now, Chromium has only supported the "no" value. This I2S ships support for the other two values.


This I2S was suggested by the reviewers for my CL implementing this change.


Spec

https://html.spec.whatwg.org/multipage/rendering.html#the-page


The interesting part:

If a Document's browsing context is a child browsing context, the container of that browsing context is a frame or iframe element, that element has a scrolling attribute, and that attribute's value is an ASCII case-insensitive match for the string "off", "noscroll", or "no", then the user agent is expected to prevent any scrollbars from being shown for the viewport of the Document's browsing context, regardless of the 'overflow' property that applies to that viewport.


Because this change is already specified and is very small, I don't believe a TAG review is required.


Summary

See Explainer above.


Link to “Intent to Prototype” blink-dev discussion

Since this is already specified behavior, and Firefox already implements the spec, I did not go through the full I2P process for this change.


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Demo link

https://jsbin.com/lezulug


Debuggability

Devtools will show the state of the "scrolling" attribute.


Risks

Interoperability and Compatibility

There is a very small risk here, in that a page might currently set scrolling="no" or scrolling="noscroll", and expect the scrollbars to still show up. That seems unlikely to happen (and quite likely a site bug), especially since on Firefox, that would already result in no scrollbars. But it is a possibility.


Edge: No signals

Firefox: Shipped

Safari: No signals, but a bug has been filed and work started.

Web / Framework developers: No signals


Ergonomics

Pretty clean, I think.


Activation

No issues.


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

Tests have been added, here. (At the time of this email, another more complete test is stuck in the WPT PR queue, here. Hopefully that also lands soon.)


Entry on the feature dashboard

This is a very small change, and I don't think it warrants a chromestatus entry.


Mounir Lamouri

unread,
Mar 5, 2020, 1:25:35 PM3/5/20
to Mason Freed, blink-dev
This LGTM (non-owner) given the compat improvement and the fact that Safari is also going to follow. It's a net win. However, I wonder if that should have been a PSA given that it's a small change and it has already landed. Either way 👍

-- Mounir

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDg2W9xWTGfQ7RGjiNT%2BX%3Da80MmxpGcfd27UGm7hFfVn6Q%40mail.gmail.com.

Daniel Bratell

unread,
Mar 5, 2020, 2:56:43 PM3/5/20
to Mounir Lamouri, Mason Freed, blink-dev

LGTM1

(I would probably not have minded if this had been a PSA but I also don't mind the time it takes to determine that it's a simple change and write LGTM)

/Daniel

Mason Freed

unread,
Mar 5, 2020, 3:10:17 PM3/5/20
to Daniel Bratell, Mounir Lamouri, blink-dev
Thanks for the LGTMs and comments. We debated whether this deserved an I2S on the CL, and decided that since there was a debate about it, it was probably safer to just send one.

Yoav Weiss

unread,
Mar 5, 2020, 3:43:43 PM3/5/20
to Mason Freed, Daniel Bratell, Mounir Lamouri, blink-dev
LGTM2

I was the one pushing for an intent here, as we're adding potential attribute values, and I wanted us to spell out the compat and interop risks. At the same time, it's an easy intent to approve :)

Chris Harrelson

unread,
Mar 5, 2020, 3:50:10 PM3/5/20
to Yoav Weiss, Mason Freed, Daniel Bratell, Mounir Lamouri, blink-dev

Mason Freed

unread,
Mar 5, 2020, 5:01:58 PM3/5/20
to Chris Harrelson, Yoav Weiss, Daniel Bratell, Mounir Lamouri, blink-dev
Thanks everyone. This will ship in M82.
Reply all
Reply to author
Forward
0 new messages