<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>239729</bug_id>
          
          <creation_ts>2022-04-25 09:47:52 -0700</creation_ts>
          <short_desc>Always fire popstate sync</short_desc>
          <delta_ts>2022-06-10 08:39:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>History</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Domenic Denicola">d</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>gsnedders</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1864132</commentid>
    <comment_count>0</comment_count>
    <who name="Domenic Denicola">d</who>
    <bug_when>2022-04-25 09:47:52 -0700</bug_when>
    <thetext>Currently Blink and WebKit both delay popstate events that would occur before the load event, and queue them up to fire after the load event.

This causes undesirable nondeterminism, as if you change a page&apos;s fragment before the load event, sometimes you will get events in the order [popstate, hashchange], and sometimes [hashchange, popstate], depending on how long it takes for the page to load.

Firefox has a simpler model of always firing popstate synchronously. We are speccing that in https://github.com/whatwg/html/pull/7815 and Chromium will be working to align in https://bugs.chromium.org/p/chromium/issues/detail?id=1254926 / https://chromium-review.googlesource.com/c/chromium/src/+/3580022 . (Note that the current spec, before that spec PR, matched no browser.)

Web platform tests are available at https://github.com/web-platform-tests/wpt/pull/33746 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865862</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-02 09:48:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/92613897&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>