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 Firefox 120 #21083

Merged
merged 10 commits into from
Nov 10, 2023
Merged

Updates for Firefox 120 #21083

merged 10 commits into from
Nov 10, 2023

Conversation

Elchi3
Copy link
Member

@Elchi3 Elchi3 commented Oct 25, 2023

I've run the collector for Firefox 120 beta.

This PR sets the following features to 120:

User activation (confirmed by https://bugzilla.mozilla.org/show_bug.cgi?id=1791079)

  • api.Navigator.userActivation
  • api.UserActivation
  • api.UserActivation.hasBeenActive
  • api.UserActivation.isActive

ToggleEvent (confirmed by https://bugzilla.mozilla.org/show_bug.cgi?id=1817122) (Not in Ruth's list!)

  • api.ToggleEvent
  • api.ToggleEvent.ToggleEvent
  • api.ToggleEvent.newState
  • api.ToggleEvent.oldState

WebAuthn addition (confirmed by https://bugzilla.mozilla.org/show_bug.cgi?id=1810851)

  • api.PublicKeyCredential.authenticatorAttachment

The following features are already marked as shipping in Firefox 120 in BCD:

  • css.types.color.light-dark
  • css.types.length.lh
  • css.types.length.rlh

The tracking issue Ruth filed contains a few more things that the collector doesn't know about.

More complex cases that need separate investigation:

Cases to add manually:

cc @Rumyra @bsmth

@github-actions github-actions bot added the data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Oct 25, 2023
@github-actions github-actions bot added data:http 🚠 Compat data for HTTP features. https://developer.mozilla.org/docs/Web/HTTP data:css 🎨 Compat data for CSS features. https://developer.mozilla.org/docs/Web/CSS labels Oct 25, 2023
@github-actions github-actions bot added the merge conflicts 🚧 This PR needs to merge latest "main" branch to resolve a merge conflict or other issue. label Oct 27, 2023
@github-actions
Copy link

This pull request has merge conflicts that must be resolved before it can be merged.

@github-actions github-actions bot removed the merge conflicts 🚧 This PR needs to merge latest "main" branch to resolve a merge conflict or other issue. label Oct 27, 2023
@queengooborg queengooborg changed the title Collector results for Firefox 120 Updates for Firefox 120 Oct 29, 2023
@Elchi3
Copy link
Member Author

Elchi3 commented Oct 30, 2023

@hamishwillee Thanks for your review. If we would provide a PR like this one for every future Firefox release, would this work for you? What would you improve?

@hamishwillee
Copy link
Collaborator

hamishwillee commented Oct 30, 2023

@hamishwillee Thanks for your review. If we would provide a PR like this one for every future Firefox release, would this work for you?

Absolutely

What would you improve?

It would be better to split by affected document and name the change based on the highest-level-most-granular modified feature and the source of the change. So in this update you'd end up with Bot: FF120 Update to UserActivation and Bot: FF120 Update to Navigator.userActivation.

This hasn't merged because it is monolithic. If it was just my bits I would already have approved and merged those parts. If there had been any nuances missed by testing then no one else would have to wait on me looking at those. I'm thinking cases where the API is stubbed so it passes an existence test, but doesn't actually "work".

Counter argument for monolithic issue is that it gives just one place for all information about the release changes.

Note, I edited this because I originally requested better documentation, then I looked more closely and you provided exactly what I asked for already. Doh.

@hamishwillee
Copy link
Collaborator

hamishwillee commented Oct 30, 2023

@Elchi3 Perhaps though, I'm not thinking of this in the same way as you.

I've been envisaging a model where you create this PR(s), they then get reviewed by people like me while we're doing docs for the release, and then merges. But perhaps that is not the intent, and even if it is, perhaps not the right approach.

We could instead create the PRs then auto merge (or merge after cursory inspection). Writers would then retrofit fixes to specific cases afterwards if needed - for example adding a note that something is a partial implementation.

I quite like the second approach because most of the time the tests end up being correct. It might or might not be quite as accurate on submission, but likely to be a much more efficient process with fewer delays.

Upshot, I'd amend my answer to the previous comment if the intent is to auto merge and correct, rather than manually correct and then merge.

@hamishwillee
Copy link
Collaborator

Probably another tool, but "auto addition of spec urls and MDN URLs if known and not present" would be nice.

@hamishwillee
Copy link
Collaborator

hamishwillee commented Oct 31, 2023

html.iframe.lazy: This is nightly only and I guess it should be in Ruth's list as an experimental feature :)

FYI it is currently nightly and behind pref. Expectation is probably will end up in 121. I have added to preview in #21126

@Elchi3
Copy link
Member Author

Elchi3 commented Oct 31, 2023

It would be better to split by affected document and name the change based on the highest-level-most-granular modified feature and the source of the change. So in this update you'd end up with Bot: FF120 Update to UserActivation and Bot: FF120 Update to Navigator.userActivation.

This hasn't merged because it is monolithic. If it was just my bits I would already have approved and merged those parts. If there had been any nuances missed by testing then no one else would have to wait on me looking at those. I'm thinking cases where the API is stubbed so it passes an existence test, but doesn't actually "work".

Counter argument for monolithic issue is that it gives just one place for all information about the release changes.

Note, I edited this because I originally requested better documentation, then I looked more closely and you provided exactly what I asked for already. Doh.

Yes, I tried to capture everything we know about Firefox 120 in this PR so we could look at its release as a whole. Maybe you are right though and smaller PRs are better than this monolithic approach. We could have a release tracking issue instead that collects all information about a release and point to smaller (automatic) PRs from it.

I've been envisaging a model where you create this PR(s), they then get reviewed by people like me while we're doing docs for the release, and then merges.

Yes exactly, I chose the monolithic approach because I was hoping to have "release drivers" from browser vendors or tech writers like you look at it and tell us if we have everything for a release.

We could instead create the PRs then auto merge (or merge after cursory inspection). Writers would then retrofit fixes to specific cases afterwards if needed - for example adding a note that something is a partial implementation.
I quite like the second approach because most of the time the tests end up being correct. It might or might not be quite as accurate on submission, but likely to be a much more efficient process with fewer delays.

Yes, we could try this.

Another thing I will say is that timing matters. This PR for 120 was opened at the beginning of its beta cycle when we had almost no manual submissions from people like you or Brian or Dipika. That said, let's play with a tracking issue and smaller PRs for the 121 cycle and see if that feels better.

@hamishwillee
Copy link
Collaborator

That said, let's play with a tracking issue and smaller PRs for the 121 cycle and see if that feels better.

Works for me, but let's see what others want. Either way, thank you. This is going to save a lot of time and be more accurate either way.

@dipikabh
Copy link
Contributor

dipikabh commented Nov 1, 2023

@Elchi3, thanks for this PR!

For Firefox 120, I am working on doc updates for [HTML] implement source media. I noticed you mentioned the need for investigation around this:

<source media> for media elements: investigation needed where exactly we need to update compat data

As I've also captured in the issue comment, the BCD table does indicate support for the media attribute. However, it doesn't specify that this support varies depending on the parent element of <source>. To elaborate:

  • media was initially supported in Firefox 15.
  • In Firefox 53, its support was restricted to <source> elements with a <picture> parent.
  • Now, with Firefox 120, the attribute is supported when <source> is a child of either <audio>, <video>, or <picture>, that is back to how it was originally implemented.

Looks like other browsers went through a similar cycle.

Do you think we should update the BCD table to include this information as notes? Had these notes been in place for previous releases, do you think the collector would have picked up these details? I guess the notes would have helped us to understand changes across releases rightaway. What do you think?

@Elchi3
Copy link
Member Author

Elchi3 commented Nov 2, 2023

  • media was initially supported in Firefox 15.
  • In Firefox 53, its support was restricted to <source> elements with a <picture> parent.
  • Now, with Firefox 120, the attribute is supported when <source> is a child of either <audio>, <video>, or <picture>, that is back to how it was originally implemented.

Thanks for researching this, Dipika! 🎉 I think this sort of behavior-related stuff is hard for us to automate. That said I think it would be cool if we could have notes added to html.elements.source.media and introduce three ranges for Firefox 15-53, Firefox 53-120, and Firefox 120+. I can try that in this PR or we make that happen in a separate PR if you want to open one. Let me know. Thanks again for finding this out!

http/status.json Outdated Show resolved Hide resolved
@hamishwillee
Copy link
Collaborator

FYI @Elchi3 Just added Sec-GPC HTTP header and the navigator property which are only on desktop. Don't know why not picked up by your scripts for at least the navigator change. See https://bugzilla.mozilla.org/show_bug.cgi?id=1856029

Co-authored-by: Hamish Willee <[email protected]>
@Elchi3
Copy link
Member Author

Elchi3 commented Nov 3, 2023

Don't know why not picked up by your scripts for at least the navigator change.

I think it is because the collector uses WebIDLs from W3C's webref. GPC is not an official spec, so therefore it is not in the webref project.

@dipikabh
Copy link
Contributor

dipikabh commented Nov 3, 2023

we could have notes added to html.elements.source.media and introduce three ranges for Firefox 15-53, Firefox 53-120, and Firefox 120+.

Thanks for the hint, @Elchi3. I've opened a PR to add the note: #21158. I tried adding three separate notes but I was getting validation errors. I've retained one note to convey the support info.

api/Navigator.json Outdated Show resolved Hide resolved
Co-authored-by: Hamish Willee <[email protected]>
@Elchi3
Copy link
Member Author

Elchi3 commented Nov 9, 2023

  • css.properties.text-wrap.balance: need to add manually

I think this is the only thing we have not done in this PR or in a separate PR.

If otherwise everyone is happy with the state of the Firefox 120 updates done here, we could merge this in if you like! Thanks everyone for your feedback, hoping to make this as smooth as possible in the future for you all!

Copy link
Collaborator

@hamishwillee hamishwillee left a comment

Choose a reason for hiding this comment

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

I'm happy for it to merge - we can always iterate and this ensures that the data will be up to date on the site when the release happens.

@Elchi3 Elchi3 merged commit 8b95651 into mdn:main Nov 10, 2023
4 checks passed
@Elchi3 Elchi3 deleted the firefox-120 branch November 10, 2023 08:53
Elchi3 added a commit to Elchi3/browser-compat-data that referenced this pull request Nov 14, 2023
* Collector results for Firefox 120

* Add http.status.103 update manually

* Add -moz-image-rect updates manually

* Add subfeatures for http 103 status per Hamish

* FF Sec-GPC 120

https://bugzilla.mozilla.org/show_bug.cgi?id=1856029

* Navigator.globalPrivacyControl

* Add flag

Co-authored-by: Hamish Willee <[email protected]>

* WorkerNavigator.globalPrivacyControl - mirror navigator property

* Update GPC opt-in note

Co-authored-by: Hamish Willee <[email protected]>

---------

Co-authored-by: Hamish Willee <[email protected]>
@Elchi3
Copy link
Member Author

Elchi3 commented Nov 21, 2023

As discussed this morning, we should run the collector when browsers hit the beta stage and then again when they hit the release stage. Today I checked if there is any difference to from Firefox 120 beta to Firefox 120 stable. There isn't much:

  • The collector found one more thing to document for Firefox 120: Window.sizeToContent is gone.
  • Not found by the collector but by Tomayac: Firefox 120 supports WasmGC.

queengooborg added a commit to queengooborg/browser-compat-data that referenced this pull request Dec 10, 2023
This PR updates and corrects version values for Firefox and Firefox Android for the `Sec-GPC` HTTP header. This is a follow-up to mdn#21083, where the note was updated in the Navigator API, but not the HTTP header.
hamishwillee pushed a commit that referenced this pull request Dec 10, 2023
This PR updates and corrects version values for Firefox and Firefox Android for the `Sec-GPC` HTTP header. This is a follow-up to #21083, where the note was updated in the Navigator API, but not the HTTP header.
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:http 🚠 Compat data for HTTP features. https://developer.mozilla.org/docs/Web/HTTP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants