@@ -10951,16 +10951,22 @@ Only "elements" is supported.`);
1095110951 }
1095210952 urlChangeListeners . add ( listener ) ;
1095310953 }
10954- function handleURLChange ( ) {
10954+ function handleURLChange ( navigationType = "unknown" ) {
1095510955 for ( const listener of urlChangeListeners ) {
10956- listener ( ) ;
10956+ listener ( navigationType ) ;
1095710957 }
1095810958 }
1095910959 function listenForURLChanges ( ) {
1096010960 const urlChangedInstance = new ContentFeature ( "urlChanged" , { } , { } ) ;
1096110961 if ( "navigation" in globalThis && "addEventListener" in globalThis . navigation ) {
10962- globalThis . navigation . addEventListener ( "navigatesuccess" , ( ) => {
10963- handleURLChange ( ) ;
10962+ const navigations = /* @__PURE__ */ new WeakMap ( ) ;
10963+ globalThis . navigation . addEventListener ( "navigate" , ( event ) => {
10964+ navigations . set ( event . target , event . navigationType ) ;
10965+ } ) ;
10966+ globalThis . navigation . addEventListener ( "navigatesuccess" , ( event ) => {
10967+ const navigationType = navigations . get ( event . target ) || "unknown" ;
10968+ handleURLChange ( navigationType ) ;
10969+ navigations . delete ( event . target ) ;
1096410970 } ) ;
1096510971 return ;
1096610972 }
@@ -10970,13 +10976,14 @@ Only "elements" is supported.`);
1097010976 const historyMethodProxy = new DDGProxy ( urlChangedInstance , History . prototype , "pushState" , {
1097110977 apply ( target , thisArg , args ) {
1097210978 const changeResult = DDGReflect . apply ( target , thisArg , args ) ;
10973- handleURLChange ( ) ;
10979+ console . log ( "pushstate event" ) ;
10980+ handleURLChange ( "push" ) ;
1097410981 return changeResult ;
1097510982 }
1097610983 } ) ;
1097710984 historyMethodProxy . overload ( ) ;
1097810985 window . addEventListener ( "popstate" , ( ) => {
10979- handleURLChange ( ) ;
10986+ handleURLChange ( "popState" ) ;
1098010987 } ) ;
1098110988 }
1098210989
@@ -11021,9 +11028,9 @@ Only "elements" is supported.`);
1102111028 if ( ! isFeatureBroken ( args , featureName ) || alwaysInitExtensionFeatures ( args , featureName ) ) {
1102211029 featureInstance2 . callInit ( args ) ;
1102311030 if ( featureInstance2 . listenForUrlChanges || featureInstance2 . urlChanged ) {
11024- registerForURLChanges ( ( ) => {
11031+ registerForURLChanges ( ( navigationType ) => {
1102511032 featureInstance2 . recomputeSiteObject ( ) ;
11026- featureInstance2 ?. urlChanged ( ) ;
11033+ featureInstance2 ?. urlChanged ( navigationType ) ;
1102711034 } ) ;
1102811035 }
1102911036 }
0 commit comments