зеркало из https://github.com/mozilla/gecko-dev.git
1373bb3701
The main part of the change is the change to ChildSHistory - make it possible to have Go() to be called asynchronously and also let one to cancel pending history navigations. History object (window.history) can then use either the sync or async Go(), depending on the dom.window.history.async pref. LoadDelegate, which is used by GeckoView, needs special handling, since it spins event loop nestedly. With session history loads and same-document loads we can just bypass it. To deal with same-document case, MaybeHandleSameDocumentNavigation is split to IsSameDocumentNavigation, which collects relevant information about the request and returns true if same-document navigation should happen, and then later HandleSameDocumentNavigation uses that information to trigger the navigation. SameDocumentNavigationState is used to pass the information around. referrer-policy-test-case.sub.js is buggy causing tests to pass only on Firefox with sync history API. nested-context-navigations-iframe.html.ini is added because of https://bugzilla.mozilla.org/show_bug.cgi?id=1572932 Differential Revision: https://phabricator.services.mozilla.com/D41199 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
ChildSHistory.cpp | ||
ChildSHistory.h | ||
ParentSHistory.cpp | ||
ParentSHistory.h | ||
moz.build | ||
nsIBFCacheEntry.idl | ||
nsISHEntry.idl | ||
nsISHistory.idl | ||
nsISHistoryListener.idl | ||
nsSHEntry.cpp | ||
nsSHEntry.h | ||
nsSHEntryShared.cpp | ||
nsSHEntryShared.h | ||
nsSHistory.cpp | ||
nsSHistory.h |