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

Add BCD for Topics API #20457

Merged
merged 7 commits into from
Oct 31, 2023
Merged

Add BCD for Topics API #20457

merged 7 commits into from
Oct 31, 2023

Conversation

chrisdavidmills
Copy link
Contributor

@chrisdavidmills chrisdavidmills commented Aug 2, 2023

Summary

The Topics API is an integral part of Google's privacy sandbox technologies. Many parts of this set are being made available by default in Chrome 115 (depending on a gradual ramp-up to 100% of userbase over the 115 release period).

This PR provides BCD for the Topics API and its related HTTP headers and other features.

See my research document for more details of exactly what changes are expected in the PR.

Test results and supporting details

Related issues

@github-actions github-actions bot added data:http Compat data for HTTP features. https://developer.mozilla.org/docs/Web/HTTP data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API data:html Compat data for HTML elements. https://developer.mozilla.org/docs/Web/HTML labels Aug 2, 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 17, 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 17, 2023
Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

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

The specification for these features doesn't have a 'good' standing in browser-specs. It is marked as 'pending'. Therefore we can't mark this as standard_track: true and we won't accept the specification URL.

(fwiw, it is also not accepted in packages like webref/idl which is used on MDN for inheritance data etc)

@chrisdavidmills
Copy link
Contributor Author

chrisdavidmills commented Oct 18, 2023

The specification for these features doesn't have a 'good' standing in browser-specs. It is marked as 'pending'. Therefore we can't mark this as standard_track: true and we won't accept the specification URL.

(fwiw, it is also not accepted in packages like webref/idl which is used on MDN for inheritance data etc)

@Elchi3 OK, updated.

I appreciate the error messaging and guidance on this — super helpful.

My question is — how should I represent the unofficial proposal on the content page Specification sections? Is there any guidance on this? I was thinking something like the note at https://developer.mozilla.org/en-US/docs/Web/API/Navigator/buildID#specifications, but linking to the proposal URL, maybe something like

This feature is not part of any public standard, although it is specified in the Topics API Unofficial Proposal Draft.

?

(In future I will push back on documenting things that haven't got a "real" spec yet, but given this one is now documented...)

@Elchi3
Copy link
Member

Elchi3 commented Oct 18, 2023

made available by default in Chrome 115 (depending on a gradual ramp-up to 100% of userbase over the 115 release period).

Do you have more sources of this really shipping by default in 115? Given this specification is not in webref/idl, the BCD collector doesn't have auto-generated tests for it, so I can't easily tell... Lately many of your PRs claimed Chrome 115 and then it was actually 117 or 118 per our collector results.

(I don't know if this API is actually stable enough to add it, we usually only submit additions to BCD if they have one shipping engine and standard_track: true. This is to avoid too much churn for APIs that are being developed still).

@Elchi3
Copy link
Member

Elchi3 commented Oct 18, 2023

My question is — how should I represent the unofficial proposal on the content page Specification sections? Is there any guidance on this? I was thinking something like the note at https://developer.mozilla.org/en-US/docs/Web/API/Navigator/buildID#specifications, but linking to the proposal URL, maybe something like

This feature is not part of any public standard, although it is specified in the Topics API Unofficial Proposal Draft.

?

That sounds good to me. We probably ought to talk about how to represent this better and consistently. Maybe even also include standards positions from other engines, but this question ought to be discussed in mdn/content, I think.

(In future I will push back on documenting things that haven't got a "real" spec yet, but given this one is now documented...)

Yes, that would be good, I think. Otherwise we end up redoing a lot of docs (see Sanitizer API).

@chrisdavidmills
Copy link
Contributor Author

Do you have more sources of this really shipping by default in 115? Given this specification is not in webref/idl, the BCD collector doesn't have auto-generated tests for it, so I can't easily tell... Lately many of your PRs claimed Chrome 115 and then it was actually 117 or 118 per our collector results.

@Elchi3 I tend to look at the ChromeStatus pages and then ask the engineers to validate that data or give me better data. Unfortunately, quite a lot of the 115 stuff bounced into 117 or later; it was worse recently than it had previously been. I will ask the engineers for an update on this one, both on the standardization status and on the Chrome version. The Chrome roadmap reckons it was definitely released in Chrome 115, but I'll check it.

@chrisdavidmills
Copy link
Contributor Author

Do you have more sources of this really shipping by default in 115? Given this specification is not in webref/idl, the BCD collector doesn't have auto-generated tests for it, so I can't easily tell... Lately many of your PRs claimed Chrome 115 and then it was actually 117 or 118 per our collector results.

@Elchi3 OK, so the Chrome engineering team has verified that this API was definitely shipped in Chrome 115.

@Elchi3
Copy link
Member

Elchi3 commented Oct 19, 2023

From the conversation in Slack I believe you're still checking the standardization status here, so I'm setting this to draft. Please set to ready once you have answers and I can re-review and merge.

@Elchi3 Elchi3 marked this pull request as draft October 19, 2023 13:59
@chrisdavidmills chrisdavidmills marked this pull request as ready for review October 31, 2023 10:10
@chrisdavidmills
Copy link
Contributor Author

From the conversation in Slack I believe you're still checking the standardization status here, so I'm setting this to draft. Please set to ready once you have answers and I can re-review and merge.

@Elchi3 I've not received any answers that show a clear path forward on the standardization of this API, so I'm going to suggest that we go ahead and merge as-is, and then return to it later and add the spec_urls back when it is standardized.

I've made the corresponding change in the docs work for this, which replaces the specification macros with the note we discussed above: see mdn/content@5235cc5.

Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

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

Thanks Chris! Per the info you provided I'm merging this as a non-standard API shipping in Chromiums 115.

@Elchi3 Elchi3 merged commit 4da1662 into mdn:main Oct 31, 2023
4 checks passed
@chrisdavidmills chrisdavidmills deleted the topics-api branch November 1, 2023 09:17
Elchi3 added a commit to Elchi3/browser-compat-data that referenced this pull request Nov 14, 2023
* Add BCD for Topics API

* Fix ordering error

* remove invalid spec_urls and set corresponding standard_track settings to false

---------

Co-authored-by: Florian Scholz <fs@florianscholz.com>
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:html Compat data for HTML elements. https://developer.mozilla.org/docs/Web/HTML 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.

2 participants