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

Audit Chrome 45 versions #7844

Closed
foolip opened this issue Dec 14, 2020 · 5 comments
Closed

Audit Chrome 45 versions #7844

foolip opened this issue Dec 14, 2020 · 5 comments
Labels
bulk_update 📦 An update to a mass amount of data, or scripts/linters related to such changes

Comments

@foolip
Copy link
Collaborator

foolip commented Dec 14, 2020

The "Find Releases" tool at the bottom of https://omahaproxy.appspot.com/ is often used by BCD contributors to figure out which Chrome release a certain Chromium commit was first included in.

Back in Sep 2015, the Blink and Chromium repositories were merged. That was for Chrome 47. Whether related to that merge or not, I have observed that trying to use the "Find Releases" tool with commits much older than that often incorrectly says that something was in Chrome 45, despite it actually being in an earlier release.

As an example, https://storage.googleapis.com/chromium-find-releases-static/243.html#24375f20cd603d56b8847b329209964c1281ba7a says "initially landed in 45.0.2454.101" but looking up the time of the commit with https://www.chromium.org/developers/calendar gives Chrome 43. I've seen this many times.

I would treat Chrome 45 as worthy of extra scrutiny in review, and moreover think we should go over the list of features in npm run traverse chrome api 45 and make sure the data can be confirmed by http://mdn-bcd-collector.appspot.com/. Where we have no tests, the existing data might well be wrong because of this reason.

@ddbeck @Elchi3 @jpmedley @sideshowbarker @vinyldarkscratch FYI

@queengooborg queengooborg added the data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Dec 15, 2020
@ddbeck ddbeck removed the data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Dec 17, 2020
@queengooborg queengooborg added the bulk_update 📦 An update to a mass amount of data, or scripts/linters related to such changes label May 6, 2021
@foolip
Copy link
Collaborator Author

foolip commented Jul 20, 2021

See #11631 (comment) about CSSGroupingRule, a change that did happen in Chrome 45 but should perhaps be tweaked per https://github.com/mdn/browser-compat-data/blob/main/docs/data-guidelines.md#apis-moved-on-the-prototype-chain

@foolip
Copy link
Collaborator Author

foolip commented Oct 21, 2021

@jpmedley FYI about this problem. I see that #4398 (review) is a case of this, where Chrome 45 was set incorrectly. In that case it's actually Chrome 43 so a very minor problem, but the errors can be bigger with other APIs.

foolip added a commit to foolip/browser-compat-data that referenced this issue Oct 21, 2021
The source of this data is this comment:
mdn#4398 (review)

However, because of a problem with Chromium's "Find Releases" tool,
Chrome 45 is often claimed for commits older than that:
mdn#7844

Chrome 43 was confirmed by testing 42 and 43 with this test:
http://mdn-bcd-collector.appspot.com/tests/api/RTCIceCandidate/toJSON

Chrome 43 is also what commit date + branch point dates suggests:
https://source.chromium.org/chromium/chromium/src/+/4a6ce1a6ad82c9b9f16bcb136303acadf08422ea
https://www.chromium.org/developers/calendar
@jpmedley
Copy link
Contributor

jpmedley commented Oct 21, 2021 via email

queengooborg pushed a commit that referenced this issue Oct 23, 2021
The source of this data is this comment:
#4398 (review)

However, because of a problem with Chromium's "Find Releases" tool,
Chrome 45 is often claimed for commits older than that:
#7844

Chrome 43 was confirmed by testing 42 and 43 with this test:
http://mdn-bcd-collector.appspot.com/tests/api/RTCIceCandidate/toJSON

Chrome 43 is also what commit date + branch point dates suggests:
https://source.chromium.org/chromium/chromium/src/+/4a6ce1a6ad82c9b9f16bcb136303acadf08422ea
https://www.chromium.org/developers/calendar
foolip added a commit to foolip/browser-compat-data that referenced this issue May 9, 2022
foolip added a commit to foolip/browser-compat-data that referenced this issue May 9, 2022
@foolip
Copy link
Collaborator Author

foolip commented May 9, 2022

Burndown list to verify or fixed based on npm run traverse chrome all 45:

foolip added a commit to foolip/browser-compat-data that referenced this issue May 9, 2022
foolip added a commit to foolip/browser-compat-data that referenced this issue May 10, 2022
The source of this is mdn#3560.

That linked to the IDL cleanup:
https://chromium.googlesource.com/chromium/src/+/4e5bd2dafd23ae978222f7e4a73225a89a567f55

That made no actual, observable changes, as noted:

> There are no changes to the generated code, other than order.

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 10, 2022
This is based on testing Chrome 41 and 42 with a staging version of
mdn-bcd-collector with these updated tests:
foolip/mdn-bcd-collector#1991

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#1059

No source was given, but it might have been this:
https://storage.googleapis.com/chromium-find-releases-static/f77.html#f777755953e905594276a99cf64fc3848406d5f6

However, that commit was in time for Chrome 36 or 37, well before
Service Workers were first enabled. So match the parent feature.

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#3502

However, this was behind a flag [RuntimeEnabled=ContextMenu] and never
shipped. Related bits like html.elements.menuitem and
html.global_attributes.contextmenu are already set to false.

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#3958

However, https://chromium.googlesource.com/chromium/src/+/776e9a66223e95141b0b8bc6c6f9a847cd5fd8c4
was long before Chrome 45. Support was tested using
`webkitMediaStream.prototype.clone` and `MediaStreamTrack.prototype.clone`
in Chrome 34 and 45. (One interface was prefixed at the time.)

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#3958

However, https://chromium.googlesource.com/chromium/src/+/776e9a66223e95141b0b8bc6c6f9a847cd5fd8c4
was long before Chrome 45. Support was tested using
`webkitMediaStream.prototype.clone` and `MediaStreamTrack.prototype.clone`
in Chrome 34 and 35. (One interface was prefixed at the time.)

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#3958

However, https://chromium.googlesource.com/chromium/src/+/776e9a66223e95141b0b8bc6c6f9a847cd5fd8c4
was long before Chrome 45. Support was tested using
`webkitMediaStream.prototype.clone` and `MediaStreamTrack.prototype.clone`
in Chrome 34 and 35. (One interface was prefixed at the time.)

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#3958

However, https://chromium.googlesource.com/chromium/src/+/e99d73de1761aec44e23381e565ee48430d9a699
was long before Chrome 45. Support was tested using
`webkitMediaStream.prototype.getTracks` in Chrome 37 and 38.

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#3255

https://chromium.googlesource.com/chromium/src/+/5fc555b830a9b5b1536e242d8754d7e507bcc75a
was used as the source, which is the right commit but it wasn't first in
Chrome 45 but earlier.

At the time, the MediaQueryList interface had [NoInterfaceObject], but
because MediaQueryListEvent was implemented/exposed at the same time, we
can assume that the versions should match. Chrome 39 was confirmed with
this test:
https://mdn-bcd-collector.appspot.com/tests/api/MediaQueryListEvent

The data for MediaQueryListEvent already matches.

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#1768

No evidence for the specific versions were given.

The mere exposure of Notification in dedicated workers can be confirmed
to be Chrome 41 with this test:
https://mdn-bcd-collector.appspot.com/tests/api/Notification?exposure=Worker

However, Notifications can't be created from dedicated workers in
Chromium, it makes more sense to match support in service workers, which
is one version later. That then matches notes and other data like
api.NotificationEvent and api.ServiceWorkerRegistration.showNotification.

Part of mdn#7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 11, 2022
Original source: mdn#1768

No evidence for the specific versions was given.

The mere exposure of Notification in dedicated workers can be confirmed
to be Chrome 41 with this test:
https://mdn-bcd-collector.appspot.com/tests/api/Notification?exposure=Worker

However, Notifications can't be created from dedicated workers in
Chromium, it makes more sense to match support in service workers, which
is one version later. That then matches notes and other data like
api.NotificationEvent and api.ServiceWorkerRegistration.showNotification.

Part of mdn#7844.
queengooborg pushed a commit that referenced this issue May 11, 2022
Original source: #1768

No evidence for the specific versions was given.

The mere exposure of Notification in dedicated workers can be confirmed
to be Chrome 41 with this test:
https://mdn-bcd-collector.appspot.com/tests/api/Notification?exposure=Worker

However, Notifications can't be created from dedicated workers in
Chromium, it makes more sense to match support in service workers, which
is one version later. That then matches notes and other data like
api.NotificationEvent and api.ServiceWorkerRegistration.showNotification.

Part of #7844.
queengooborg pushed a commit that referenced this issue May 11, 2022
Original source: #3255

https://chromium.googlesource.com/chromium/src/+/5fc555b830a9b5b1536e242d8754d7e507bcc75a
was used as the source, which is the right commit but it wasn't first in
Chrome 45 but earlier.

At the time, the MediaQueryList interface had [NoInterfaceObject], but
because MediaQueryListEvent was implemented/exposed at the same time, we
can assume that the versions should match. Chrome 39 was confirmed with
this test:
https://mdn-bcd-collector.appspot.com/tests/api/MediaQueryListEvent

The data for MediaQueryListEvent already matches.

Part of #7844.
queengooborg pushed a commit that referenced this issue May 11, 2022
Original source: #3958

However, https://chromium.googlesource.com/chromium/src/+/e99d73de1761aec44e23381e565ee48430d9a699
was long before Chrome 45. Support was tested using
`webkitMediaStream.prototype.getTracks` in Chrome 37 and 38.

Part of #7844.
queengooborg pushed a commit that referenced this issue May 11, 2022
…16245)

Original source: #3958

However, https://chromium.googlesource.com/chromium/src/+/776e9a66223e95141b0b8bc6c6f9a847cd5fd8c4
was long before Chrome 45. Support was tested using
`webkitMediaStream.prototype.clone` and `MediaStreamTrack.prototype.clone`
in Chrome 34 and 35. (One interface was prefixed at the time.)

Part of #7844.
queengooborg pushed a commit that referenced this issue May 11, 2022
Original source: #1059

No source was given, but it might have been this:
https://storage.googleapis.com/chromium-find-releases-static/f77.html#f777755953e905594276a99cf64fc3848406d5f6

However, that commit was in time for Chrome 36 or 37, well before
Service Workers were first enabled. So match the parent feature.

Part of #7844.
foolip added a commit to foolip/browser-compat-data that referenced this issue May 13, 2022
Original source: mdn#9074

This demo was used to test:
https://yari-demos.prod.mdn.mozit.cloud/en-US/docs/Web/SVG/Element/feComposite/_sample_.example.html

The following support was confirmed with BrowserStack:
 - Chrome 41 (not in 40)
 - Edge 79 (not in 18)
 - Firefox 86 (not in 85)
 - Safari 10.1 (not in 9.1)

The precise Safari version was determined by source:
https://trac.webkit.org/changeset/195745/webkit
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=195745

WebKit trunk version 602.1.18 maps to Safari 10 (using WebKit 602.1.50).

Part of mdn#7844.
@queengooborg
Copy link
Collaborator

All Chrome 45 data has now been audited!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bulk_update 📦 An update to a mass amount of data, or scripts/linters related to such changes
Projects
None yet
Development

No branches or pull requests

5 participants
@ddbeck @foolip @queengooborg @jpmedley and others