Commit Graph

246 Commits

Author SHA1 Message Date
Olli Pettay
911d46a8b6 Bug 1689601, try to use bfcache for top level pages, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D105238
2021-03-02 12:13:20 +00:00
Mihai Alexandru Michis
87f481bf9a Backed out 16 changesets (bug 1689601) for causing cpp bustages in nsFrameLoader.
CLOSED TREE

Backed out changeset 6e5523a7210d (bug 1689601)
Backed out changeset 745eaa468c74 (bug 1689601)
Backed out changeset a594bd02b8b6 (bug 1689601)
Backed out changeset 0c5fe977ced6 (bug 1689601)
Backed out changeset 2fca23521891 (bug 1689601)
Backed out changeset 334aeb627855 (bug 1689601)
Backed out changeset 2b2081a15d67 (bug 1689601)
Backed out changeset 307bde43cc96 (bug 1689601)
Backed out changeset 04aadec67ce2 (bug 1689601)
Backed out changeset 701eccb34772 (bug 1689601)
Backed out changeset 278db692aa8b (bug 1689601)
Backed out changeset c261c243a64d (bug 1689601)
Backed out changeset 7e8022e5696a (bug 1689601)
Backed out changeset 6138bfc6c08d (bug 1689601)
Backed out changeset 63295b3a62d0 (bug 1689601)
Backed out changeset 6d02e59ddc51 (bug 1689601)
2021-03-02 13:15:10 +02:00
Olli Pettay
f09a7f25d5 Bug 1689601, hide fission.bfcacheInParent pref access behind a function which checks that also SHIP is enabled, r=peterv,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D106562
2021-03-02 09:44:14 +00:00
Olli Pettay
42a29f41de Bug 1689601, Rename RemotenessChangeState to RemotenessChangeOptions, r=peterv
This addresses part of the review comment from https://phabricator.services.mozilla.com/D105229

Differential Revision: https://phabricator.services.mozilla.com/D106561
2021-03-02 09:44:13 +00:00
Olli Pettay
07a607c53d Bug 1689601, evict frameloaders from bfcache (missing still the time based eviction), r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D105239
2021-03-02 09:44:13 +00:00
Olli Pettay
101955fa30 Bug 1689601, try to use bfcache for top level pages, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D105238
2021-03-02 09:44:12 +00:00
Simon Giesecke
9af107a839 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Olli Pettay
affb60b285 Bug 1683751 - Removing iframes should update history.length r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D100274
2021-02-03 00:02:29 +00:00
Randell Jesup
013e325e7d Bug 1673617 - Refactor how session restore works with SHIP, r=nika
With mods from kashav's last Try run

Differential Revision: https://phabricator.services.mozilla.com/D99461
2021-02-01 22:57:14 +00:00
Butkovits Atila
2ec71c47a0 Backed out 3 changesets (bug 1673617) for causing failure on browser_child_resource.js. CLOSED TREE
Backed out changeset 2a0dd70342ce (bug 1673617)
Backed out changeset 6fa47045b11b (bug 1673617)
Backed out changeset d230e44fd9be (bug 1673617)
2021-01-23 04:40:22 +02:00
Randell Jesup
720e0e4fb0 Bug 1673617 - Refactor how session restore works with SHIP, r=nika
With mods from kashav's last Try run

Differential Revision: https://phabricator.services.mozilla.com/D99461
2021-01-22 22:01:39 +00:00
Peter Van der Beken
daeac0a231 Bug 1683335 - Add logging of the history tree to CanonicalBrowsingContext::SessionHistoryCommit. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D100129
2020-12-18 17:10:11 +00:00
Randell Jesup
904b53869f Bug 1670848: Handling aborting history navigations when others run r=smaug
Handles edge cases around history.go() with one event loop spin

Differential Revision: https://phabricator.services.mozilla.com/D93302
2020-10-23 20:27:50 +00:00
Olli Pettay
219717c7ce Bug 1668026 - Update child process index and length when modifying those in parent process, r=peterv
The patch is utilizing SHistoryChangeNotifier which was added for testing.
CallerWillNotifyHistoryIndexAndLengthChanges is needed to avoid extra index/length updates so that
the child side doesn't get update but have still pending updates in it.

Differential Revision: https://phabricator.services.mozilla.com/D91756
2020-10-01 11:13:29 +00:00
Randell Jesup
b1e84fff6c Bug 1621643: Ensure replaceState updates all listeners about the modified state r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D91433
2020-09-28 07:34:03 +00:00
Olli Pettay
97778cf44a Bug 1667449 - Hide fission.sessionHistoryInParent pref getter behind a function r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D91462
2020-09-28 12:01:12 +00:00
Peter Van der Beken
b14a77101d Bug 1666881 - Make fission.sessionHistoryInParent require a restart when switching. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91260
2020-09-25 09:03:58 +00:00
Mihai Alexandru Michis
8b9238686c Backed out changeset 88337b6e4e3e (bug 1666881) for causing failures regarding the fission.autostart pref.
CLOSED TREE
2020-09-24 15:41:33 +03:00
Peter Van der Beken
55fdbb4384 Bug 1666881 - Make fission.sessionHistoryInParent require a restart when switching. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91260
2020-09-24 11:14:51 +00:00
Peter Van der Beken
2b10b0874a Bug 1664656 - Support nsIWebNavigation::LOAD_FLAGS_REPLACE_HISTORY with session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90029
2020-09-20 12:40:33 +00:00
Dorel Luca
594edf3c57 Backed out 3 changesets (bug 1664656, bug 1664655) for multiple failures in checkouts/gecko/docshell/base/nsDocShell.cpp
Backed out changeset ac1e652efeb6 (bug 1664655)
Backed out changeset c8c1abf5f616 (bug 1664656)
Backed out changeset 3c1e9e36a39e (bug 1664656)
2020-09-19 16:38:26 +03:00
Peter Van der Beken
25833b010a Bug 1664656 - Support nsIWebNavigation::LOAD_FLAGS_REPLACE_HISTORY with session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90029
2020-09-19 12:29:10 +00:00
Olli Pettay
ea62e522c0 Bug 1664329 - Make HandleSameDocumentNavigation handle loads from session history, r=peterv
Need to mark entries as being loading sooner, since HandleSameDocumentNavigation case doesn't do the round trip through parent again.
And HandleSameDocumentNavigation needs to update active entry and inform parent that is has dealt with the load.

Differential Revision: https://phabricator.services.mozilla.com/D89837
2020-09-17 15:39:59 +00:00
Andreas Farre
f9f96d23ca Bug 1662410 - Part 1: Fix usage of ChildSHistory.legacySHistory . r=peterv
ChildSHistory.legacySHistory isn't valid for content processes when
session history in the parent is enabled. We try to fix this by either
delegating to the parent by IPC or move the implementation partially
or as a whole to the parent.

Differential Revision: https://phabricator.services.mozilla.com/D89353
2020-09-16 14:51:01 +00:00
Andrea Marchesini
e733096393 Bug 444222 - Update the window.name when doing the navigation, r=smaug,nika
This patch implements the window.name updating in the spec
https://html.spec.whatwg.org/#history-traversal.

Differential Revision: https://phabricator.services.mozilla.com/D81361
2020-09-15 17:51:05 +00:00
Olli Pettay
7d2b65e50b Bug 1661317 - Make loading session history entries for iframes work when session history lives in the parent process (step 1.5), r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88450
2020-08-31 10:05:53 +00:00
Olli Pettay
b07cfb3c72 Bug 1661317 - Make loading session history entries for iframes work when session history lives in the parent process (step 1), r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88312
2020-08-28 16:50:58 +00:00
Peter Van der Beken
a4a8b3da89 Bug 1649131 - Implement history.pushState/.replaceState for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87039
2020-08-23 17:41:03 +00:00
Peter Van der Beken
e08ef28207 Bug 1649131 - Store some data in a pseudo shared state in the child process. r=smaug
The entries in the parent process stores some data in a shared state for some of
the entries that share a document. We also need to store some of this data in
the info objects in the child process, but it doesn't make sense to have it be
shared: the data shouldn't be mutated in the child process, and we probably only
have one of the info objects anyway. This adds a structure that holds the shared
data for an info object in the child process, but without actually sharing it.
As we use info objects in both parent and child, we hold a void pointer that's a
strong reference to a shared state in the parent process, and an owning pointer
to the pseudo-shared state in the child process.

Differential Revision: https://phabricator.services.mozilla.com/D87038
2020-08-23 17:36:10 +00:00
Olli Pettay
f908277430 Bug 1660526 - Tweak AddToRootSessionHistory and AddChildSHEntryHelper to make them easier to follow, r=annyG
CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D87895
2020-08-21 20:59:52 +00:00
Bogdan Tara
90b813cb8e Backed out changeset b8753e7cb414 (bug 1660526) for session related asan failures CLOSED TREE 2020-08-22 09:01:40 +03:00
Olli Pettay
13ebfdf441 Bug 1660526 - Tweak AddToRootSessionHistory and AddChildSHEntryHelper to make them easier to follow, r=annyG
Differential Revision: https://phabricator.services.mozilla.com/D87895
2020-08-21 20:59:52 +00:00
Olli Pettay
19cafeb0ec Bug 1656207 - Disable BFCache (for now) if session history in parent is enabled, r=peterv
https://searchfox.org/mozilla-central/rev/358cef5d1a87172f23b15e1a705d6f278db4cdad/docshell/base/nsDocShell.cpp#6579
is where the essential check is done

Differential Revision: https://phabricator.services.mozilla.com/D87095
2020-08-18 15:23:30 +00:00
Olli Pettay
5192276b89 Bug 1658454 - nsISHEntry.cacheKey setter for session-history-in-parent, r=peterv
SessionHistoryEntry::MaybeSynchronizeSharedStateToInfo call is a tad controversial, but
something like that is needed for the cases when the actual value lives in the SHEntrySharedParentState.

Differential Revision: https://phabricator.services.mozilla.com/D86640
2020-08-13 22:51:17 +00:00
Olli Pettay
cadcd14bc8 Bug 1656996 - Ensure cross-process session history navigations update child process side index and length, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85789
2020-08-14 13:05:25 +00:00
Noemi Erli
b7c6d9d228 Backed out changeset 404955e976d6 (bug 1658454) for causing build bustages in nsDocShell.cpp CLOSED TREE 2020-08-14 01:30:50 +03:00
Csoregi Natalia
36ac6c5cca Backed out 2 changesets (bug 1656997, bug 1656996) for fission failures on browser_preferences_usage.js. CLOSED TREE
Backed out changeset c3aaa4f191e6 (bug 1656997)
Backed out changeset e41977f9608f (bug 1656996)
2020-08-14 00:47:56 +03:00
Olli Pettay
510e721d9e Bug 1658454 - nsISHEntry.cacheKey setter for session-history-in-parent, r=peterv
SessionHistoryEntry::MaybeSynchronizeSharedStateToInfo call is a tad controversial, but
something like that is needed for the cases when the actual value lives in the SHEntrySharedParentState.

Differential Revision: https://phabricator.services.mozilla.com/D86640
2020-08-13 19:18:29 +00:00
Olli Pettay
9b6fb243d1 Bug 1656996 - Ensure cross-process session history navigations update child process side index and length, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85789
2020-08-13 19:17:08 +00:00
Olli Pettay
306b718cb8 Bug 1602115, make it possible to test async history.length handling even when session history lives in the child process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D79198
2020-07-16 23:04:18 +00:00
Razvan Maries
4ccaec8564 Backed out 3 changesets (bug 1653123, bug 1602115) for perma failures on test_history_length_during_pageload.html. CLOSED TREE
Backed out changeset 6b3c0f542ef3 (bug 1653123)
Backed out changeset 951c0fd65a00 (bug 1602115)
Backed out changeset 258d0ebd9e34 (bug 1602115)
2020-07-16 23:21:18 +03:00
Olli Pettay
e702898d75 Bug 1602115, make it possible to test async history.length handling even when session history lives in the child process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D79198
2020-07-16 19:02:49 +00:00
Peter Van der Beken
1ca3ccc2c4 Bug 1648038 - Don't require session history object when creating an entry. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80883
2020-07-14 11:14:46 +00:00
Razvan Maries
4f6b5e6e2a Backed out 2 changesets (bug 1648038) for build bustages on nsDocShell.cpp. CLOSED TREE
Backed out changeset 78b8a2b9277a (bug 1648038)
Backed out changeset b6b620d72e6b (bug 1648038)
2020-07-14 12:17:31 +03:00
Peter Van der Beken
f481f2b486 Bug 1648038 - Don't require session history object when creating an entry. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80883
2020-07-14 08:57:54 +00:00
Simon Giesecke
cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Peter Van der Beken
60dc2308c9 Bug 1648096 - All calls to nsSHistory::LoadDifferingEntries are infallible, stop returning nsresult. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80892
2020-06-25 07:53:09 +00:00
Peter Van der Beken
d41eb8ad49 Bug 1648096 - All calls to nsSHistory::InitiateLoad are infallible, stop returning nsresult. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80891
2020-06-24 16:49:21 +00:00
Simon Giesecke
5bf5787445 Bug 1645339 - Use range-based for with nsTObserverArray in docshell. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D79493
2020-06-16 10:14:24 +00:00
Johann Hofmann
2133bb8e2c Bug 1515073 - Part 2 - Allow nsIWebNavigation::{goBack,goForward} to skip entries without user interaction. r=Gijs,peterv
Depends on D27585

Differential Revision: https://phabricator.services.mozilla.com/D27586
2020-06-09 14:50:14 +00:00