Commit Graph

173 Commits

Author SHA1 Message Date
Alexandru Marc
2b5b645133 Revert "Bug 1966658 - Populate the partitionedPrincipal to the SessionHistoryEntry in the parent process. r=smaug,sessionstore-reviewers,core-sessionstore-reviewers,farre"
This reverts commit 52c31c4da0.
2025-05-22 07:21:13 +00:00
Tim Huang
52c31c4da0 Bug 1966658 - Populate the partitionedPrincipal to the SessionHistoryEntry in the parent process. r=smaug,sessionstore-reviewers,core-sessionstore-reviewers,farre
In this patch, we populate the partitionedPrincipal when we commit
SessionHistory to the parent process. In addition, we remove the
serialization and deserialization of partitionedPrincipalToInherit in
sessionHistory.

Differential Revision: https://phabricator.services.mozilla.com/D250263
2025-05-22 02:06:53 +00:00
Frederik Braun
f871c05210 Bug 1867137 - Only save CSP in SHEntry when required r=tschuster
Differential Revision: https://phabricator.services.mozilla.com/D248730
2025-05-20 09:56:09 +00:00
Adam Vandolder
23e9c9915a Bug 1890747 - Track Navigation history entries. r=dom-core,farre
Differential Revision: https://phabricator.services.mozilla.com/D219007
2025-02-13 03:11:20 +00:00
Rob Wu
368fc29f2b Bug 1826867 - Use NS_GetFinalChannelURI instead of GetURI in SessionHistoryEntry r=rpl,smaug
When redirects are involved, `DocumentLoadListener::DoOnStartRequest`
may call `ReplaceLoadingSessionHistoryEntryForLoad`, which updates the
history entry with the destination of a redirect. But if the redirection
target is a `moz-extension:`-URL, the URL becomes a jar:file:/file: URL.
This is because SessionHistoryInfo (in SessionHistoryEntry.cpp) looks up
the URL with `nsIChannel::GetURI`. For `moz-extension:`-URLs, the
underlying channel has a `jar:file:` or `file:` URL, as provided by
ExtensionProtocolHandler (via SubstitutingProtocolHandler::NewChannel).
For details, see https://bugzilla.mozilla.org/show_bug.cgi?id=1826867#c7

To fix this, this patch switches to `NS_GetFinalChannelURI` instead. For
more history on this type of bug and SessionHistoryInfo, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1826867#c9

Differential Revision: https://phabricator.services.mozilla.com/D234333
2025-01-17 13:19:37 +00:00
Nika Layzell
0b08466c9c Bug 1931062 - Part 2: Directly visit BrowserParent for IsPriorityActive, r=smaug
Previously we were calling these methods more often than necessary, as they'd
be called multiple times per-BrowserParent if a single BrowserParent is hosting
multiple frames.

Differential Revision: https://phabricator.services.mozilla.com/D229549
2024-12-04 20:27:48 +00:00
Adam Vandolder
fdd2d05bdb Bug 1917369 - Track user interaction state in docshell's active entry. r=dom-core,peterv
Differential Revision: https://phabricator.services.mozilla.com/D221389
2024-09-12 13:12:58 +00:00
Adam Vandolder
b822842604 Bug 1734181 - Part 1: Carry hasUserInteraction over to newly-created SessionHistoryEntrys. r=jjaschke,peterv,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D209014
2024-08-24 19:43:30 +00:00
Butkovits Atila
6d3e02fa30 Backed out 5 changesets (bug 1734181) for causing failures at test_ext_tabs_goBack_goForward.html. CLOSED TREE
Backed out changeset eb37aa9ac513 (bug 1734181)
Backed out changeset a94eb78e58c2 (bug 1734181)
Backed out changeset aa72b0e38e8b (bug 1734181)
Backed out changeset f4b8c6babb7e (bug 1734181)
Backed out changeset 8ec6704b8022 (bug 1734181)
2024-08-21 05:58:08 +03:00
Adam Vandolder
e80951ceaa Bug 1734181 - Part 1: Carry hasUserInteraction over to newly-created SessionHistoryEntrys. r=jjaschke,peterv,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D209014
2024-08-20 14:21:28 +00:00
Peter Van der Beken
29ebd94e8a Bug 1640839 - Add IPC serializer for WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,dom-storage-reviewers,janv,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201339
2024-03-02 07:50:22 +00:00
Natalia Csoregi
10b9ceb789 Backed out 13 changesets (bug 1640839) for causing bustage on Element.cpp CLOSED TREE
Backed out changeset 179ceb82c9e5 (bug 1640839)
Backed out changeset 73f498a821f0 (bug 1640839)
Backed out changeset dc2d3d0e0365 (bug 1640839)
Backed out changeset ddc989ac0509 (bug 1640839)
Backed out changeset e595bb3feea8 (bug 1640839)
Backed out changeset c85aca04e27f (bug 1640839)
Backed out changeset 98e8e3a4047a (bug 1640839)
Backed out changeset 59ef180517db (bug 1640839)
Backed out changeset af2f5e293662 (bug 1640839)
Backed out changeset 89aa6d9dc598 (bug 1640839)
Backed out changeset 67b722a722f9 (bug 1640839)
Backed out changeset 24a9665c6ced (bug 1640839)
Backed out changeset d93f199385e9 (bug 1640839)
2024-03-01 18:23:08 +02:00
Peter Van der Beken
29b6d7ad30 Bug 1640839 - Add IPC serializer for WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,dom-storage-reviewers,janv,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201339
2024-03-01 14:31:12 +00:00
Jonathan Watt
db3a21cec4 Bug 1866011 p1. Rename nsISHEntry.contentViewer. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D194369
2023-11-24 09:10:52 +00:00
Jonathan Watt
916f0c830c Bug 1866010 p3. Update aContentViewer args to reflect nsIDocumentViewer's new name. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D194359
2023-11-24 09:10:49 +00:00
Jonathan Watt
901a6e2456 Bug 1865891 p3. Rename EvictOutOfRangeContentViewers to match nsIDocumentViewer's new name. r=emilio
Depends on D194275

Differential Revision: https://phabricator.services.mozilla.com/D194276
2023-11-22 08:08:13 +00:00
Jonathan Watt
efb5a74fbc Bug 1865480. Rename nsIContentViewer to nsIDocumentViewer. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D193987
2023-11-21 12:45:59 +00:00
Malte Juergens
e9b9c95fe2 Bug 1847918 - Limit nsDocShellLoadState::IsExemptFromHTTPSOnlyMode to HTTPS-First r=freddyb
`nsDocShellLoadState::IsExemptFromHTTPSOnlyMode` is currently only used by HTTPS-First. It is used for fixing upgrade-downgrade loops and when loading history entries, as when we already know if HTTPS-First succeeded there or not, we have no need for trying to upgrade again and can disable HTTPS-First. With the changes introduced by Bug 1839612, `nsDocShellLoadState::IsExemptFromHTTPSOnlyMode` also applies to HTTPS-Only, which is a problem because disabling HTTPS-Only for history entries will result in them potentially being loaded insecurely without the user setting an exception. As a solution this patch just applies `nsILoadInfo::HTTPS_ONLY_EXEMPT_NEXT_LOAD`, the flag being set when `nsDocShellLoadState::IsExemptFromHTTPSOnlyMode` is set, when HTTPS-First is enabled, and renames both flags to reflect that behavior.

Differential Revision: https://phabricator.services.mozilla.com/D185829
2023-09-11 12:14:30 +00:00
Malte Juergens
1131c944f5 Bug 1839612: HTTPS-First: Clear HTTPS_ONLY_EXEMPT on every load r=necko-reviewers,freddyb,kershaw
- Also clear HTTPS_ONLY_EXEMPT for HTTPS-First in TestSitePermissionAndPotentiallyAddExemption
- Remove PotentiallyClearExemptFlag as we are now clearing the exemption every time
- Introduce new flag HTTPS_ONLY_EXEMPT_NEXT_LOAD which will set the exemption again after it being (potentially) cleared
- Set that flag when nsDocShellLoadState::IsExemptFromHTTPSOnlyMode is set, since that happens before the exemption is cleared

Differential Revision: https://phabricator.services.mozilla.com/D182322
2023-07-11 11:07:24 +00:00
Olli Pettay
3051d7ed00 Bug 1827655, for consistency, make nsISHEntry implementations support weak references similarly to nsISHistory implementation, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D177532
2023-05-15 14:48:46 +00:00
Rob Wu
e6a16dce74 Bug 1821303 - Add hasPostData bool to nsISHEntry r=smaug
To avoid unnecessary cloning of nsIInputStream, add a hasPostData
boolean attribute to tell whether a nsISHEntry has populated postData.

Differential Revision: https://phabricator.services.mozilla.com/D173237
2023-03-30 14:05:09 +00:00
Iulian Moraru
60f8208ba8 Backed out 3 changesets (bug 1821303) for causing xpcshell failures on test_ext_dnr_allowAllRequests.js. CLOSED TREE
Backed out changeset f474edf390d1 (bug 1821303)
Backed out changeset 90c73fb01441 (bug 1821303)
Backed out changeset 84cd09689228 (bug 1821303)
2023-03-29 20:53:32 +03:00
Rob Wu
79ba545e60 Bug 1821303 - Add hasPostData bool to nsISHEntry r=smaug
To avoid unnecessary cloning of nsIInputStream, add a hasPostData
boolean attribute to tell whether a nsISHEntry has populated postData.

Differential Revision: https://phabricator.services.mozilla.com/D173237
2023-03-29 15:50:45 +00:00
Andi-Bogdan Postelnicu
18e90b4312 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-27 07:20:25 +00:00
Sandor Molnar
a21465caf7 Backed out 2 changesets (bug 1276351) for causing build bustage in image/ClippedImage.cp CLOSED TREE
Backed out changeset e84598eb82c1 (bug 1276351)
Backed out changeset e940b0554484 (bug 1276351)
2023-03-25 14:16:43 +02:00
Andi-Bogdan Postelnicu
a53c65154f Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-25 06:58:52 +00:00
Iulian Moraru
55a9a03f95 Backed out 2 changesets (bug 1276351) for causing multiple failures.
Backed out changeset eeaf4f1e06af (bug 1276351)
Backed out changeset d44cb5704342 (bug 1276351)
2023-03-25 00:08:24 +02:00
Andi-Bogdan Postelnicu
75ea04501c Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-24 18:55:39 +00:00
Peter Van der Beken
067c77b3c0 Bug 1804803 - Hit MOZ_CRASH(DocumentLoadListener::Open for invalid history entry due to mismatch of 'Invalid LoadId'). r=smaug
When we start the load for a reload, check that the entry we're trying to
reload is still connected to session history.

Differential Revision: https://phabricator.services.mozilla.com/D165049
2023-02-21 15:09:09 +00:00
Stanca Serban
28cbcc3fc4 Backed out changeset efdaaeb6ecf2 (bug 1804803) for causing Bug 1812257. a=backout 2023-01-25 11:41:08 +02:00
Peter Van der Beken
1e8b7be9f8 Bug 1804803 - Hit MOZ_CRASH(DocumentLoadListener::Open for invalid history entry due to mismatch of 'Invalid LoadId'). r=smaug
When we start the load for a reload, check that the entry we're trying to
reload is still connected to session history.

Differential Revision: https://phabricator.services.mozilla.com/D165049
2023-01-24 11:11:26 +00:00
Cosmin Sabou
94c8d92c01 Backed out changeset 7e708c1c9d9d (bug 1805182) for causing SessionHistory related failures. 2023-01-19 19:37:59 +02:00
Sean Feng
29232c322b Bug 1805182 - Fix the bug where postData is lost when the LoadingSessionHistoryEntry is replaced for redirect r=peterv
The postData should be carried over when we replace the
LoadingSessionHistoryEntry for the redirect.

Differential Revision: https://phabricator.services.mozilla.com/D166176
2023-01-19 15:34:47 +00:00
Norisz Fay
f3c2d54fc2 Backed out changeset 6b39ac73fb99 (bug 1804803) for causing build bustages CLOSED TREE 2022-12-21 14:37:39 +02:00
Peter Van der Beken
676aa38fd4 Bug 1804803 - Hit MOZ_CRASH(DocumentLoadListener::Open for invalid history entry due to mismatch of 'Invalid LoadId'). r=smaug
When we start the load for a reload, check that the entry we're trying to
reload is still connected to session history.

Differential Revision: https://phabricator.services.mozilla.com/D165049
2022-12-21 10:48:38 +00:00
Nika Layzell
2ddb6ff97b Bug 1538028 - Part 1: Validate SHIP history loads in DocumentLoadListener, r=smaug,necko-reviewers,valentin
With SHIP, we have a copy of the actual SessionHistoryEntry which is
responsible for a history load locally within the parent process. Using this,
we can validate any session history loads coming from the content process to
ensure that they correspond to actual outstanding history loads.

We can't do this for non-SHIP loads, as session history exists only within the
content process.

Differential Revision: https://phabricator.services.mozilla.com/D161197
2022-11-29 20:41:44 +00:00
Nika Layzell
0c7b1d93d6 Bug 1798986 - Track UnstrippedURI in SessionHistory, r=smaug,timhuang
Previously, we tracked UnstrippedURI on the nsDocShellLoadState and LoadInfo,
and manually filled it in to match the previous load when doing a
LOAD_CMD_RELOAD in nsDocShell. It is more consistent with other load types to
instead store the information in the load state, allowing it to be handled
consistently for reloads and other history operations.

Unfortunately, this patch has some extra complexity right now, as it needs to
support both SHIP and non-SHIP session history. This should disappear in the
future when we switch to using exclusively SHIP.

Differential Revision: https://phabricator.services.mozilla.com/D161196
2022-11-25 22:09:46 +00:00
Cristian Tuns
236c5e681c Backed out changeset 5a6645284357 (bug 1798986) for causing xpcshell failures 2022-11-16 16:10:04 -05:00
Nika Layzell
ffaf549672 Bug 1798986 - Track UnstrippedURI in SessionHistory, r=smaug,timhuang
Previously, we tracked UnstrippedURI on the nsDocShellLoadState and LoadInfo,
and manually filled it in to match the previous load when doing a
LOAD_CMD_RELOAD in nsDocShell. It is more consistent with other load types to
instead store the information in the load state, allowing it to be handled
consistently for reloads and other history operations.

Unfortunately, this patch has some extra complexity right now, as it needs to
support both SHIP and non-SHIP session history. This should disappear in the
future when we switch to using exclusively SHIP.

Differential Revision: https://phabricator.services.mozilla.com/D161196
2022-11-16 18:25:21 +00:00
Csoregi Natalia
17a6c794ec Backed out changeset 2c479e5f52df (bug 1798986) for causing failures on browser_urlQueryStringStripping_telemetry.js. CLOSED TREE 2022-11-14 20:51:27 +02:00
Nika Layzell
bd8aaabe12 Bug 1798986 - Track UnstrippedURI in SessionHistory, r=smaug,timhuang
Previously, we tracked UnstrippedURI on the nsDocShellLoadState and LoadInfo,
and manually filled it in to match the previous load when doing a
LOAD_CMD_RELOAD in nsDocShell. It is more consistent with other load types to
instead store the information in the load state, allowing it to be handled
consistently for reloads and other history operations.

Unfortunately, this patch has some extra complexity right now, as it needs to
support both SHIP and non-SHIP session history. This should disappear in the
future when we switch to using exclusively SHIP.

Differential Revision: https://phabricator.services.mozilla.com/D161196
2022-11-14 17:10:29 +00:00
Olli Pettay
8c40adc82d Bug 1769189, ensure history state is updated if beforeunload listener calls replaceState, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D152170
2022-10-17 12:56:37 +00:00
Kagami Sascha Rosylight
db48a999b3 Bug 1769290 - Part 12: Apply mozilla-js-handle-rooted-typedef against docshell r=andi
Differential Revision: https://phabricator.services.mozilla.com/D150794
2022-07-04 20:57:18 +00:00
Nika Layzell
a4a6fe3798 Bug 1773088 - Part 2: Stop requiring an actor to serialize StructuredCloneData over IPC, r=asuth
This is largely a straightforward find and replace of various methods, with the
unnecessary arguments removed and compiler errors fixed.

Differential Revision: https://phabricator.services.mozilla.com/D148532
2022-06-08 15:24:27 +00:00
Nika Layzell
488966fb05 Bug 1754004 - Part 10: Clone PostData when writing into & reading from SessionHistoryInfo, r=smaug
Previously the SessionHistoryInfo would hold onto and hand out the
original nsIInputStream objects which were provided by the
nsDocShellLoadState and used to create the underlying channel. This
could cause issues in edge cases, as input streams when serialized over
IPC have their logical owner transferred to the IPC layer so that it can
copy the data to the peer process.

This patch changes the logic to instead clone the input stream to and
from the history info. This means that the history info has its own
instance of the stream type and interacting with it shouldn't interfere
with other consumers of the post data stream.

The behaviour for non-SHIP session history is not changed, as it doesn't
serialize the relevant streams over IPC in the same way, and is on track to be
removed.

Differential Revision: https://phabricator.services.mozilla.com/D141047
2022-05-13 14:16:12 +00:00
Noemi Erli
d4d5b7703c Backed out 22 changesets (bug 1696894, bug 1759569, bug 1754031, bug 1759563, bug 1759572, bug 1754004) for causing leack failures CLOSED TREE
Backed out changeset 673ecd5337e1 (bug 1754004)
Backed out changeset ecbf5f3c51de (bug 1754004)
Backed out changeset fc6c39f56d21 (bug 1754004)
Backed out changeset 5b3d58fbaf9d (bug 1696894)
Backed out changeset 2e56c89cf55d (bug 1754004)
Backed out changeset b7723490f025 (bug 1754004)
Backed out changeset 1dfbf61ff5dd (bug 1754004)
Backed out changeset e73abb071bb3 (bug 1754004)
Backed out changeset f9abe4fbf501 (bug 1754004)
Backed out changeset ee7aeb631cd9 (bug 1754004)
Backed out changeset d66aacfcf983 (bug 1754004)
Backed out changeset 5c2872ad6912 (bug 1754004)
Backed out changeset e1ae48f30d2c (bug 1754004)
Backed out changeset 849b63707d7f (bug 1754004)
Backed out changeset 36563e3b1e04 (bug 1754004)
Backed out changeset ccb4be659107 (bug 1754004)
Backed out changeset 659581d4159b (bug 1754004)
Backed out changeset 611ea76d7a9c (bug 1754004)
Backed out changeset 9b24b561698c (bug 1759572)
Backed out changeset f820e0f209ff (bug 1759563)
Backed out changeset 8d82066fa181 (bug 1759569)
Backed out changeset a2835afab1ad (bug 1754031)
2022-05-11 06:16:25 +03:00
Nika Layzell
fef53f3fa8 Bug 1754004 - Part 10: Clone PostData when writing into & reading from SessionHistoryInfo, r=smaug
Previously the SessionHistoryInfo would hold onto and hand out the
original nsIInputStream objects which were provided by the
nsDocShellLoadState and used to create the underlying channel. This
could cause issues in edge cases, as input streams when serialized over
IPC have their logical owner transferred to the IPC layer so that it can
copy the data to the peer process.

This patch changes the logic to instead clone the input stream to and
from the history info. This means that the history info has its own
instance of the stream type and interacting with it shouldn't interfere
with other consumers of the post data stream.

The behaviour for non-SHIP session history is not changed, as it doesn't
serialize the relevant streams over IPC in the same way, and is on track to be
removed.

Differential Revision: https://phabricator.services.mozilla.com/D141047
2022-05-10 22:27:45 +00:00
Sebastian Hengst
107311111f Backed out 17 changesets (bug 1696894, bug 1754004) for causing crashes e.g. bug 1767808, and hanging Gmail (bug 1767918). a=backout DONTBUILD
Backed out changeset 63f17a06eba9 (bug 1754004)
Backed out changeset 017e1552d549 (bug 1754004)
Backed out changeset 010dfd821cf3 (bug 1696894)
Backed out changeset 96a39c2ba7a3 (bug 1754004)
Backed out changeset a147df47a0e3 (bug 1754004)
Backed out changeset 9018dd592230 (bug 1754004)
Backed out changeset 234ff9e092c2 (bug 1754004)
Backed out changeset c4f1e86992b6 (bug 1754004)
Backed out changeset 51bd50b57dd5 (bug 1754004)
Backed out changeset d95e7ad0eafa (bug 1754004)
Backed out changeset 35a69828091c (bug 1754004)
Backed out changeset 6802a4326963 (bug 1754004)
Backed out changeset e40e810e18fc (bug 1754004)
Backed out changeset 82b38c12b298 (bug 1754004)
Backed out changeset 0a6cf0817bf5 (bug 1754004)
Backed out changeset 6d8e51b3e8d7 (bug 1754004)
Backed out changeset 2059c2d0d880 (bug 1754004)
2022-05-05 11:27:42 +02:00
Nika Layzell
6f5256c17b Bug 1754004 - Part 10: Clone PostData when writing into & reading from SessionHistoryInfo, r=smaug
Previously the SessionHistoryInfo would hold onto and hand out the
original nsIInputStream objects which were provided by the
nsDocShellLoadState and used to create the underlying channel. This
could cause issues in edge cases, as input streams when serialized over
IPC have their logical owner transferred to the IPC layer so that it can
copy the data to the peer process.

This patch changes the logic to instead clone the input stream to and
from the history info. This means that the history info has its own
instance of the stream type and interacting with it shouldn't interfere
with other consumers of the post data stream.

The behaviour for non-SHIP session history is not changed, as it doesn't
serialize the relevant streams over IPC in the same way, and is on track to be
removed.

Differential Revision: https://phabricator.services.mozilla.com/D141047
2022-05-03 23:30:36 +00:00
Butkovits Atila
bc5f86a3c7 Backed out 19 changesets (bug 1759569, bug 1754004, bug 1759563, bug 1754031, bug 1696894, bug 1759572) for causing wpt failures. CLOSED TREE
Backed out changeset 110a8dce4b5d (bug 1696894)
Backed out changeset a62dab05c6cd (bug 1754004)
Backed out changeset 7cf122f6e19f (bug 1754004)
Backed out changeset 2aa9a0a9adbc (bug 1754004)
Backed out changeset cde16b2cdbfb (bug 1754004)
Backed out changeset 452fe0a15c99 (bug 1754004)
Backed out changeset eace8d4756ef (bug 1754004)
Backed out changeset 5e1fad91e935 (bug 1754004)
Backed out changeset eb6de0b1ab8e (bug 1754004)
Backed out changeset 1ac1908ed3d0 (bug 1754004)
Backed out changeset 473cad5b22ab (bug 1754004)
Backed out changeset 1923922be138 (bug 1754004)
Backed out changeset c7966d91f89e (bug 1754004)
Backed out changeset df5ce1f6712c (bug 1754004)
Backed out changeset a3f3f9761ada (bug 1754004)
Backed out changeset c8ec86e0a33b (bug 1759572)
Backed out changeset 6c102f8e3d4a (bug 1759563)
Backed out changeset bd3a2fcf4f0c (bug 1759569)
Backed out changeset 2541d8face65 (bug 1754031)
2022-05-03 06:00:22 +03:00