[webkit-changes] [WebKit/WebKit] 9497f1: PopState event should be fired synchronously, even...

Chris Dumez noreply at github.com
Thu Sep 15 10:15:55 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9497f1badb3df074553143a369942473cf13c10d
      https://github.com/WebKit/WebKit/commit/9497f1badb3df074553143a369942473cf13c10d
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M LayoutTests/fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt
    M LayoutTests/fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll-expected.txt
    M LayoutTests/fast/loader/stateobjects/document-destroyed-navigate-back.html
    M LayoutTests/fast/loader/stateobjects/replacestate-in-iframe-expected.txt
    M LayoutTests/fast/loader/stateobjects/resources/replacestate-in-iframe-window-child.html
    M LayoutTests/http/tests/dom/document-fragment-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-twice-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/event-order/pushState-inside-popstate-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/007-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_forward_cross_realm_method-expected.txt
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h

  Log Message:
  -----------
  PopState event should be fired synchronously, even before the load event
https://bugs.webkit.org/show_bug.cgi?id=245153

Reviewed by Brent Fulgham.

PopState event should be fired synchronously, even before the load event:
- https://github.com/whatwg/html/issues/1792

We used to delay PopState events until the load event has fired but this
doesn't match other Blink or Gecko.

* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-twice-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/event-order/pushState-inside-popstate-expected.txt:
Rebaseline WPT tests that are now passing or failing a little further. The ones that are still failing and due to the fact that
we fire the load event synchronously instead of queuing a task. As a result, it may fire before hashchange events that were
scheduled before the load has completed. I plan to look into this in a follow-up.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::statePopped):
* Source/WebCore/dom/Document.h:

Canonical link: https://commits.webkit.org/254519@main




More information about the webkit-changes mailing list