Граф коммитов

22436 Коммитов

Автор SHA1 Сообщение Дата
Shane Caraveo 728ee84a7d Bug 1722942 use beConservative for proxy failover to direct r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121234
2021-08-10 16:29:06 +00:00
Greg Tatum ae55a94309 Bug 1719550 - Unify collator in nsDirectoryIndexStream.cpp; r=platform-i18n-reviewers,necko-reviewers,nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D121431
2021-08-10 16:01:17 +00:00
Andrew McCreight 4236f6d708 Bug 1724947 - Remove uses of XP_BEOS from nsFileStreams.cpp. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D122251
2021-08-10 14:43:52 +00:00
Narcis Beleuzu daed5248e2 Backed out 12 changesets (bug 1719550) for bustages on TestCollator.cpp . CLOSED TREE
Backed out changeset 3b2735a29138 (bug 1719550)
Backed out changeset 5e2019335244 (bug 1719550)
Backed out changeset 105676dd2d6f (bug 1719550)
Backed out changeset b4b0d58778e9 (bug 1719550)
Backed out changeset 3ef5792020bb (bug 1719550)
Backed out changeset 389a77da6ddc (bug 1719550)
Backed out changeset 48f39b5ef77f (bug 1719550)
Backed out changeset bd125cc5b9b4 (bug 1719550)
Backed out changeset a8b778ca2375 (bug 1719550)
Backed out changeset b14702168fb9 (bug 1719550)
Backed out changeset 7b46b5cc7424 (bug 1719550)
Backed out changeset 6b04162618a1 (bug 1719550)
2021-08-10 17:46:34 +03:00
Nika Layzell aa9b1db7d6 Bug 1650089 - Part 3: Rework DocumentChannel-triggered process switches to support null principals, r=annyG,kmag
This is a large refactoring of the DocumentChannel process switch codepath,
with the end goal of being better able to support future process switch
requirements such as dynamic isolation on android, as well as the immediate
requirement of null principal handling.

The major changes include:
1. The logic is in C++ and has less failure cases, meaning it should be harder
   for us to error out unexpectedly and not process switch.
2. Process selection decisions are more explicit, and tend to rely less on
   state such as the current remoteType when possible. This makes reasoning
   about where a specific load will complete easier.
3. Additional checks are made after a "WebContent" behavior is selected to
   ensure that if an existing document in the same BCG is found, the load will
   finish in the required content process. This should make dynamic checks such
   as Android's logged-in site isolation easier to implement.
4. ProcessIsolation logging is split out from DocumentChannel so that it's
   easier to log just the information related to process selection when
   debugging.
5. Null result principal precursors are considered when performing process
   selection.

Other uses of E10SUtils for process selection have not yet been migrated to the
new design as they have slightly different requirements. This will be done in
follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D120673
2021-08-10 14:31:17 +00:00
Nika Layzell 0ebcf6961e Bug 1650089 - Part 2: Track which ContentParent is used to create a DocumentLoadListener, r=annyG,kmag
There are races which are more common after these patches where an implicit
about:blank load races with a speculative parent process load's process switch.
In this situation, bad behaviour can result as we process a navigation started
by a process which we process-switched away from. By tracking the explicit
ContentParent which is making the DocumentLoadListener request, we can catch
situations like this and avoid navigations being started from the wrong
processes.

Differential Revision: https://phabricator.services.mozilla.com/D120672
2021-08-10 14:31:16 +00:00
Nika Layzell a50cefe2cf 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-10 14:31:16 +00:00
lyavor 0ff3599ca4 Bug 1723996 - Refactor HSTS Check in NS_ShouldSecureUpgrade. r=ckerschb,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D121733
2021-08-10 14:00:22 +00:00
Greg Tatum a7f0aa2461 Bug 1719550 - Unify collator in nsDirectoryIndexStream.cpp; r=platform-i18n-reviewers,necko-reviewers,nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D121431
2021-08-10 11:46:37 +00:00
Magnus Melin 8bb66bef55 Bug 1724635 - fix Thunderbird build bustage from bug 1719070 - mozilla/browser/NimbusFeatures.h can't be found. r=cpeterson,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D122055
2021-08-09 20:21:13 +00:00
Kershaw Chang 8422e6d448 Bug 1720614 - Remove HTTPS_RR_WAITING_TIME, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D122123
2021-08-09 20:20:33 +00:00
Gabriele Svelto 559377e821 Bug 1723934 - Remove useless nsExceptionHandler.h inclusions and crash reporter service definitions r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D121708
2021-08-09 20:08:17 +00:00
Kershaw Chang 32f8d51ddb Bug 1721781 - Make HTTP3 work when we use DIRECT proxy connection, r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D120805
2021-08-09 12:25:54 +00:00
Alexandru Michis 7cbf0f089a Backed out changeset 2166ec680875 (bug 1724635) for causing bc failures in browser_navigator.js
CLOSED TREE
2021-08-09 15:57:07 +03:00
ffxbld 7bf613163a No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D122093
2021-08-09 11:49:10 +00:00
Dragana Damjanovic 5a07d5d023 Bug 1724196 - Neqo version 0.4.30 r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D122077
2021-08-09 11:36:54 +00:00
Magnus Melin 585aa81edd Bug 1724635 - fix Thunderbird build bustage from bug 1719070 - mozilla/browser/NimbusFeatures.h can't be found. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D122055
2021-08-09 08:18:08 +00:00
Chris Peterson 162a8620f1 Bug 1719070 - UA: Add support for a Nimbus experiment to override Firefox's User-Agent string. r=andreio,necko-reviewers,dragana
The ANDROID #ifdefs are necessary because Nimbus does not yet support Android in Gecko. The planned UA experiment won't include Android, so that's not a problem.

Differential Revision: https://phabricator.services.mozilla.com/D121112
2021-08-08 01:07:51 +00:00
Valentin Gosu ab86e4a85b Bug 1709866 - Add test for multiple authentication schemes r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D121998
2021-08-06 20:46:04 +00:00
Ben Hearsum aecb82dbfc Bug 1714200: skip failing mochitest-browser-chrome tests on M1 machines r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121221
2021-08-06 19:16:54 +00:00
Marian-Vasile Laza 5315f53560 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2021-08-06 19:06:25 +03:00
Marian-Vasile Laza 48a854d36b Merge autoland to mozilla-central. a=merge 2021-08-06 18:59:21 +03:00
Geoff Brown 664426469c Bug 1724296 - Remove many skip-if(verify) test annotations (xpcshell); r=jmaher,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121926
2021-08-06 13:25:50 +00:00
Ryan VanderMeulen 52c9905518 Backed out changeset 83204ae613b7 (bug 1724196) for causing topcrash bug 1724408. 2021-08-06 09:22:57 -04:00
Dragana Damjanovic df42c51758 Bug 1724240 - Setup fallback timer if a speculative connection is created for a fallback r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D121903
2021-08-06 12:40:12 +00:00
Valentin Gosu 31a43b0d79 Bug 1722202 - Exempt WPAD requests from HTTPS-only mode upgrades r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D121939
2021-08-06 10:36:52 +00:00
Valentin Gosu cf6459027c Bug 1724166 - Add pref for large keepalive factor r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D121839
2021-08-06 07:09:36 +00:00
Butkovits Atila 22fb2b6793 Backed out 8 changesets (bug 1650089) for causing Xpcshell failures on test_ext_redirects.js. CLOSED TREE
Backed out changeset ee763318d378 (bug 1650089)
Backed out changeset 24d7898ec4bd (bug 1650089)
Backed out changeset bcdd2f5c9840 (bug 1650089)
Backed out changeset 24a5bd7f97dd (bug 1650089)
Backed out changeset 1b8b4e939e82 (bug 1650089)
Backed out changeset a7a4f37a5d72 (bug 1650089)
Backed out changeset 78c012d4b071 (bug 1650089)
Backed out changeset e870508c1ddc (bug 1650089)
2021-08-06 04:35:52 +03:00
Nika Layzell 58c1037005 Bug 1650089 - Part 3: Rework DocumentChannel-triggered process switches to support null principals, r=annyG,kmag
This is a large refactoring of the DocumentChannel process switch codepath,
with the end goal of being better able to support future process switch
requirements such as dynamic isolation on android, as well as the immediate
requirement of null principal handling.

The major changes include:
1. The logic is in C++ and has less failure cases, meaning it should be harder
   for us to error out unexpectedly and not process switch.
2. Process selection decisions are more explicit, and tend to rely less on
   state such as the current remoteType when possible. This makes reasoning
   about where a specific load will complete easier.
3. Additional checks are made after a "WebContent" behavior is selected to
   ensure that if an existing document in the same BCG is found, the load will
   finish in the required content process. This should make dynamic checks such
   as Android's logged-in site isolation easier to implement.
4. ProcessIsolation logging is split out from DocumentChannel so that it's
   easier to log just the information related to process selection when
   debugging.
5. Null result principal precursors are considered when performing process
   selection.

Other uses of E10SUtils for process selection have not yet been migrated to the
new design as they have slightly different requirements. This will be done in
follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D120673
2021-08-06 00:10:57 +00:00
Nika Layzell 635f4349e6 Bug 1650089 - Part 2: Track which ContentParent is used to create a DocumentLoadListener, r=annyG,kmag
There are races which are more common after these patches where an implicit
about:blank load races with a speculative parent process load's process switch.
In this situation, bad behaviour can result as we process a navigation started
by a process which we process-switched away from. By tracking the explicit
ContentParent which is making the DocumentLoadListener request, we can catch
situations like this and avoid navigations being started from the wrong
processes.

Differential Revision: https://phabricator.services.mozilla.com/D120672
2021-08-06 00:10:56 +00:00
Nika Layzell 649f35f3a0 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-06 00:10:56 +00:00
Jon Bauman 909cb45a39 Bug 1682995 - Enable AVIF support by default. r=jrmuizel,necko-reviewers,preferences-reviewers,valentin,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D121819
2021-08-05 15:48:00 +00:00
Dragana Damjanovic 65634e4bc3 Bug 1724196 - Neqo version 0.4.29 r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D121860
2021-08-05 14:31:12 +00:00
ffxbld 3b0b1c9a9a No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D121852
2021-08-05 12:14:03 +00:00
Nicklas Boman 558464ac5b Bug 1308106 - Replace PL_strstr with a safer Gecko string class or function r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D116931
2021-08-05 09:31:30 +00:00
Nicklas Boman 5a72708d0a Bug 1308104 - Replace PL_strchr with a safer Gecko string class or function netwerk/ r=necko-reviewers,dragana,valentin
Differential Revision: https://phabricator.services.mozilla.com/D89326
2021-08-05 09:25:15 +00:00
Gijs Kruitbosch 17d7c7ad5a Bug 1723807 - make getURLSpecFromFile [noscript] and clarify its idl comments to discourage use more forcefully, r=valentin,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121781
2021-08-05 08:52:28 +00:00
Emilio Cobos Álvarez 80748548b0 Bug 1723972 - Don't process-switch for object/embed loads if we're falling back due to an error page. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D121734
2021-08-04 16:09:28 +00:00
Florian Quèze d92967d5eb Bug 1723813 - Add a profiler marker in nsSocketTransportService::Poll to help understand excessive CPU use on the Socket Thread, r=mstange,necko-reviewers,valentin,gerald.
Differential Revision: https://phabricator.services.mozilla.com/D121656
2021-08-04 12:16:26 +00:00
Valentin Gosu b870386af7 Bug 1713941 - Properly handle duplicated headers in a 304 revalidation r=necko-reviewers,dragana
Going through each of the headers in the 304 response and setting it on the
cached response head will cause us to only keep the last instance when
duplicate header names are present.

We should instead use the GetHeader method which properly handles merging the
response.

Differential Revision: https://phabricator.services.mozilla.com/D121527
2021-08-04 12:07:37 +00:00
Alexandru Michis 5ca72bfc53 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 e0fc657cb6 Bug 1650089 - Part 3: Rework DocumentChannel-triggered process switches to support null principals, r=annyG,kmag
This is a large refactoring of the DocumentChannel process switch codepath,
with the end goal of being better able to support future process switch
requirements such as dynamic isolation on android, as well as the immediate
requirement of null principal handling.

The major changes include:
1. The logic is in C++ and has less failure cases, meaning it should be harder
   for us to error out unexpectedly and not process switch.
2. Process selection decisions are more explicit, and tend to rely less on
   state such as the current remoteType when possible. This makes reasoning
   about where a specific load will complete easier.
3. Additional checks are made after a "WebContent" behavior is selected to
   ensure that if an existing document in the same BCG is found, the load will
   finish in the required content process. This should make dynamic checks such
   as Android's logged-in site isolation easier to implement.
4. ProcessIsolation logging is split out from DocumentChannel so that it's
   easier to log just the information related to process selection when
   debugging.
5. Null result principal precursors are considered when performing process
   selection.

Other uses of E10SUtils for process selection have not yet been migrated to the
new design as they have slightly different requirements. This will be done in
follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D120673
2021-08-03 18:17:54 +00:00
Nika Layzell e861698dd6 Bug 1650089 - Part 2: Track which ContentParent is used to create a DocumentLoadListener, r=annyG,kmag
There are races which are more common after these patches where an implicit
about:blank load races with a speculative parent process load's process switch.
In this situation, bad behaviour can result as we process a navigation started
by a process which we process-switched away from. By tracking the explicit
ContentParent which is making the DocumentLoadListener request, we can catch
situations like this and avoid navigations being started from the wrong
processes.

Differential Revision: https://phabricator.services.mozilla.com/D120672
2021-08-03 18:17:54 +00:00
Nika Layzell 3d749ece7f 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
Gijs Kruitbosch 1e4a561ac0 Bug 1721627 - crash on requests to non-existing chrome: and resource: files on infra, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D120557
2021-08-03 16:46:34 +00:00
Noemi Erli 6cd9318b66 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 35dca5bd20 Bug 1650089 - Part 3: Rework DocumentChannel-triggered process switches to support null principals, r=annyG,kmag
This is a large refactoring of the DocumentChannel process switch codepath,
with the end goal of being better able to support future process switch
requirements such as dynamic isolation on android, as well as the immediate
requirement of null principal handling.

The major changes include:
1. The logic is in C++ and has less failure cases, meaning it should be harder
   for us to error out unexpectedly and not process switch.
2. Process selection decisions are more explicit, and tend to rely less on
   state such as the current remoteType when possible. This makes reasoning
   about where a specific load will complete easier.
3. Additional checks are made after a "WebContent" behavior is selected to
   ensure that if an existing document in the same BCG is found, the load will
   finish in the required content process. This should make dynamic checks such
   as Android's logged-in site isolation easier to implement.
4. ProcessIsolation logging is split out from DocumentChannel so that it's
   easier to log just the information related to process selection when
   debugging.
5. Null result principal precursors are considered when performing process
   selection.

Other uses of E10SUtils for process selection have not yet been migrated to the
new design as they have slightly different requirements. This will be done in
follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D120673
2021-08-03 15:39:34 +00:00
Nika Layzell cee0ea941b Bug 1650089 - Part 2: Track which ContentParent is used to create a DocumentLoadListener, r=annyG,kmag
There are races which are more common after these patches where an implicit
about:blank load races with a speculative parent process load's process switch.
In this situation, bad behaviour can result as we process a navigation started
by a process which we process-switched away from. By tracking the explicit
ContentParent which is making the DocumentLoadListener request, we can catch
situations like this and avoid navigations being started from the wrong
processes.

Differential Revision: https://phabricator.services.mozilla.com/D120672
2021-08-03 15:39:33 +00:00
Nika Layzell 78129583eb 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
Nika Layzell 29295703f8 Bug 1715773 - Remove preloaded newtab process selection logic, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D121423
2021-08-03 15:17:07 +00:00