Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 48 additions & 6 deletions api/ExtendableCookieChangeEvent.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,14 @@
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "18.4"
"version_added": "18.4",
"flags": [
{
"name": "Cookie Store API CookieStoreManager",
"type": "preference",
"value_to_set": "Enabled"
}
]
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
Expand Down Expand Up @@ -56,7 +63,14 @@
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "18.4"
"version_added": "18.4",
"flags": [
{
"name": "Cookie Store API CookieStoreManager",
"type": "preference",
"value_to_set": "Enabled"
}
Comment on lines +67 to +72
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need to repeat the flags on the subfeatures?

In #27726, I asked for these to be removed. If the interface is behind a flag, all the subfeatures are implicitly behind that flag as well, aren't they? Similarly, if a parent feature is only implemented with an alternative name, we don't specify the alternative name on the subfeatures (it would be misleading).

Copy link
Contributor Author

@queengooborg queengooborg Sep 9, 2025

Choose a reason for hiding this comment

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

Yes, we should be propagating the flag data down to subfeatures.

Unlike prefixes or alternative names, flags apply directly to the subfeatures as well. By copying the data down to subfeatures, it allows consumers to understand that a flag must be enabled for the feature, even if they're looking at a small scope such as a single method or property.

Another benefit of copying the flag data down to subfeatures (and not in a build step) is that it makes it easier for tooling, such as the collector, to update this data once the flag's been enabled by default. In fact, it was actually due to the collector tests that the lack of default support was detected!

While the collector could be updated to account for parent flag data, based upon my understanding of the way the new update script works, that would involve a complete rewrite. Either that, or a whole list of results overrides would have to be maintained!

]
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
Expand Down Expand Up @@ -91,7 +105,14 @@
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "18.4"
"version_added": "18.4",
"flags": [
{
"name": "Cookie Store API CookieStoreManager",
"type": "preference",
"value_to_set": "Enabled"
}
]
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
Expand Down Expand Up @@ -125,7 +146,14 @@
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "18.4"
"version_added": "18.4",
"flags": [
{
"name": "Cookie Store API CookieStoreManager",
"type": "preference",
"value_to_set": "Enabled"
}
]
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
Expand Down Expand Up @@ -161,7 +189,14 @@
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "18.4"
"version_added": "18.4",
"flags": [
{
"name": "Cookie Store API CookieStoreManager",
"type": "preference",
"value_to_set": "Enabled"
}
]
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
Expand Down Expand Up @@ -195,7 +230,14 @@
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "18.4"
"version_added": "18.4",
"flags": [
{
"name": "Cookie Store API CookieStoreManager",
"type": "preference",
"value_to_set": "Enabled"
}
]
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
Expand Down