On Thu, Jul 20, 2023 at 12:08 AM Yoav Weiss <[email protected]> wrote:
> Since this is a behavior change, I'd love to better understand the > implications of this change on existing content, and the upper bounds of > those implications. > Do we have counters for existing usage that will render differently as a > result of this shipping? > We don't have direct counters for this, no. I think this does impact a good number of sites, just based on the use counters for content-visibility and contain-intrinsic-size. The type of change is important to consider here: it changes behavior, but in all reasonable cases I can think of, it makes the behavior better. There are less size jumps and scrollbar jitters. This also causes a more stable layout (and indeed was the reason for this proposal on the referenced CSSWG). Of course there may be a site that is, for whatever reason, relying on the off-screen size to change. Unfortunately, I don't think we can find out the intent of that site until we launch the feature and hear from developers. > On Wed, Jul 19, 2023 at 6:01 PM Chris Harrelson <[email protected]> > wrote: > >> LGTM2 >> >> On Wed, Jul 19, 2023 at 9:01 AM Alex Russell <[email protected]> >> wrote: >> >>> Please send this as an FYI to the TAG. The fact of something being >>> agreed in the CSS WG does not say much for platform consistency and quality. >>> >>> Given that I grok this and think it's reasonable (with my ex-TAG member >>> hat on), I'll give y'all a pass on a full review, but please file in future. >>> >>> LGTM1, contingent on sending an FYI to the TAG. >>> >> I've filed https://github.com/w3ctag/design-reviews/issues/876 Thanks, vmpstr > >>> On Thursday, July 13, 2023 at 12:16:00 PM UTC-7 Vladimir Levin wrote: >>> >>>> Contact [email protected] >>>> >>>> Specification >>>> https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override >>>> >>>> Summary >>>> >>>> This feature is a result of a CSSWG resolution: >>>> https://github.com/w3c/csswg-drafts/issues/8407#issuecomment-1440466558 >>>> content-visibility: auto is a property that can be used to optimize >>>> rendering of off-screen content. However, when rendering is optimized it >>>> also means that the size of the element cannot be determined using the >>>> descendant information. This is done with size containment. As a result, >>>> contain-intrinsic-size was added to help with this. When >>>> content-visibility: auto skips contents, contain-intrinsic-size determines >>>> its size (roughly as if it had a single child of specified size). >>>> contain-intrinsic-size also has an option to add an "auto" keyword which >>>> means "if the element has been previously rendered, then use that size; if >>>> not, use the specified size". This helps with layout stability by ensuring >>>> that elements that come into the viewport and then leave remain the same >>>> size as before. This feature tracks forcing contain-intrinsic-size: auto if >>>> content-visibility's value is auto. >>>> >>>> >>>> Blink componentBlink>Paint >>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EPaint> >>>> >>>> TAG reviewNone >>>> >>>> TAG review statusNot applicable >>>> >>>> Risks >>>> >>>> >>>> Interoperability and Compatibility >>>> >>>> There is a risk of interoperability here, since this changes the >>>> behavior of content-visibility: auto and contain-intrinsic-size >>>> interaction. Specifically, this forces the layout size of >>>> content-visibility: auto elements to be different after it becomes relevant >>>> to the user, even when the element starts skipping contents once again. >>>> Note that the developer does not have to specify contain-intrinsic-size >>>> values, since the default value of "none" can also gain the "auto" keyword. >>>> Although this risk exists, I believe the change is for the better, since >>>> the ability to size things appropriately under content-visibility has been >>>> a challenging piece of content-visibility adoption. Out of httparchive >>>> sites that use contain-intrinsic-size, roughly half already use "auto" >>>> variety. >>>> >>>> >>>> *Gecko*: Shipped/Shipping ( >>>> https://hg.mozilla.org/mozilla-central/rev/af2192d1c537) >>>> >>>> *WebKit*: No signal ( >>>> https://github.com/WebKit/standards-positions/issues/228) >>>> >>>> *Web developers*: No signals ( >>>> https://github.com/WebKit/standards-positions/issues/228) >>>> >>>> *Other signals*: >>>> >>>> Ergonomics >>>> >>>> This feature makes adoption of content-visibility: auto more >>>> straightforward, since off-screen element sizing becomes easier to deal >>>> with. >>>> >>>> >>>> Activation >>>> >>>> There are no activation risks. >>>> >>>> >>>> Security >>>> >>>> There are no security risks with this feature, since it deals with CSS >>>> and Layout sizing. >>>> >>>> >>>> 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 >>>> >>>> This feature uses CSS and is debuggable as any other CSS feature would >>>> be. >>>> >>>> >>>> Will this feature be supported on all six Blink platforms (Windows, >>>> Mac, Linux, Chrome OS, Android, and Android WebView)?Yes >>>> >>>> Is this feature fully tested by web-platform-tests >>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>> ?Yes >>>> >>>> Flag name on chrome://flags >>>> >>>> Finch feature nameCSSContentVisibilityImpliesContainIntrinsicSizeAuto >>>> >>>> Requires code in //chrome?False >>>> >>>> Tracking bug >>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1418453 >>>> >>>> Estimated milestones >>>> Shipping on desktop 117 >>>> Shipping on Android 117 >>>> Shipping on WebView 117 >>>> >>>> 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/5111301323358208 >>>> >>>> Links to previous Intent discussions >>>> >>>> This intent message was generated by Chrome Platform Status >>>> <https://chromestatus.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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/35983500-d811-476e-aa4a-d726c6308ac8n%40chromium.org >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/35983500-d811-476e-aa4a-d726c6308ac8n%40chromium.org?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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9QtaojrgnZy4pY7_2tpF_A1e%3DX0u289VBhAJZ3hg1aqQ%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9QtaojrgnZy4pY7_2tpF_A1e%3DX0u289VBhAJZ3hg1aqQ%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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVquK8te%2BL%2BFNYgwiUeHqzJ5MJL%2BsEVJQ7e_iecVC9Ldg%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVquK8te%2BL%2BFNYgwiUeHqzJ5MJL%2BsEVJQ7e_iecVC9Ldg%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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2OcjVS%2BmDWV_3Zwf4-FyjK5x_984ZP2zvTkRm7Y2-hHqg%40mail.gmail.com.
