Commit Graph

514 Commits

Author SHA1 Message Date
Razvan Maries
e7522539a9 Backed out changeset a3cbffeb24a3 (bug 1668577) for perma failures on location_reload.html. CLOSED TREE 2020-10-02 19:11:53 +03:00
Olli Pettay
83ddcf9adc Bug 1668577 - Make child process to send offset to parent process, not index, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D92074
2020-10-02 12:05:57 +00:00
Olli Pettay
139acbd1a0 Bug 1668215 - Bail out loading if the SessionHistoryEntry for LoadingSessionHistoryInfo isn't available anymore, r=peterv
I haven't managed to reproduce the crash

Differential Revision: https://phabricator.services.mozilla.com/D92150
2020-10-02 11:53:18 +00:00
Olli Pettay
c22b1a69f0 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
4633f04a14 Bug 1668129: nullcheck shistory in ReplaceActiveSessionHistoryEntry() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91849
2020-09-30 13:48:10 +00:00
Peter Van der Beken
527c3ba7c7 Bug 1659102 - Fix fragment navigation for session history in parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91593
2020-09-29 12:09:59 +00:00
Peter Van der Beken
9e53805747 Bug 1659102 - Merge SetActiveSessionHistoryEntryForTop and SetActiveSessionHistoryEntryForFrame. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91592
2020-09-29 12:04:20 +00:00
Olli Pettay
042a6f1f66 Bug 1667035 - Crash in [@ mozilla::dom::CanonicalBrowsingContext::RemoveDynEntriesFromActiveSessionHistoryEntry], r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D91632
2020-09-29 08:28:09 +00:00
Randell Jesup
3fadcefeec 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
Andreas Farre
5e1d0cbcd2 Bug 1667027 - Fix more tests that uses legacySHistory. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D91277
2020-09-28 12:31:58 +00:00
Nika Layzell
9970c775ec Bug 1656753 - Track CrossGroupOpener on CanonicalBrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D90890
2020-09-22 16:28:37 +00:00
Kashav Madan
a38531ab04 Bug 1666485 - Make BrowsingContext::CreatedDynamically non-synced, r=nika,kmag
Differential Revision: https://phabricator.services.mozilla.com/D89223
2020-09-23 13:43:38 +00:00
Butkovits Atila
c2d7327248 Backed out changeset a81b4130ac14 (bug 1666485) for causing bustages on BrowsingContext. CLOSED TREE 2020-09-23 16:18:53 +03:00
Kashav Madan
fb01408d2e Bug 1666485 - Make BrowsingContext::CreatedDynamically non-synced, r=nika,kmag
Differential Revision: https://phabricator.services.mozilla.com/D89223
2020-09-23 12:45:38 +00:00
Olli Pettay
ab88cc6fb2 Bug 1666596 - Ensure location.reload(true) removes entries for iframes, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D91050
2020-09-23 10:04:57 +00:00
Randell Jesup
9f980bafd3 Bug 1665710: don't update session history for about:blank transient pages r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90589
2020-09-22 16:54:56 +00:00
Olli Pettay
c3afb3ad8c Bug 1666465 - Pass the correct value as the 'persist' parameter in CanonicalBrowsingContext::SessionHistoryCommit, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D90995
2020-09-22 16:27:14 +00:00
Razvan Maries
2b880a944f Backed out changeset 1de39d201585 (bug 1665709) for build bustages on SessionHistoryEntry.cpp. CLOSED TREE 2020-09-22 16:56:14 +03:00
Randell Jesup
f24b0b5532 Bug 1665709: don't update session history for about:blank transient pages r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90589
2020-09-22 13:10:11 +00:00
Emilio Cobos Álvarez
cb233b8098 Bug 1557645 - Clone OOP iframes in the right process. r=nika
This works, though probably we want to do some follow-up tweaks, like
the adding of the onload blocker and so on, so that we can avoid the
UpdateDimensions hack.

We may also want a PrintObject in the nsPrintJob tree, perhaps...

Differential Revision: https://phabricator.services.mozilla.com/D90310
2020-09-22 09:57:27 +00:00
Peter Van der Beken
ce88c2c5a7 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
Peter Van der Beken
073b9fe8a3 Bug 1664656 - Decide whether to add a new entry based on the load type. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90028
2020-09-20 12:40:10 +00:00
Dorel Luca
ec20fe3b28 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
2bf1a15510 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
Peter Van der Beken
b8bc59f244 Bug 1664656 - Decide whether to add a new entry based on the load type. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90028
2020-09-18 16:49:35 +00:00
Olli Pettay
eb56ea3f79 Bug 1574261 - Make nsDocShell::MaybeHandleSubFrameHistory work with session history in parent, r=peterv
This has couple of different pieces and one may want to focus on each of those separately when
reviewing. The first two as small changes.

- Moving mDynamicallyCreated from nsDocShell to be a sync'ed field on BrowsingContext.
  CanonicalBrowsingContext::CreateLoadingSessionHistoryEntryForLoad sets that on a newly created entry.
- Adding mActiveEntryIsLoadingFromSessionHistory. mLoadingEntry + mActiveEntryIsLoadingFromSessionHistory has roughly
  the same lifetime as mLSHE. mLoadingActiveEntry is needed so that child docshell can know whether its parent is loading from session history.
- The main part is in MaybeHandleSubframeHistory which checks if the parent docshell is loading from session history,
  and if so, asks for a LoadingSessionHistoryInfo. In the case of docshell living in a child process that operation is asynchronous,
  so when the data is back from the parent process, LoadURI is called again with the possibly updated data.
  One could possibly split the code to smaller methods and then deal with aContinueHandlingSubframeHistory only in LoadURI,
  but MaybeHandleSubframeHistory does have some early returns which would make that approach possibly hard to follow.

Differential Revision: https://phabricator.services.mozilla.com/D89685
2020-09-17 18:22:08 +00:00
Olli Pettay
214288bf66 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
4589444b55 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
Randell Jesup
772716c380 Bug 1665063: GetSessionHistory() isn't null-checked in HistoryCommitIndexAndLength() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90262
2020-09-15 18:39:09 +00:00
Andrea Marchesini
8146b4c28c 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
Peter Van der Beken
1437f11e49 Bug 1663488 - Fix CanonicalBrowsingContext::NotifyOnHistoryReload. r=smaug
Depends on D89421

Differential Revision: https://phabricator.services.mozilla.com/D89422
2020-09-08 14:04:33 +00:00
Peter Van der Beken
891496b6f7 Bug 1663486 - Synchronize ChildSHistory state when sending a browsing context to a new process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89419
2020-09-08 15:24:13 +00:00
Peter Van der Beken
1031757a1d Bug 1662407 - Call nsSHistory::GotoIndex directly when loading from session history in the parent process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88976
2020-09-08 19:32:27 +00:00
Sylvestre Ledru
1bc0c9ae3f Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D89392
2020-09-08 04:32:00 +00:00
Peter Van der Beken
665da9222c Bug 1662092 - Update the index and length on ChildSHistory in the parent process too. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88804
2020-09-01 12:07:05 +00:00
Olli Pettay
fbe83f4cd2 Bug 1662201 - Update history ID to mach the docshell ID of the SHEntry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88885
2020-09-01 14:47:13 +00:00
Bogdan Tara
41d379c3e0 Backed out changeset 071c8c9a91f1 (bug 1662201) for docshell related bustage CLOSED TREE 2020-09-01 16:54:28 +03:00
Olli Pettay
9a15106718 Bug 1662201 - Update history ID to mach the docshell ID of the SHEntry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88885
2020-09-01 11:58:01 +00:00
Kris Maglione
c67b4248ac Bug 1650257: Part 2 - Abort SetNewDocument() if ancestors are discarded/cached. r=nika,smaug,sg
Differential Revision: https://phabricator.services.mozilla.com/D87486
2020-08-31 18:51:56 +00:00
Olli Pettay
23ee1bacbf 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
b35b34b0b8 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
alwu
c6a3eec4c5 Bug 1634494 - part4 : notify media control action to the top level browsing context and all its children. r=chunmin
As we want to have an ability to do different operations on different browsing contexts for those actions with default handlers (play/pause/stop), so in D87142 we have changed `ContentMediaController` per browsing context. Techically it's per inner window, but it means each browsing context would have one corresponding `ContentMediaController` if the web content is in that browsing context.

The approach to achieve the goal is that, when getting those actions, we would notify to the top level browsing context, then go through its children to ensure that each browsing context can be operated correctly. By doing so, we can trigger default action handler and customized action handler on different browsing context.

Eg. A page has a child iframe, which has active media session with an action handler for `pause`. A page and iframe are both playing media. When pressing `pause`, default action handler would be run on main frame, and the customized action handler would be run on iframe.

Differential Revision: https://phabricator.services.mozilla.com/D87143
2020-08-27 04:10:45 +00:00
Peter Van der Beken
78c82ffa68 Bug 1660869 - Forward RemoveFromSessionHistory to the parent process for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88061
2020-08-25 16:20:17 +00:00
Peter Van der Beken
c49bf30ba7 Bug 1660868 - Forward RemoveDynEntries to the parent process for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88060
2020-08-25 16:04:51 +00:00
Peter Van der Beken
bcaca89c59 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
Olli Pettay
59b564c065 Bug 1658821 - Move Id from SessionHistoryInfo to LoadingSessionHistoryInfo, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86864
2020-08-20 16:55:21 +00:00
Butkovits Atila
720f9513be Backed out changeset 24d6087acc64 (bug 1658821) for build bustage at SessionHistoryEntry.cpp. CLOSED TREE 2020-08-20 17:37:53 +03:00
Olli Pettay
0f7a888b1a Bug 1658821 - Move Id from SessionHistoryInfo to LoadingSessionHistoryInfo, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86864
2020-08-20 12:02:17 +00:00
Edgar Chen
6fed29e010 Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-17 11:02:34 +00:00
Olli Pettay
3e8cc08f02 Bug 1658649 - Make session-history-in-parent nsISHEntry setters to rely on active entry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86770
2020-08-13 22:51:47 +00:00