Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for Chrome 121 beta #21603

Merged
merged 1 commit into from
Dec 18, 2023
Merged

Updates for Chrome 121 beta #21603

merged 1 commit into from
Dec 18, 2023

Conversation

Elchi3
Copy link
Member

@Elchi3 Elchi3 commented Dec 13, 2023

The Open Web Docs BCD collector found new features shipping in Chrome 121 beta. Currently, the collector covers about 82% of BCD, so the following list might not be exhaustive. Certain APIs that use enrollment etc. might not have been found either. For comparison, the Chromestatus list for Chrome 121 is here: https://chromestatus.com/features#milestone%3D121.


With this PR, BCD marks the following features as shipping in Chrome 121: cc @chrisdavidmills

  • api.CSSImportRule.supportsText
  • api.CharacterBoundsUpdateEvent
  • api.CharacterBoundsUpdateEvent.CharacterBoundsUpdateEvent
  • api.CharacterBoundsUpdateEvent.rangeEnd
  • api.CharacterBoundsUpdateEvent.rangeStart
  • api.ClipboardItem.supports_static
  • api.EditContext
  • api.EditContext.EditContext
  • api.EditContext.attachedElements
  • api.EditContext.characterBounds
  • api.EditContext.characterBoundsRangeStart
  • api.EditContext.characterboundsupdate_event
  • api.EditContext.compositionend_event
  • api.EditContext.compositionstart_event
  • api.EditContext.selectionEnd
  • api.EditContext.selectionStart
  • api.EditContext.text
  • api.EditContext.textformatupdate_event
  • api.EditContext.textupdate_event
  • api.EditContext.updateCharacterBounds
  • api.EditContext.updateControlBounds
  • api.EditContext.updateSelection
  • api.EditContext.updateSelectionBounds
  • api.EditContext.updateText
  • api.HTMLElement.editContext
  • api.HTMLSelectElement.showPicker
  • api.TextFormat
  • api.TextFormat.TextFormat
  • api.TextFormat.rangeEnd
  • api.TextFormat.rangeStart
  • api.TextFormat.underlineStyle
  • api.TextFormat.underlineThickness
  • api.TextFormatUpdateEvent
  • api.TextFormatUpdateEvent.TextFormatUpdateEvent
  • api.TextFormatUpdateEvent.getTextFormats
  • api.TextUpdateEvent
  • api.TextUpdateEvent.TextUpdateEvent
  • api.TextUpdateEvent.selectionEnd
  • api.TextUpdateEvent.selectionStart
  • api.TextUpdateEvent.text
  • api.TextUpdateEvent.updateRangeEnd
  • api.TextUpdateEvent.updateRangeStart
  • css.properties.scrollbar-color
  • css.properties.scrollbar-width
  • css.selectors.grammar-error
  • css.selectors.spelling-error
  • javascript.builtins.Array.fromAsync

Some new features have been tagged to be part of the "web-features:edit-context" group. cc @ddbeck

  • api.CharacterBoundsUpdateEvent
  • api.CharacterBoundsUpdateEvent.CharacterBoundsUpdateEvent
  • api.CharacterBoundsUpdateEvent.rangeEnd
  • api.CharacterBoundsUpdateEvent.rangeStart
  • api.EditContext
  • api.EditContext.EditContext
  • api.EditContext.attachedElements
  • api.EditContext.characterBounds
  • api.EditContext.characterBoundsRangeStart
  • api.EditContext.characterboundsupdate_event
  • api.EditContext.compositionend_event
  • api.EditContext.compositionstart_event
  • api.EditContext.selectionEnd
  • api.EditContext.selectionStart
  • api.EditContext.text
  • api.EditContext.textformatupdate_event
  • api.EditContext.textupdate_event
  • api.EditContext.updateCharacterBounds
  • api.EditContext.updateControlBounds
  • api.EditContext.updateSelection
  • api.EditContext.updateSelectionBounds
  • api.EditContext.updateText
  • api.HTMLElement.editContext
  • api.TextFormat
  • api.TextFormat.TextFormat
  • api.TextFormat.rangeEnd
  • api.TextFormat.rangeStart
  • api.TextFormat.underlineStyle
  • api.TextFormat.underlineThickness
  • api.TextFormatUpdateEvent
  • api.TextFormatUpdateEvent.TextFormatUpdateEvent
  • api.TextFormatUpdateEvent.getTextFormats
  • api.TextUpdateEvent
  • api.TextUpdateEvent.TextUpdateEvent
  • api.TextUpdateEvent.selectionEnd
  • api.TextUpdateEvent.selectionStart
  • api.TextUpdateEvent.text
  • api.TextUpdateEvent.updateRangeEnd
  • api.TextUpdateEvent.updateRangeStart

@github-actions github-actions bot added data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API data:css 🎨 Compat data for CSS features. https://developer.mozilla.org/docs/Web/CSS data:js 📟 Compat data for JS/ECMAScript features. https://developer.mozilla.org/docs/Web/JavaScript labels Dec 13, 2023
@ddbeck
Copy link
Collaborator

ddbeck commented Dec 14, 2023

Cool! I will spot check the tagged features a little later and if everything looks good create a corresponding edit-context YAML on web-features.

And if @captainbrosset wants to comment on creating a new edit-context group (since I saw mdn/mdn#493) that'd be nice too, but probably not a blocker.

@Elchi3
Copy link
Member Author

Elchi3 commented Dec 14, 2023

Thanks @ddbeck! I called the group edit-context here but happy to change to text-edit if that's a better name.

@ddbeck
Copy link
Collaborator

ddbeck commented Dec 14, 2023

Thanks @ddbeck! I called the group edit-context here but happy to change to text-edit if that's a better name.

No that was just me misreading 🤦. I've edited my earlier comment to make it more obvious what the heck I was talking about.

@ddbeck
Copy link
Collaborator

ddbeck commented Dec 14, 2023

OK, reviewing only the tagging part here: I've now compared the spec to tagged features. I'm happy with this list. I've opened a companion feature PR on web-features: web-platform-dx/web-features#496.

Again, it'd be nice to get someone who knows anything at all about this API to check to see if I've missed anything (or if there's a likely reason to hold this back—e.g., it might not actually land in 121). But I'd be OK without it too.

@captainbrosset
Copy link
Contributor

And if @captainbrosset wants to comment on creating a new edit-context group (since I saw mdn/mdn#493) that'd be nice too, but probably not a blocker.

Creating a new edit-context group sounds perfect!

Copy link
Contributor

@captainbrosset captainbrosset left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I spot checked the EditContext-related stuff and the edit-context web-features group, and all seems fine to me.
I don't think there's a lot of risks for mistakes here. This is a self-contained API (i.e. not like Clipboard 😉) that shipped all in one release.
That said, I'm also very new to it myself (probably like everyone but the spec authors at this point).
I'll be documenting this on MDN soon, so might have more feedback after that.

@chrisdavidmills
Copy link
Collaborator

@Elchi3 I went through all the Chrome 121 beta entries with a fine toothcomb and compiled the following lists to represent items that the collector picked up, versus ones it didn't. This time I opted for a simplified format that was quicker to compile and possibly a bit easier to go through. Does this work for you?

Features listed in Chrome 121 beta release

Found by the collector

  • api.CSSImportRule.supportsText: I'm not really sure where this one fits in
  • Feature detection for supported clipboard formats: https://chromestatus.com/feature/5176417696612352
    • api.ClipboardItem.supports_static
  • EditContext API: https://chromestatus.com/feature/5041440373604352
    • api.CharacterBoundsUpdateEvent
    • api.CharacterBoundsUpdateEvent.CharacterBoundsUpdateEvent
    • api.CharacterBoundsUpdateEvent.rangeEnd
    • api.CharacterBoundsUpdateEvent.rangeStart
    • api.EditContext
    • api.EditContext.EditContext
    • api.EditContext.attachedElements
    • api.EditContext.characterBounds
    • api.EditContext.characterBoundsRangeStart
    • api.EditContext.characterboundsupdate_event
    • api.EditContext.compositionend_event
    • api.EditContext.compositionstart_event
    • api.EditContext.selectionEnd
    • api.EditContext.selectionStart
    • api.EditContext.text
    • api.EditContext.textformatupdate_event
    • api.EditContext.textupdate_event
    • api.EditContext.updateCharacterBounds
    • api.EditContext.updateControlBounds
    • api.EditContext.updateSelection
    • api.EditContext.updateSelectionBounds
    • api.EditContext.updateText
    • api.HTMLElement.editContext
    • api.TextFormat
    • api.TextFormat.TextFormat
    • api.TextFormat.rangeEnd
    • api.TextFormat.rangeStart
    • api.TextFormat.underlineStyle
    • api.TextFormat.underlineThickness
    • api.TextFormatUpdateEvent
    • api.TextFormatUpdateEvent.TextFormatUpdateEvent
    • api.TextFormatUpdateEvent.getTextFormats
    • api.TextUpdateEvent
    • api.TextUpdateEvent.TextUpdateEvent
    • api.TextUpdateEvent.selectionEnd
    • api.TextUpdateEvent.selectionStart
    • api.TextUpdateEvent.text
    • api.TextUpdateEvent.updateRangeEnd
    • api.TextUpdateEvent.updateRangeStart
  • HTMLSelectElement showPicker(): https://chromestatus.com/feature/5111537299881984
    • api.HTMLSelectElement.showPicker
  • CSS Scrollbars: scrollbar-color, scrollbar-width: https://chromestatus.com/feature/5665308343795712
    • css.properties.scrollbar-color
    • css.properties.scrollbar-width
  • CSS spelling and grammar features: https://chromestatus.com/feature/4811776539492352
    • css.selectors.grammar-error
    • css.selectors.spelling-error
  • Array.fromAsync: https://chromestatus.com/feature/5069575759069184
    • javascript.builtins.Array.fromAsync

Not found by the collector

@Elchi3
Copy link
Member Author

Elchi3 commented Dec 15, 2023

Thanks once again Chris for your detailed analysis. It will help us to detect more things automatically in the future. ❤️

Some comments on items not found:

  • As said previously, features that are "behavior things" aren't really subject to our automatic collection. So thanks for listing them, but right now we can't do anything about them automatically.
  • Same for features that are new parameters and other sub features: not always subject to automatic collection right now.
  • Enrollment. We have to see how to support enrollment in the collector and how to have a note on BCD features that are only available when enrolled. This is a to-do for BCD and the collector. Right now it is very tricky to tell if they are supported.
  • HTTP features aren't automatically collected currently. I don't know how we could feature detect these. Something to think about. I think we should add the new HTTP header in a separate PR manually.

Two things that seem like we should have detected them with our current infrastructure:

Remote Playback API: https://chromestatus.com/feature/5778318691401728 (surprised this one wasn't found).

Yes, I am surprised too. We have #21486 to investigate the situation. Seems like the API was exposed for a long time already and so we feature detected it when it shipped to Android already.

Storage Buckets API: https://chromestatus.com/feature/5739224579964928 (surprised this one wasn't found).

Yes, strange. I wonder if this slipped to 122? See https://wpt.fyi/results/storage/buckets?label=master&product=chrome-121.0.6167.8%20beta&product=chrome%5Bexperimental%5D&aligned where the WPT fail for 121 and pass for 122. Maybe Chromestatus is wrong?

@Elchi3
Copy link
Member Author

Elchi3 commented Dec 18, 2023

@chrisdavidmills I'm not planning to add more to this PR. If what this PR changes, looks good to you, I'd appreciate an approval and merge. :) I left some comments for the rest, but that should probably be sorted in other PRs.

@chrisdavidmills
Copy link
Collaborator

@chrisdavidmills I'm not planning to add more to this PR. If what this PR changes, looks good to you, I'd appreciate an approval and merge. :) I left some comments for the rest, but that should probably be sorted in other PRs.

@Elchi3. Sure thing; merging!

@chrisdavidmills chrisdavidmills merged commit e90b87e into mdn:main Dec 18, 2023
5 checks passed
@Elchi3 Elchi3 deleted the chrome-121 branch December 18, 2023 13:13
foolip added a commit to foolip/browser-compat-data that referenced this pull request Apr 6, 2024
https://chromestatus.com/feature/5041440373604352 says this is supported
in Chrome for Android, and wpt.fyi results agree:
https://wpt.fyi/results/editing/edit-context?label=master&product=chrome&product=chrome_android

This updates all features tagged with web-features:edit-context,
originally added here:
mdn#21603
Elchi3 pushed a commit that referenced this pull request Apr 8, 2024
https://chromestatus.com/feature/5041440373604352 says this is supported
in Chrome for Android, and wpt.fyi results agree:
https://wpt.fyi/results/editing/edit-context?label=master&product=chrome&product=chrome_android

This updates all features tagged with web-features:edit-context,
originally added here:
#21603
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API data:css 🎨 Compat data for CSS features. https://developer.mozilla.org/docs/Web/CSS data:js 📟 Compat data for JS/ECMAScript features. https://developer.mozilla.org/docs/Web/JavaScript
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants