Description
https://boom-bath.glitch.me/meta-refresh.html
In Firefox after three seconds this does a same-document navigation. In Chrome after three seconds this does a full-page reload.
In the spec, a meta refresh is a "replace" navigation. "replace" navigations appears to not special-case fragment changes; only "reload" navigations do. That is, the spec says
If historyHandling is not "reload", resource is a request, resource's url equals browsingContext's active document's URL with exclude fragments set to true, and resource's url's fragment is non-null, then: (navigate to a fragment)
(otherwise, it does a cross-document navigation)
If we just extended this clause to either "replace" or "reload", then that would have a number of knock-on effects, I think. So we need to investigate other replace scenarios (there are a lot). Maybe they are non-interoperable in the same way.
Or, we could special-case same-URL <meta refresh>
to be "reload" instead of "replace", to match Chrome.
The Refresh header has the same issue: https://incredible-stealth-dove.glitch.me/
/cc @natechapin