gecko-dev/docshell/shistory
Peter Van der Beken 0cb68caed4 Bug 1729662 - UNED exam page flickers / reloads infinitely. r=smaug
When we navigate in history to the same entry that we're current at then we
actually do a reload. The problem is in the way we detect whether to do a reload
in the parent process.

If a page does a back and a forward one after the other in a script, then the
parent will calculate the index for the back and tell the child to load the
entry at that index. While the child is processing the load of that entry, the
BC in the parent process still has the same entry as its active entry (until the
child commits the load of the entry over IPC). The parent then processes the
forward, calculates the index for the forward and finds the entry at that index.
This is the same entry that we were at before doing anything, and so the same
entry as the active entry in the BC in the parent process. We used to compare
the entry that we're going to load with the active entry in the BC to determine
whether we're doing a reload, and so in this situation we would assume the
forward navigation was actually doing a reload. The child would reload the page,
and we'd run the script again and we'd end up in a reload loop.

Comparing the offset with 0 to determine whether we're doing a reload fixes this
issue.

Differential Revision: https://phabricator.services.mozilla.com/D126585
2021-10-04 15:01:30 +00:00
..
ChildSHistory.cpp Bug 1719178 - properly disconnect nsSHistory from the owner object, r=peterv 2021-07-08 11:08:19 +00:00
ChildSHistory.h Bug 1719178 - properly disconnect nsSHistory from the owner object, r=peterv 2021-07-08 11:08:19 +00:00
SessionHistoryEntry.cpp Bug 1729662 - UNED exam page flickers / reloads infinitely. r=smaug 2021-10-04 15:01:30 +00:00
SessionHistoryEntry.h Bug 1729662 - UNED exam page flickers / reloads infinitely. r=smaug 2021-10-04 15:01:30 +00:00
moz.build Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
nsIBFCacheEntry.idl
nsISHEntry.idl Bug 1648825 - Add nsISHEntry::hasUserActivation r=ckerschb,smaug 2021-05-25 17:37:08 +00:00
nsISHistory.idl Backed out changeset 1968ba484b6f (bug 1697905) on dev's request 2021-06-11 18:04:51 +03:00
nsISHistoryListener.idl Bug 1728375 - Notify session history listeners when entries are being removed via purging or truncation. r=smaug 2021-09-02 15:33:16 +00:00
nsSHEntry.cpp Bug 1648825 - Add nsISHEntry::hasUserActivation r=ckerschb,smaug 2021-05-25 17:37:08 +00:00
nsSHEntry.h Bug 1648825 - Add nsISHEntry::hasUserActivation r=ckerschb,smaug 2021-05-25 17:37:08 +00:00
nsSHEntryShared.cpp Bug 1699484 - Support Timer based bfcache eviction, r=peterv 2021-03-21 21:46:26 +00:00
nsSHEntryShared.h Bug 1699484 - Support Timer based bfcache eviction, r=peterv 2021-03-21 21:46:26 +00:00
nsSHistory.cpp Bug 1729662 - UNED exam page flickers / reloads infinitely. r=smaug 2021-10-04 15:01:30 +00:00
nsSHistory.h Bug 1729662 - UNED exam page flickers / reloads infinitely. r=smaug 2021-10-04 15:01:30 +00:00