Open rwlbuis opened 1 week ago
cc @domenic
You omitted the important part of that comment:
// In the spec, the URL and history update steps are not called for reloads.
// In our implementation, we call the corresponding function anyway, but
// |type| being a reload type makes it do none of the spec-relevant
// steps. Instead it does stuff like the loading spinner and use counters.
Can you state which part of the URL and history update steps are run in Chromium, which the WPTs expect, but are not run in the spec? I cannot find any browsing the code myself.
You omitted the important part of that comment:
// In the spec, the URL and history update steps are not called for reloads. // In our implementation, we call the corresponding function anyway, but // |type| being a reload type makes it do none of the spec-relevant // steps. Instead it does stuff like the loading spinner and use counters.
Can you state which part of the URL and history update steps are run in Chromium, which the WPTs expect, but are not run in the spec? I cannot find any browsing the code myself.
Apologies for the omission, I mainly did it because the comment is a bit long, but it was misleading to leave that out.
Having said that, the comment may be wrong. This is what happens on navigation-methods/return-value/reload-intercept.html (I set a bt in NotifyAboutTheCommittedToEntry):
I also debugged that the used frame load type is "reload" in the above scenario. WDYT?
What is the issue with the HTML Standard?
In https://html.spec.whatwg.org/multipage/nav-history-apis.html#inner-navigate-event-firing-algorithm step 32.7, only navigationType "push" and "replace" are stated to run "URL and history update steps". However in the chromium implementation, it is also run for "reload" navigationType, and some WPT tests assume this behavior in order for them to pass. Shouldn't this be reflected in the spec?
Relevant commit from chromium's navigate_event.cc: " // In the spec, the URL and history update steps are not called for reloads. // In our implementation, we call the corresponding function anyway ."