gecko-dev/docshell/base
Olli Pettay 0d3cc17e7f Bug 1697905, requestedIndex may not always be cleared, r=peterv
The previous version was trying to make index handling too generic.
But history loads need to update index to the requested index, not to the index of the current entry,
because the requested index was already passed to the child process when the
history load started. If there are several pending history loads, commit of the first one
will update the index based on requested index and send new index to the child.
When child side receives the index update, other pending history loads have been already
processed.

New loads can just clear the requested index, since the child side has
PendingSHistoryChange object to update the effective index and length to the
correct one and when parent side sends back the current index and length the
relevant PendingSHistoryChange object is removed.

With this version both
testing/web-platform/tests/old-tests/submission/Microsoft/history/history_000.htm
and
docshell/test/navigation/browser_test_simultaneous_normal_and_history_loads.js
pass now even on a debug build.


I think there might be a case for the issue happening also without SHIP, but
since it is way less asynchronous, triggering that issue is hard.
So the patch and test are for SHIP only.

Differential Revision: https://phabricator.services.mozilla.com/D116744
2021-06-15 16:21:07 +00:00
..
crashtests Bug 1672873 - Use BuildClonedMessageDataForChild to send cloneable data in SessionHistoryInfo. r=peterv 2021-02-15 16:52:26 +00:00
timeline Bug 1683532 - Make `docshell` buildable outside of `unified-build` environment. r=sg 2021-01-04 14:18:37 +00:00
BaseHistory.cpp Backed out changeset 1e76e5ecdfbe (bug 1714614) for causing gtest and gv-junit failures. 2021-06-10 17:35:20 +03:00
BaseHistory.h Backed out changeset 1e76e5ecdfbe (bug 1714614) for causing gtest and gv-junit failures. 2021-06-10 17:35:20 +03:00
BrowsingContext.cpp Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
BrowsingContext.h Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
BrowsingContextGroup.cpp Bug 1535913 - Part 2: Hold a keepalive for extension BCGs in WebExtensionPolicy, r=kmag 2021-05-26 15:25:43 +00:00
BrowsingContextGroup.h Bug 1535913 - Part 2: Hold a keepalive for extension BCGs in WebExtensionPolicy, r=kmag 2021-05-26 15:25:43 +00:00
BrowsingContextWebProgress.cpp Bug 1709346 - Part 1: Track BrowsingContextWebProgress for subframes, r=mattwoodrow,kmag,necko-reviewers 2021-06-03 16:59:32 +00:00
BrowsingContextWebProgress.h Bug 1709346 - Part 1: Track BrowsingContextWebProgress for subframes, r=mattwoodrow,kmag,necko-reviewers 2021-06-03 16:59:32 +00:00
CanonicalBrowsingContext.cpp Bug 1697905, requestedIndex may not always be cleared, r=peterv 2021-06-15 16:21:07 +00:00
CanonicalBrowsingContext.h Bug 1713365, don't try to bfcache if the session history entry already has a frameloader, r=peterv 2021-06-03 20:34:24 +00:00
ChildProcessChannelListener.cpp Bug 1184468 - Use nsBaseHashtable::Values. r=xpcom-reviewers,nika 2021-03-24 17:56:49 +00:00
ChildProcessChannelListener.h Bug 1715144 - Part 1: Stop adding /ipc/glue to LOCAL_INCLUDES when including chromium-config.mozbuild, r=ipc-reviewers,necko-reviewers,mccr8,valentin 2021-06-09 04:56:48 +00:00
IHistory.h Backed out changeset 1e76e5ecdfbe (bug 1714614) for causing gtest and gv-junit failures. 2021-06-10 17:35:20 +03:00
LoadContext.cpp Bug 1683532 - Make `docshell` buildable outside of `unified-build` environment. r=sg 2021-01-04 14:18:37 +00:00
LoadContext.h Bug 1673931 - Avoid including Element.h from header files. 2020-11-23 16:08:40 +00:00
SerializedLoadContext.cpp
SerializedLoadContext.h Bug 1677466 - Move ParamTraits specializations with extra dependencies out of IPCMessageUtils.h. r=mccr8 2020-12-10 11:09:21 +00:00
SyncedContext.h Bug 1689601, sync fields when loading a page from bfcache, r=peterv 2021-03-02 12:13:22 +00:00
SyncedContextInlines.h Bug 1689601, sync fields when loading a page from bfcache, r=peterv 2021-03-02 12:13:22 +00:00
URIFixup.jsm Bug 1708125 - Remove some remaining FTP references from the tree r=necko-reviewers,dragana,Gijs 2021-05-31 13:08:12 +00:00
WindowContext.cpp Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
WindowContext.h Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
moz.build
nsAboutRedirector.cpp Bug 1496997 - Remove dom.serviceWorkers.parent_intercept pref r=asuth,dom-workers-and-storage-reviewers,perftest-reviewers,jgraham,sparky,webdriver-reviewers,whimboo 2021-06-15 08:52:39 +00:00
nsAboutRedirector.h
nsCTooltipTextProvider.h
nsDSURIContentListener.cpp Bug 1711090 - Part 3: Add some missing nsITimerCallback queryinterface targets, r=KrisWright,necko-reviewers,kershaw 2021-05-18 20:45:17 +00:00
nsDSURIContentListener.h
nsDocShell.cpp Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
nsDocShell.h Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
nsDocShellEditorData.cpp Bug 1683532 - Make `docshell` buildable outside of `unified-build` environment. r=sg 2021-01-04 14:18:37 +00:00
nsDocShellEditorData.h Bug 1673931 - Avoid including Element.h from header files. 2020-11-23 16:08:40 +00:00
nsDocShellEnumerator.cpp
nsDocShellEnumerator.h
nsDocShellLoadState.cpp Bug 1706616 - Part 1: Add telemetry probe for query stripping. r=dimi,necko-reviewers,dragana 2021-06-14 19:45:39 +00:00
nsDocShellLoadState.h Bug 1706615 - Part 8: Preserve the unstripped URI when doing a reload. r=smaug 2021-06-02 19:46:22 +00:00
nsDocShellLoadTypes.h Bug 1703289 - Make mixed content blocker use a session-persistent permission rather than ad-hoc code. r=ckerschb,smaug 2021-04-12 18:04:12 +00:00
nsDocShellTelemetryUtils.cpp
nsDocShellTelemetryUtils.h
nsDocShellTreeOwner.cpp Bug 1706316 - Part 2: Remove nsIBaseWindow::setFocus; r=hsivonen 2021-05-10 20:05:12 +00:00
nsDocShellTreeOwner.h
nsIContentViewer.idl Bug 1699837 - Make sure that remote iframes honor print settings. r=mattwoodrow 2021-06-13 09:16:53 +00:00
nsIContentViewerEdit.idl
nsIDocShell.idl Bug 1646560: Part 2 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext. r=jdescottes,nika,geckoview-reviewers,devtools-backward-compat-reviewers,agi 2021-06-15 04:40:11 +00:00
nsIDocShellTreeItem.idl
nsIDocShellTreeOwner.idl
nsIDocumentLoaderFactory.idl
nsILoadContext.idl Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsILoadURIDelegate.idl
nsIPrivacyTransitionObserver.idl
nsIReflowObserver.idl
nsIRefreshURI.idl
nsIScrollObserver.h
nsITooltipListener.idl
nsITooltipTextProvider.idl
nsIURIFixup.idl Bug 1671983 - Part 2: Remove SessionStore.navigateAndRestore, r=annyG,kashav 2020-11-12 18:00:55 +00:00
nsIWebNavigation.idl Bug 1708150 - Add user activation flag to reload, goBack and goForward r=ckerschb,Gijs,smaug 2021-04-28 11:26:49 +00:00
nsIWebNavigationInfo.idl Bug 1682030 - Clean up NPAPI plugin fallback behavior. r=jmathies,emilio 2021-04-06 19:28:18 +00:00
nsIWebPageDescriptor.idl
nsPingListener.cpp Bug 1683532 - Make `docshell` buildable outside of `unified-build` environment. r=sg 2021-01-04 14:18:37 +00:00
nsPingListener.h
nsRefreshTimer.cpp
nsRefreshTimer.h
nsWebNavigationInfo.cpp Bug 1695404 - follow-up: Avoid redundant string copy in Gecko_IsSupportedImageMimeType. r=tnikkel 2021-04-17 22:21:19 +00:00
nsWebNavigationInfo.h