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

Update data for Cross-Document View Transitions features #22937

Merged
merged 9 commits into from
May 11, 2024

Conversation

bramus
Copy link
Contributor

@bramus bramus commented Apr 24, 2024

(👋 Hi, Chrome DevRel here!)

I see #22638 added the data for features related to Cross-Document View Transitions. This PR fixes the version numbers mentioned in that PR, as most of them were only partially correct.


PageSwap

  • Landed behind flag: M123
  • Landed in stable: M124
  • View Transition Object: M123 (flagged)

Relevant Links:

PageReveal

  • Landed behind flag: M119
  • Landed in stable: M123
  • View Transition Object: M120 (flagged)

Relevant Links:

NavigationActivation

  • Landed in Preview: M121 (runtime flag)
  • Landed in Stable: M123

Relevant Links:

@view-transition

  • Experimental support (flagged) using old name: M118
  • Experimental support (flagged) using current name: M121
  • Stable Support: N/A

Relevant Links:

link[rel=expect]

  • Experimental Support (flagged): M122
  • Stable Support: M124

(Note: the feature flag for this feature was introduced in M118 by https://crbug.com/1470393 which was an alternative attempt to allow render blocking. That same flag was reused for this finalized feature.)

Relevant Links:


One thing I wasn’t too sure about is if I needed to add "version_removed" to features that went from flagged to stable, or if I needed to remove the flagged entry altogether in that case so that only the stable entry is listed. Feel free to let me know.

bramus added 5 commits April 24, 2024 21:27
Links:
- ChromeStatus: https://chromestatus.com/feature/5479301497749504
- I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/7EaEnJ14W1I/m/l_GStMkVAAAJ
- CrBug: https://crbug.com/41495176

In summary:
- Landed behind flag: M123
- Landed in stable: M124

- View Transition Object: M123 (flagged)
Links:
- ChromeStatus: https://chromestatus.com/feature/5205586941837312
- I2S: https://groups.google.com/u/2/a/chromium.org/g/blink-dev/c/S67zJ1AYW2U
- CrBug: https://crbug.com/1466250

In summary:
- Landed behind flag: M119
- Landed in stable: M123

- View Transition Object: M120 (flagged)
Links:
- ChromeStatus: https://chromestatus.com/feature/5118874666663936
- I2S: N/A
- CrBug: https://crbug.com/1463966

In summary:
- Experimental support (flagged) using old name: M118
- Experimental support (flagged) using current name: M121
- Stable Support: N/A
Links:
- ChromeStatus: https://chromestatus.com/feature/5113053598711808
- I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/19n4jmAlD6w/m/V56SYIo6AQAJ
- CrBug: https://crbug.com/1507845

In Summary:
- Experimental Support (flagged): M122
- Stable Support: M124

Note: the flag was introduced in M118 by https://crbug.com/1470393 which was an alternative attempt to allow render blocking. That same flag was reused for this finalized feature.
@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:html Compat data for HTML elements. https://developer.mozilla.org/docs/Web/HTML labels Apr 24, 2024
@queengooborg
Copy link
Contributor

Hey @bramus! I see that you're adding a lot of flag data here -- we actually remove flag data right away once the feature is enabled by default, see https://github.com/mdn/browser-compat-data/blob/main/docs/data-guidelines/index.md#removal-of-irrelevant-flag-data.

@bramus
Copy link
Contributor Author

bramus commented Apr 28, 2024

@queengooborg Thanks for the info!

Looking at it, though, it reads like all three requirements must be met. In Chrome, typically, a flag remains around for a little while and only gets cleaned up after the feature shipped in stable for a few releases. If only one condition is required, then it makes more sense.

Singling out NavigationActivation: right now I have it like this:

          "chrome": [
            {
              "version_added": "123",
              "impl_url": "https://crbug.com/40285670/"
            },
            {
              "version_added": "121",
              "flags": [
                {
                  "type": "runtime_flag",
                  "name": "--enable-blink-features=NavigationActivation"
                }
              ],
              "impl_url": "https://crbug.com/40285670/"
            }
          ],

Am I correct to understand that you are suggesting to simply remove the 121 block here as it’s shipping in 123?

@queengooborg
Copy link
Contributor

Looking at it, though, it reads like all three requirements must be met.

Oh wow, that's a really good catch! This is definitely meant to be a case of any condition can be met, I'll get the documentation fixed ASAP!

@bramus
Copy link
Contributor Author

bramus commented Apr 28, 2024

OK, so it’s eligible to remove the flag info in this case :)

What’s not clear to me yet from the docs is do I remove only the flag data – rendering the version block incorrect by doing so – or do I delete the entire version block that had the flag?

@queengooborg
Copy link
Contributor

You'll want to delete the entire support statement with the flag data! So this:

"chrome": [
  {
    "version_added": "123",
    "impl_url": "https://crbug.com/40285670/"
  },
  {
    "version_added": "121",
    "flags": [
      {
        "type": "runtime_flag",
        "name": "--enable-blink-features=NavigationActivation"
      }
    ],
    "impl_url": "https://crbug.com/40285670/"
  }
],

Becomes this:

"chrome": {
  "version_added": "123",
  "impl_url": "https://crbug.com/40285670/"
},

@bramus
Copy link
Contributor Author

bramus commented Apr 29, 2024

Thanks for the input. Hereby: requested changes have been committed.

@queengooborg queengooborg self-requested a review May 7, 2024 11:36
@bramus
Copy link
Contributor Author

bramus commented May 10, 2024

@queengooborg I’ve updated @view-transition and set it to shipping in Chrome 126 as per https://chromestatus.com/feature/5118874666663936

Would be great if you merge this + do a new release before May 16 as we, Chrome DevRel, are publishing a bunch of Google I/O related articles on that very day. An article on Cross-Document View Transitions is one of them.

@queengooborg queengooborg merged commit 9ca002f into mdn:main May 11, 2024
6 checks passed
@queengooborg
Copy link
Contributor

Approving and merging, though I don't fully trust the addition of the feature landing in 126 -- we've found lots of features had been marked as shipping in the future on ChromeStatus, and then it turns out the feature never landed and ChromeStatus was never updated!

@bramus
Copy link
Contributor Author

bramus commented May 11, 2024

Thanks for merging this. Greatly appreciate it.

From time to time ChromeStatus is somewhat rocky indeed. I'll pass on the message to please ask people to keep their entries up-to-date.

As for these View Transition related features I've confirmed these myself (together with direct input from engineering when there was doubt) as I'll be covering these features at this week's Google I/O.

The only feature in this PR that is not in a stable release yet is @view-transition itself. Not sure where the initially mentioned 124 came from — it was never announced to ship until only very recently. The other features in this PR have already shipped to stable.

@bramus bramus deleted the cross-document-view-transitions branch September 10, 2024 12:17
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:html Compat data for HTML elements. https://developer.mozilla.org/docs/Web/HTML
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants