Commit Graph
191 Commits
Author SHA1 Message Date
Alexandru Michis c8caa831d9 Backed out 7 changesets (bug 1650089) for causing xpcshell failures in test_ext_cookieBehaviors.js
Backed out changeset 336d6eb2fc15 (bug 1650089)
Backed out changeset 283ba29cdbeb (bug 1650089)
Backed out changeset c470e4c65117 (bug 1650089)
Backed out changeset 8fc2f428694d (bug 1650089)
Backed out changeset 37e5185dae14 (bug 1650089)
Backed out changeset a26afdc56d91 (bug 1650089)
Backed out changeset 32e207558b3d (bug 1650089)
2021-08-04 12:32:07 +03:00
Nika Layzell 56bfde27c5 Bug 1650089 - Part 1: Add a remoteTypeOverride option for about:blank loads triggered by chrome, r=annyG,kmag
After the changes in this bug, about:blank loads triggered by chrome will
finish in a "web" content process, as they have an untrusted null principal
without a precursor. In a few places throughout the codebase, however, we
perform about:blank loads with the explicit expectation that they do not change
processes. This new remoteTypeOverride option allows the intended final process
to be explicitly specified in this situation.

For security & simplicity reasons, this new attribute is limited to only be
usable on system-principal triggered loads of about:blank in toplevel browsing
contexts.

Differential Revision: https://phabricator.services.mozilla.com/D120671
2021-08-03 18:17:54 +00:00
Noemi Erli dec3cca55f Backed out 7 changesets (bug 1650089) foe causing bustages in ProcessIsolation.cpp
Backed out changeset 4e73beb8872c (bug 1650089)
Backed out changeset 092451e931ce (bug 1650089)
Backed out changeset ca9ba60010c6 (bug 1650089)
Backed out changeset ee61b69ba556 (bug 1650089)
Backed out changeset 091c4efa36a7 (bug 1650089)
Backed out changeset dbdee40ef8a0 (bug 1650089)
Backed out changeset 54d12a4333a0 (bug 1650089)
2021-08-03 20:15:54 +03:00
Nika Layzell 0c2e579295 Bug 1650089 - Part 1: Add a remoteTypeOverride option for about:blank loads triggered by chrome, r=annyG,kmag
After the changes in this bug, about:blank loads triggered by chrome will
finish in a "web" content process, as they have an untrusted null principal
without a precursor. In a few places throughout the codebase, however, we
perform about:blank loads with the explicit expectation that they do not change
processes. This new remoteTypeOverride option allows the intended final process
to be explicitly specified in this situation.

For security & simplicity reasons, this new attribute is limited to only be
usable on system-principal triggered loads of about:blank in toplevel browsing
contexts.

Differential Revision: https://phabricator.services.mozilla.com/D120671
2021-08-03 15:39:33 +00:00
Dorel Luca 0ec812b2f0 Backed out 5 changesets (bug 1650089) for Browser-chrome failures in browser/components/originattributes/test/browser/browser_firstPartyIsolation_aboutPages.js. CLOSED TREE
Backed out changeset 26ddad079ad3 (bug 1650089)
Backed out changeset 5ae2b2641484 (bug 1650089)
Backed out changeset c5d267a1907c (bug 1650089)
Backed out changeset d9eeca699dec (bug 1650089)
Backed out changeset 8bb303f6831a (bug 1650089)
2021-07-29 05:53:31 +03:00
Nika Layzell 9e235a6989 Bug 1650089 - Part 1: Add a remoteTypeOverride option for about:blank loads triggered by chrome, r=annyG,kmag
After the changes in this bug, about:blank loads triggered by chrome will
finish in a "web" content process, as they have an untrusted null principal
without a precursor. In a few places throughout the codebase, however, we
perform about:blank loads with the explicit expectation that they do not change
processes. This new remoteTypeOverride option allows the intended final process
to be explicitly specified in this situation.

For security & simplicity reasons, this new attribute is limited to only be
usable on system-principal triggered loads of about:blank in toplevel browsing
contexts.

Differential Revision: https://phabricator.services.mozilla.com/D120671
2021-07-29 01:40:19 +00:00
Tim Huang f9953bcb87 Bug 1706616 - Part 1: Add telemetry probe for query stripping. r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D117006
2021-06-14 19:45:39 +00:00
Marian-Vasile Laza b29d03ccd5 Backed out 2 changesets (bug 1706616) for causing failures in browser_urlQueryStringStripping_telemetry.js
CLOSED TREE

Backed out changeset 7979a6bdcdae (bug 1706616)
Backed out changeset 0d901239cc7a (bug 1706616)
2021-06-11 11:22:51 +03:00
Tim Huang 05e2f4d02c Bug 1706616 - Part 1: Add telemetry probe for query stripping. r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D117006
2021-06-11 07:28:15 +00:00
Marian-Vasile Laza babd09fe4f Backed out 2 changesets (bug 1706616) for causing bc failures in browser_urlQueryStringStripping_telemetry.js
CLOSED TREE

Backed out changeset 443f5f8fe809 (bug 1706616)
Backed out changeset 8446bda339b7 (bug 1706616)
2021-06-10 14:37:09 +03:00
Tim Huang 8694408c02 Bug 1706616 - Part 1: Add telemetry probe for query stripping. r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D117006
2021-06-10 08:20:27 +00:00
Tim Huang d19d74f38a Bug 1706615 - Part 8: Preserve the unstripped URI when doing a reload. r=smaug
To restore the stripped query parameters when ETP toggle has been set to
off, we preserve the current unstripped URI to the new loadState when
doing a reload. By doing this, it will redirect the channel back to the
unstripped URI because the loading channel is in the content blocking
allow list and it has a unstripped URI in its loadInfo.

Differential Revision: https://phabricator.services.mozilla.com/D116116
2021-06-02 19:46:22 +00:00
Tim Huang 152fc13e1e Bug 1706615 - Part 4: Preserve the original URI into unstrippedURI if query stripping happens for navigations. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D116111
2021-06-02 19:46:21 +00:00
Tim Huang 32531a50ee Bug 1706615 - Part 2: Add UnstrippedURI in the nsDocShellLoadState. r=smaug
This patch adds an attribute UnstrippedURI in the nsDocShellLoadState.
The attribute will be set if the query stripping was happening.
Otherwise, it will stay a nullptr. This attribute will be propagated to
the loadInfo, so that we can revert the query stripping in the parent
process if the loading URI is in the content blocking allow list. We can
only revert the query stripping in the parent process because we cannot
access the permission of the content blocking allow list of a
cross-origin domain. So, we can only carry the unstripped URI in the
loadInfo and perform a interal redirect to revert the query stripping.

Differential Revision: https://phabricator.services.mozilla.com/D116109
2021-06-02 19:46:20 +00:00
Tim Huang 81e8d1b2a5 Bug 1706604 - Part 2: Strip the URI before create the channel in nsDocShell. r=smaug
The target query parameters will be stripped from the loading URI in
nsDocShell before creating the channel for the loading. We will only
strip the URI for top-level loading but not for frames. It's because
there is no need to strip frames if we've stripped in top-level already.

Differential Revision: https://phabricator.services.mozilla.com/D113843
2021-05-20 11:22:12 +00:00
Christoph Kerschbaumer c76a9a7de2 Bug 1658924: Implement HTTPS-First and automatically fall back to http if secure top-level connection is not available r=necko-reviewers,JulianWels,mattwoodrow,dragana
Differential Revision: https://phabricator.services.mozilla.com/D111686
2021-04-13 17:43:12 +00:00
Emilio Cobos Álvarez 3e3101a57b Bug 1703289 - Make mixed content blocker use a session-persistent permission rather than ad-hoc code. r=ckerschb,smaug
This is more fission-compatible, and a lot simpler.

Differential Revision: https://phabricator.services.mozilla.com/D111480
2021-04-12 18:04:12 +00:00
Niklas Gögge 7529f6d256 Bug 1647128 - Detect webby navs caused by meta refreshes in IsUserTriggeredForSecFetchSite check r=necko-reviewers,ckerschb,valentin
Differential Revision: https://phabricator.services.mozilla.com/D108035
2021-03-17 11:42:55 +00:00
Emilio Cobos Álvarez 878e6a6131 Bug 1694927 - Don't allow location APIs to steal focus. r=smaug,hsivonen
The check was a bit too general it seems. Explicitly allow moving focus
for link clicks and window.open(), which are the things we have tests
for and care about moving focus.

Differential Revision: https://phabricator.services.mozilla.com/D107039
2021-03-03 15:44:59 +00:00
Nika Layzell 5afbed67ee Bug 1682285 - Part 1: Split internal and external load flags, r=kmag,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D103364
2021-01-29 22:06:16 +00:00
Andi-Bogdan Postelnicu b0b5f1eaa8 Bug 1683532 - Make docshell buildable outside of unified-build environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100205
2021-01-04 14:18:37 +00:00
Kris Maglione 9e07a6556c Bug 1672479: Fix beforeunload handling in location.refresh under SHiP. r=peterv
Per spec, whenever a "beforeunload" event handler which would affect a
`location.reload()` call exists, it must be called before the `reload()` call
returns. If a handler requests to block the navigation and we choose to
display a confirmation prompt, that must also be displayed before the call
returns.

With session history in parent, though, that currently does not happen,
because `location.reload()` triggers an async IPC call to the parent process,
and only attempts the actual reload (and thus beforeunload dispatch and
prompting) once it returns, which is too late to affect the caller.

This patch changes the handling in this case to manually perform permit unload
checks before taking an async code path. This still leaves the opportunity for
session history handlers in the parent to cancel the load asynchronously, but
that doesn't violate any spec-defined behavior.

Differential Revision: https://phabricator.services.mozilla.com/D94354
2020-12-14 21:25:46 +00:00
Peter Van der Beken f8d483eea0 Bug 1673702 - Wrong page loaded when reloading after navigating back across an eTLD+1 boundary. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D95408
2020-10-30 23:49:14 +00:00
Marco Bonardo 2126d8e487 Bug 1626016 - Remove createFixupURI and move postData inside URIFixupInfo. r=Gijs,geckoview-reviewers,preferences-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D93189
2020-10-13 10:20:16 +00:00
Mark Banner 4ab5dd90a6 Bug 1375244 - Remove sync KeywordToURI and related IPC messages as they are no longer required. r=Gijs,mak,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89486
2020-09-11 07:15:21 +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
Nika Layzell 7b558ce0be Bug 1658082 - Part 1: Correctly set mTargetBrowsingContext from IPC, r=mattwoodrow
Previously, this field was incorrectly being initialized to
SourceBrowsingContext instead of TargetBrowsingContext.

Differential Revision: https://phabricator.services.mozilla.com/D88321
2020-08-26 22:21: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
Peter Van der Beken fe202df43d Bug 1649131 - Stop checking for an nsISHEntry in nsDocShellLoadState as a sign of a load from history. r=smaug
Checking for an nsISHEntry doesn't work anymore with session history in the
parent. For that we can check that the loading session history info's
mIsLoadFromSessionHistory is true. If there is no loading session history info
we can fall back to the old way of checking for a non-null nsISHEntry (which
will only ever be true if session history in the parent is turned off).

Differential Revision: https://phabricator.services.mozilla.com/D87037
2020-08-23 20:20:55 +00:00
Peter Van der Beken 5a377e2136 Bug 1649131 - Stop marking SessionHistoryInfo as moveonly. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87036
2020-08-20 12:58:40 +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
Olli Pettay 716fb0c169 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
Csoregi Natalia 568e94a5b4 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 6d8b284807 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 cbe2e95419 Bug 1654525 - Ensure loads initiated from session history in parent reuse the existing SHEntries, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85173
2020-07-29 14:23:09 +00:00
Sebastian Streich 346b193c48 Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

***
Fix triggeringSandboxflags passing

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-07-29 11:43:23 +00:00
Marco Bonardo 1905552554 Bug 1637745. r=Gijs,necko-reviewers,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D80345
2020-07-17 13:45:58 +00:00
Matt Woodrow f451a0adfe Bug 1649879 - Implement WebNavigationFlagsToFixupFlags in C++ so that we avoid needing to call into the URIFixup JS module. r=kmag
This should be the exact same code, just avoiding needing to create the URIFixup service in order to run it.

Differential Revision: https://phabricator.services.mozilla.com/D81945
2020-07-08 23:37:42 +00:00
Matt Woodrow e34e9db40c Bug 1649879 - Don't create nsIURIFixupInfo in content process nsDocShellLoadState construction. r=kmag
Rather than constructing an nsIURIFixupInfo from the IPC call return valuess, and then immediately querying the same data, this just use the results directly.

It also moves the firing of "keyword-uri-fixup" observers to the parent process side. As far as I can tell, the only consumer was URIFixupChild, which was also forwarding them to the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D81944
2020-07-08 23:37:29 +00:00
Matt Woodrow 99495cf9ed Bug 1649879 - Fold GetFixupURIInfo into the calling code. r=kmag
This should be a no-op change, just to make the next patch a small diff.

Differential Revision: https://phabricator.services.mozilla.com/D81943
2020-07-08 23:37:17 +00:00
Coroiu Cristina 607a5f52ac Backed out 5 changesets (bug 1649879) for browser-chrome failures at browser/base/content/test/tabs/browser_progress_keyword_search_handling.js
Backed out changeset f9670eed4ac5 (bug 1649879)
Backed out changeset 76ab8adad34b (bug 1649879)
Backed out changeset 6dc2e9474f43 (bug 1649879)
Backed out changeset 6f905d33681f (bug 1649879)
Backed out changeset 13b19e14a332 (bug 1649879)
2020-07-06 10:44:56 +03:00
Matt Woodrow 089827e27b Bug 1649879 - Implement WebNavigationFlagsToFixupFlags in C++ so that we avoid needing to call into the URIFixup JS module. r=kmag
This should be the exact same code, just avoiding needing to create the URIFixup service in order to run it.

Differential Revision: https://phabricator.services.mozilla.com/D81945
2020-07-06 04:29:08 +00:00
Matt Woodrow f2b882f8f9 Bug 1649879 - Don't create nsIURIFixupInfo in content process nsDocShellLoadState construction. r=kmag
Rather than constructing an nsIURIFixupInfo from the IPC call return valuess, and then immediately querying the same data, this just use the results directly.

It also moves the firing of "keyword-uri-fixup" observers to the parent process side. As far as I can tell, the only consumer was URIFixupChild, which was also forwarding them to the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D81944
2020-07-06 04:29:06 +00:00
Matt Woodrow 234bda068c Bug 1649879 - Fold GetFixupURIInfo into the calling code. r=kmag
This should be a no-op change, just to make the next patch a small diff.

Differential Revision: https://phabricator.services.mozilla.com/D81943
2020-07-06 04:29:04 +00:00
Matt Woodrow b90c5208a5 Bug 1646892 - Allow DocumentChannel process switches into the parent process. r=jya,nika
Differential Revision: https://phabricator.services.mozilla.com/D80327
2020-06-27 04:10:23 +00:00
Olli Pettay d434d19d46 Bug 1647307 - Simplify SessionHistoryInfo ID handling, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D80553
2020-06-25 16:20:32 +00:00
Andreas Farre 52f478c918 Bug 1590762 - Part 3: Keep track of current loads in BrowsingContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D75110
2020-06-23 13:01:37 +00:00
julianwels 107d9f83ab Bug 1640853 - Using PermissionManager for HTTPS Only Mode upgrade exceptions. r=ckerschb,nhnt11,nika,johannh,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D77040
2020-06-15 11:19:39 +00:00