Android WebView currently has a hack where we set scrollbars to transparent
because WebView shows the normal Android system scrollbar (using the host
app's Android theme), to avoid showing two overlapping scrollbars. This
currently disables *all* Blink scrollbars, even though the conflict with
Android UI is just on the root, which means that there's no scrollbar on
nested scrolling elements at all: crbug.com/1327047

Supporting these CSS attributes raises the question of what to do about
this. If we apply these attributes normally then they will override
WebView's transparent default and we'll potentially end up rendering two
overlapping scrollbars. It's unclear whether the legacy webkit pseudo
elements actually work at present in WebView or not.

I don't want to block us from shipping this in WebView but we may need to
be careful about how we roll it out, and should probably make a decision
about crbug.com/1327047 in the process.

On Mon, 23 Oct 2023 at 10:50, Mike Taylor <[email protected]> wrote:

> LGTM2
> On 10/23/23 5:54 AM, Yoav Weiss wrote:
>
> LGTM1
>
> On Mon, Oct 23, 2023 at 10:14 AM Luke <[email protected]> wrote:
>
>> > I'm guessing we're missing ways to test if the styles were applied. Is
>> that correct?
>> > If so, can you file relevant WPT bugs to make sure we'd be able to
>> expand coverage in the future?
>>
>> Yeah I'll take a look into filing those bugs, as I understand it there's
>> APIs missing to enable the common scrollbar implementation and you'd then
>> need some form of pixel test or as you say an API to check that the
>> scrollbar has the relevant colours.
>>
>
> Thanks!
>
>
>>
>> > Also, it seems like Safari is passing many of the tests despite not
>> having shipped this. The same is true for stable Chrome
>> <https://wpt.fyi/results/css/css-scrollbars?label=master&label=stable&aligned>.
>> Might be worthwhile to take a look and make sure the tests are actually
>> testing the feature..
>>
>> Lots of the tests are repaint tests so just make sure that when
>> implemented it handles various cases (lots of them cases that I've come
>> across while implementing). When the properties aren't supported lots of
>> the repaint tests will pass as they rely on the properties in both the
>> actual and expected. I'm not sure on the best way to avoid this?
>>
>
> Yeah, not sure how that can be resolved without flaky platform-specific
> screenshots. As such, I don't consider this a blocker.
>
> +Chris Harrelson <[email protected]> - Is this an issue y'all ran into
> in the past?
>
>
>> On Monday, 23 October 2023 at 07:18:34 UTC+1 [email protected] wrote:
>>
>> Thanks for working on this!!
>>
>> On Sat, Oct 21, 2023 at 4:58 AM Luke <[email protected]> wrote:
>>
>> Yes, it will work on all Scrollbars on all platforms including overlay on
>> macOS. :)
>>
>> On Sat, 21 Oct 2023, 03:56 Šime Vidas, <[email protected]> wrote:
>>
>> Will scrollbar-color work on overlay scrollbars on macOS? It does in
>> Firefox.
>>
>> On Friday, October 20, 2023 at 10:46:36 PM UTC+2 Luke wrote:
>>
>> Apologies my email client seems to have messed with the text colour. Lets
>> try that again.
>>
>> *Contact emails *[email protected]
>>
>> Explainerhttps://github.com/felipeerias/css-scrollbars-explainer
>>
>> Specificationhttps://www.w3.org/TR/css-scrollbars-1
>>
>> Summary
>>
>> The CSS Scrollbars spec allows authors to style scrollbars by specifying
>> their colors and thickness. This spec adds the following two properties.
>> The scrollbar-color property provides the capability of changing the color
>> scheme of scrollbars so they fit better into the particular style of a web
>> page. The scrollbar-width property allows the use of narrower scrollbars
>> that may be more suitable for some use cases, or even to hide the
>> scrollbars completely without affecting scrollability.
>>
>>
>> Blink componentBlink>Layout>Scrollbars
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ELayout%3EScrollbars>
>>
>> Search tagscss <https://chromestatus.com/features#tags:css>, scrollbars
>> <https://chromestatus.com/features#tags:scrollbars>, scrollbar-color
>> <https://chromestatus.com/features#tags:scrollbar-color>, scrollbar-width
>> <https://chromestatus.com/features#tags:scrollbar-width>
>>
>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/563
>>
>> TAG review statusIssues addressed
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> These are already supported inside of Firefox so shouldn't present much
>> of a risk. It's possible that if Safari doesn't support them this could
>> lead to some level of fragmentation between the legacy pseudo styles and
>> the standard properties.
>>
>>
>> *Gecko*: Shipped/Shipping (
>> https://bugzilla.mozilla.org/show_bug.cgi?id=1460109) Firefox fully
>> supports both properties.
>>
>> *WebKit*: Positive (
>> https://github.com/WebKit/standards-positions/issues/133) A supportive
>> position has been given for both scrollbar-width and scrollbar-color. See
>> also https://github.com/WebKit/standards-positions/issues/134
>>
>> *Web developers*: Positive (https://insights.developer.mozilla.org)
>> "Inability to style browser scrollbars" included in the list of Top Pain
>> Point Categories of the MDN Browser Compatibility Report.
>>
>> *Other signals*:
>>
>> Ergonomics
>>
>> The value of scrollbar-width influences other properties such as
>> scrollbar-gutter which take the scrollbar's thickness as reference. There
>> might be conflicts between these properties and Chromium's own
>> ::-webkit-scrollbar pseudo-elements that serve a similar purpose. This is
>> partially addressed by these standard properties taking precedence inside
>> of Chromium and WebKit.
>>
>>
>> Activation
>>
>> These properties are easy for developers to take advantage of many will
>> already be using them for Firefox support.
>>
>>
>> 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?
>>
>> This should have no impact on WebView applications. It will simply allow
>> customising the colours of scrollbars if they apply the necessary styles.
>>
>>
>> Debuggability
>>
>> Both properties will show up in dev tools with auto complete support.
>> Scrollbar color will also have the color swatch show up for both values.
>>
>>
>> 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>
>> ?No
>>
>> The existing Web Platform Tests are not exhaustive. Internal tests are
>> implemented where necessary. Results:
>> https://wpt.fyi/results/css/css-scrollbars
>>
>>
>> I'm guessing we're missing ways to test if the styles were applied. Is
>> that correct?
>> If so, can you file relevant WPT bugs to make sure we'd be able to expand
>> coverage in the future?
>>
>> Also, it seems like Safari is passing many of the tests despite not
>> having shipped this. The same is true for stable Chrome
>> <https://wpt.fyi/results/css/css-scrollbars?label=master&label=stable&aligned>.
>> Might be worthwhile to take a look and make sure the tests are actually
>> testing the feature..
>>
>>
>>
>> Flag name on chrome://flags#enable-experimental-web-platform-features
>>
>> Finch feature nameScrollbarColor and ScrollbarWidth
>>
>> Requires code in //chrome?False
>>
>> Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=891944
>>
>> Availability expectationExpect scrollbar-width to be available across
>> all browsers within a year. scrollbar-color requires platform changes for
>> WebKit on Apple platforms so may take longer to be available.
>>
>> Adoption expectationI expect these standard properties be the default
>> way developers choose to style both colouring and sizing of scrollbars,
>> replacing the legacy webkit pseudo styles for most developers.
>>
>> Sample links
>> https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-color
>> https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width
>>
>> Estimated milestones
>> Shipping on desktop
>> 121
>> DevTrial on desktop
>> 118
>> Shipping on Android
>> 121
>> DevTrial on Android
>> 118
>> Shipping on WebView
>> 121
>>
>> 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).
>> No anticipated spec changes, this is already shipping in Firefox for a
>> long time.
>>
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/5665308343795712
>>
>> Links to previous Intent discussionsIntent to prototype:
>> https://groups.google.com/a/chromium.org/g/blink-dev/c/zwG2m_KG0RY/m/8nEx9wCWAwAJ
>>
>> This intent message was generated by Chrome Platform Status
>> <https://chromestatus.com/>.
>>
>> On Friday, 20 October 2023 at 21:43:58 UTC+1 Luke wrote:
>>
>> Contact emails [email protected]
>>
>> Explainerhttps://github.com/felipeerias/css-scrollbars-explainer
>>
>> Specificationhttps://www.w3.org/TR/css-scrollbars-1
>>
>> Summary
>>
>> The CSS Scrollbars spec allows authors to style scrollbars by specifying
>> their colors and thickness. This spec adds the following two properties.
>> The scrollbar-color property provides the capability of changing the color
>> scheme of scrollbars so they fit better into the particular style of a web
>> page. The scrollbar-width property allows the use of narrower scrollbars
>> that may be more suitable for some use cases, or even to hide the
>> scrollbars completely without affecting scrollability.
>>
>>
>> Blink componentBlink>Layout>Scrollbars
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ELayout%3EScrollbars>
>>
>> Search tagscss <https://chromestatus.com/features#tags:css>, scrollbars
>> <https://chromestatus.com/features#tags:scrollbars>, scrollbar-color
>> <https://chromestatus.com/features#tags:scrollbar-color>, scrollbar-width
>> <https://chromestatus.com/features#tags:scrollbar-width>
>>
>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/563
>>
>> TAG review statusIssues addressed
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> These are already supported inside of Firefox so shouldn't present much
>> of a risk. It's possible that if Safari doesn't support them this could
>> lead to some level of fragmentation between the legacy pseudo styles and
>> the standard properties.
>>
>>
>> *Gecko*: Shipped/Shipping (
>> https://bugzilla.mozilla.org/show_bug.cgi?id=1460109) Firefox fully
>> supports both properties.
>>
>> *WebKit*: Positive (
>> https://github.com/WebKit/standards-positions/issues/133) A supportive
>> position has been given for both scrollbar-width and scrollbar-color. See
>> also https://github.com/WebKit/standards-positions/issues/134
>>
>> *Web developers*: Positive (https://insights.developer.mozilla.org)
>> "Inability to style browser scrollbars" included in the list of Top Pain
>> Point Categories of the MDN Browser Compatibility Report.
>>
>> *Other signals*:
>>
>> Ergonomics
>>
>> The value of scrollbar-width influences other properties such as
>> scrollbar-gutter which take the scrollbar's thickness as reference. There
>> might be conflicts between these properties and Chromium's own
>> ::-webkit-scrollbar pseudo-elements that serve a similar purpose. This is
>> partially addressed by these standard properties taking precedence inside
>> of Chromium and WebKit.
>>
>>
>> Activation
>>
>> These properties are easy for developers to take advantage of many will
>> already be using them for Firefox support.
>>
>>
>> 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?
>>
>> This should have no impact on WebView applications. It will simply allow
>> customising the colours of scrollbars if they apply the necessary styles.
>>
>>
>> Debuggability
>>
>> Both properties will show up in dev tools with auto complete support.
>> Scrollbar color will also have the color swatch show up for both values.
>>
>>
>> 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>
>> ?No
>>
>> The existing Web Platform Tests are not exhaustive. Internal tests are
>> implemented where necessary. Results:
>> https://wpt.fyi/results/css/css-scrollbars
>>
>>
>> Flag name on chrome://flags#enable-experimental-web-platform-features
>>
>> Finch feature nameScrollbarColor and ScrollbarWidth
>>
>> Requires code in //chrome?False
>>
>> Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=891944
>>
>> Availability expectationExpect scrollbar-width to be available across
>> all browsers within a year. scrollbar-color requires platform changes for
>> WebKit on Apple platforms so may take longer to be available.
>>
>> Adoption expectationI expect these standard properties be the default
>> way developers choose to style both colouring and sizing of scrollbars,
>> replacing the legacy webkit pseudo styles for most developers.
>>
>> Sample links
>> https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-color
>> https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width
>>
>> Estimated milestonesShipping on desktop121DevTrial on desktop118Shipping
>> on Android121DevTrial on Android118Shipping on WebView121
>>
>> 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).
>> No anticipated spec changes, this is already shipping in Firefox for a
>> long time.
>>
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/5665308343795712
>>
>> Links to previous Intent discussionsIntent to prototype:
>> https://groups.google.com/a/chromium.org/g/blink-dev/c/zwG2m_KG0RY/m/8nEx9wCWAwAJ
>>
>> 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/CAE-V8gBRP%2B11PMQSzs%3DLkUJWFnGTXvn5%2B%2Bx%2BWzX82i5sDqSEjw%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAE-V8gBRP%2B11PMQSzs%3DLkUJWFnGTXvn5%2B%2Bx%2BWzX82i5sDqSEjw%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/CAL5BFfVj_Rzhx%2BK0yocJDprbjUuuzvdf1khQgk0qZYaYiV4UJg%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVj_Rzhx%2BK0yocJDprbjUuuzvdf1khQgk0qZYaYiV4UJg%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/a85b6a9c-cf1e-4ec1-a776-f1455c861822%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a85b6a9c-cf1e-4ec1-a776-f1455c861822%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/CAEV-rjcghv6roHP%3DBmHpkAU%3D2KZ6TNFMREguPEihTL_PVFoWzQ%40mail.gmail.com.

Reply via email to