Commit Graph

644 Commits

Author SHA1 Message Date
Boris Zbarsky
2df1df0176 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067
2019-12-05 04:44:32 +00:00
Matt Woodrow
0d7366cc20 Bug 1600211 - Disable content conversion by HttpChannelChild if we have already applied it by the time we get to HttpChannelParent::OnStartRequest. r=mayhemer
We normally get HttpChannelParent::OnStartRequest directly from nsHttpChannel::OnStartRequest, where we disable content conversion and ask the child to do it instead.

When we install a multipart converter, we defer calling HttpChannelParent::OnStartRequest until we've decoded parts, at which point content conversion is already applied to the stream.

This detects that case, and stops the child trying to do it a second time (which fails, and breaks the content).

Differential Revision: https://phabricator.services.mozilla.com/D55222
2019-12-04 03:19:26 +00:00
Emilio Cobos Álvarez
3f4ce376a6 Bug 1599615 - Make some necko code less nsresult-happy. r=kershaw,valentin
Stuff that's infallible and not virtual has no reason to return an nsresult.

Differential Revision: https://phabricator.services.mozilla.com/D54831
2019-12-02 13:21:06 +00:00
Liang-Heng Chen
d5dc50571a Bug 1593083 - Ensure mTopWindowURI & mContentBlockingAllowListPrincipal are set correctly during HTTP redirects; r=mayhemer,Ehsan
There are 2 redirections happened on the tracking resource:
`nsHttpChannel` -> `InterceptedHttpChannel` -> `nsHttpChannel`.

`mTopWindowURI` is not copied to during the first redirection because it checks if the target channel is a `nsHttpChannel`.

Differential Revision: https://phabricator.services.mozilla.com/D52181
2019-11-23 22:45:35 +00:00
Bogdan Tara
ad50e1ed6f Backed out 6 changesets (bug 1552176) for causing Hazard bustages CLOSED TREE
Backed out changeset c79b90bae420 (bug 1552176)
Backed out changeset 4b970cc771ca (bug 1552176)
Backed out changeset de7aa0eaf4c8 (bug 1552176)
Backed out changeset c8e692a40cd3 (bug 1552176)
Backed out changeset 68882d1eccac (bug 1552176)
Backed out changeset 692e5e51e19e (bug 1552176)
2019-11-11 12:11:36 +02:00
Valentin Gosu
7db0665dd2 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2019-11-10 17:11:41 +00:00
Bogdan Tara
c68efedde9 Backed out 6 changesets (bug 1552176) for bustages complaining about ServiceWorkerManager.cpp CLOSED TREE
Backed out changeset bff9110e434e (bug 1552176)
Backed out changeset ac8f8a6dbd98 (bug 1552176)
Backed out changeset 8dd630e7534a (bug 1552176)
Backed out changeset 7ce9e220cdb9 (bug 1552176)
Backed out changeset ee9911acfcd4 (bug 1552176)
Backed out changeset 652b3bd6848d (bug 1552176)
2019-11-08 22:18:05 +02:00
Valentin Gosu
a62f629a70 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2019-11-08 17:13:05 +00:00
Noemi Erli
f3b08701bb Backed out 5 changesets (bug 1552176) for causing multiple build bustages CLOSED TREE
Backed out changeset 203060e4af95 (bug 1552176)
Backed out changeset b52f0ff800c8 (bug 1552176)
Backed out changeset 9f8d159fe252 (bug 1552176)
Backed out changeset 751b518e08fa (bug 1552176)
Backed out changeset a11ffd474c0c (bug 1552176)
2019-11-02 23:20:28 +02:00
Valentin Gosu
e7a3c40334 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2019-11-02 20:42:42 +00:00
Nihanth Subramanya
edbf406048 Bug 1584479 - Part 1: Add flag for blocked social cookies in the content blocking log. r=Ehsan,droeh
Differential Revision: https://phabricator.services.mozilla.com/D47427
2019-11-01 23:24:25 +00:00
Dorel Luca
2060c2bf48 Backed out 4 changesets (bug 1584479) for Browser-chrome failures in toolkit/components/antitracking/test/browser/browser_socialtracking.js
Backed out changeset b0d9877bd8b0 (bug 1584479)
Backed out changeset d2c56bd61b08 (bug 1584479)
Backed out changeset 0edb22786545 (bug 1584479)
Backed out changeset 7e03b392edb3 (bug 1584479)
2019-11-02 01:18:42 +02:00
Nihanth Subramanya
fcb3e38904 Bug 1584479 - Part 1: Add flag for blocked social cookies in the content blocking log. r=Ehsan,droeh
Differential Revision: https://phabricator.services.mozilla.com/D47427
2019-11-01 21:02:09 +00:00
Junior Hsu
f145a5ed1b Bug 1545423 - P1 Expose requestSize to nsIHttpChannel r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D50404
2019-10-31 03:59:36 +00:00
Andreea Pavel
5635140d90 Backed out 4 changesets (bug 1545423) for failing test_ext_activityLog.html on a CLOSED TREE
Backed out changeset 0abbf10b68b0 (bug 1545423)
Backed out changeset 35758baf44e3 (bug 1545423)
Backed out changeset 3ae45f3be2e1 (bug 1545423)
Backed out changeset 9f7f0e4c65da (bug 1545423)
2019-10-31 02:16:24 +02:00
Junior Hsu
41ae810742 Bug 1545423 - P1 Expose requestSize to nsIHttpChannel r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D50404
2019-10-30 23:11:30 +00:00
Ehsan Akhgari
6f4581b673 Bug 1589407 - Part 2: Ensure that document.referrer sees the same URL as what we send in the Referer HTTP header per the ETP restrictions; r=tnguyen,baku
Differential Revision: https://phabricator.services.mozilla.com/D49773
2019-10-26 21:24:57 +00:00
Coroiu Cristina
26b1ed64e1 Backed out changeset ad44c165c690 (bug 1589407) for browser chrome failures at toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js on a CLOSED TREE 2019-10-25 18:07:14 +03:00
Ehsan Akhgari
c924f6c1cc Bug 1589407 - Ensure that document.referrer sees the same URL as what we send in the Referer HTTP header per the ETP restrictions; r=tnguyen,baku
Differential Revision: https://phabricator.services.mozilla.com/D49773
2019-10-25 07:32:05 +00:00
Csoregi Natalia
74c5469f06 Backed out 3 changesets (bug 1575090) for web platform failures on e.g. nested-sharedworker-success.https.html. CLOSED TREE
Backed out changeset 3791b3afbb44 (bug 1575090)
Backed out changeset 224ad4adb49e (bug 1575090)
Backed out changeset efb654c201a3 (bug 1575090)
2019-10-24 21:52:16 +03:00
Perry Jiang
0a754b9f8c Bug 1575090 - add NS_GetCrossOriginEmbedderPolicyFromHeader r=JuniorHsu
Differential Revision: https://phabricator.services.mozilla.com/D46178
2019-10-24 15:48:57 +00:00
Perry Jiang
50c86de73f Bug 1575090 - expose a response's COEP on nsIHttpChannelInternal r=JuniorHsu
Differential Revision: https://phabricator.services.mozilla.com/D46176
2019-10-24 15:48:43 +00:00
Valentin Gosu
06c9b1569f Bug 1579992 - Load pages into new webCOOP+COEP process type r=nika
* This patch makes pages with the `OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP` policy load into a special `webCOOP+COEP={pageOrigin}` remote type.
* Adds `E10SUtils.WEB_REMOTE_COOP_COEP_TYPE_PREFIX="webCOOP+COEP="`
* When a COOP process switch occurs and the target page doesn't have this policy, we pass a `preferredRemoteType="web"` into `E10SUtils.getRemoteTypeForPrincipal` ensuring that we correctly get a different `remoteType`
* E10SUtils.getRemoteTypeForPrincipal is changed such that `if preferredRemoteType.startsWith(WEB_REMOTE_COOP_COEP_TYPE_PREFIX)` we don't override it with `webIsolated={pageOrigin}`.
* `coop_header.sjs` is changed to also allow setting `Cross-Origin-Embedder-Policy` headers
* `browser_httpCrossOriginOpenerPolicy.js` is changed to test that pages are correctly opened in the correct remoteType process.

Differential Revision: https://phabricator.services.mozilla.com/D48715
2019-10-22 08:02:16 +00:00
shindli
51f5890d78 Backed out changeset 5686e9cc48b2 (bug 1579992) for causing bc failures in browser/components/aboutlogins/tests/browser/browser_dismissFooter.js CLOSED TREE 2019-10-21 21:09:24 +03:00
Valentin Gosu
75c9c2a97f Bug 1579992 - Load pages into new webCOOP+COEP process type r=nika
* This patch makes pages with the `OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP` policy load into a special `webCOOP+COEP={pageOrigin}` remote type.
* Adds `E10SUtils.WEB_REMOTE_COOP_COEP_TYPE_PREFIX="webCOOP+COEP="`
* When a COOP process switch occurs and the target page doesn't have this policy, we pass a `preferredRemoteType="web"` into `E10SUtils.getRemoteTypeForPrincipal` ensuring that we correctly get a different `remoteType`
* E10SUtils.getRemoteTypeForPrincipal is changed such that `if preferredRemoteType.startsWith(WEB_REMOTE_COOP_COEP_TYPE_PREFIX)` we don't override it with `webIsolated={pageOrigin}`.
* `coop_header.sjs` is changed to also allow setting `Cross-Origin-Embedder-Policy` headers
* `browser_httpCrossOriginOpenerPolicy.js` is changed to test that pages are correctly opened in the correct remoteType process.

Differential Revision: https://phabricator.services.mozilla.com/D48715
2019-10-21 16:56:00 +00:00
Junior Hsu
354783fc72 Bug 1566868 - network error for non empty sandboxing flag and non-null COOP r=valentin
Adjust for new spec change (comment 23)

Differential Revision: https://phabricator.services.mozilla.com/D49222
2019-10-15 06:09:26 +00:00
Junior Hsu
8d2cedda83 Bug 1574000 - Obtain COOP only over a secure context r=nika,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D42046
2019-09-25 00:39:17 +00:00
Jean-Yves Avenard
d1d300ad3b Bug 1575744 - P2. Add nsIProcessSwitchRequestor interface. r=mayhemer,nika
Will allow for SessionStore.jsm process switching to be used by other objects than nsHttpChannel.

Differential Revision: https://phabricator.services.mozilla.com/D46015
2019-09-20 04:09:46 +00:00
Bogdan Tara
2a3b759622 Backed out 8 changesets (bug 1575744) for HttpChannelParent related assertion failures
Backed out changeset af61675dd488 (bug 1575744)
Backed out changeset bf794b9373c8 (bug 1575744)
Backed out changeset 39ffb74d2e12 (bug 1575744)
Backed out changeset c1547b3df672 (bug 1575744)
Backed out changeset 382ee8672027 (bug 1575744)
Backed out changeset 5abb38484f11 (bug 1575744)
Backed out changeset d5244c1bbfe8 (bug 1575744)
Backed out changeset c74b81debf73 (bug 1575744)
2019-09-20 06:58:44 +03:00
Jean-Yves Avenard
e0ff6ec922 Bug 1575744 - P2. Add nsIProcessSwitchRequestor interface. r=mayhemer,nika
Will allow for SessionStore.jsm process switching to be used by other objects than nsHttpChannel.

Differential Revision: https://phabricator.services.mozilla.com/D46015
2019-09-18 23:49:51 +00:00
Valentin Gosu
24be096fd9 Bug 1513574 - Remove UserAgentOverrides.jsm and UserAgentUpdates.jsm r=michal
Also removes the UA cache attached to nsILoadGroup and nsIRequestContext and the "http-on-useragent-request" observer notification.
If overriding the user agent is needed "http-on-modify-request" is equally usable (but should be used rarely, for performance reasons). A better way is using nsIDocShell.customUserAgent.

Depends on D14750

Differential Revision: https://phabricator.services.mozilla.com/D14751
2019-09-16 15:21:36 +00:00
Cosmin Sabou
b52f5cbaf7 Backed out 4 changesets (bug 1513574) for causing several browser chrome failures. CLOSED TREE
Backed out changeset 7d950fc452fb (bug 1513574)
Backed out changeset 11f015a3e739 (bug 1513574)
Backed out changeset be6959a563f6 (bug 1513574)
Backed out changeset ce51efd054b8 (bug 1513574)
2019-09-16 12:40:40 +03:00
Valentin Gosu
9d838b2fdd Bug 1513574 - Remove UserAgentOverrides.jsm and UserAgentUpdates.jsm r=michal
Also removes the UA cache attached to nsILoadGroup and nsIRequestContext and the "http-on-useragent-request" observer notification.
If overriding the user agent is needed "http-on-modify-request" is equally usable (but should be used rarely, for performance reasons). A better way is using nsIDocShell.customUserAgent.

Depends on D14750

Differential Revision: https://phabricator.services.mozilla.com/D14751
2019-09-16 08:38:24 +00:00
Matt Woodrow
0dc503330c Bug 1579765 - Don't overwrite redirect timings when we convert DocumentChannel to a real channel. r=mayhemer
DocumentChannel doesn't use the REDIRECT_INTERNAL flag when replacing itself with a real channel if there has been a real redirect handled in the parent.
This is so that the docshell knows about the URI change, and to add history entries.
The timing data however always wanted to be treated as an internal redirect, so that we don't record a new 'redirectEnd' at the time of the switch.
This adds a new parameter to ConfigureReplacementChannel so that we can more accurately describe the behaviour we need.

Differential Revision: https://phabricator.services.mozilla.com/D45150
2019-09-16 07:22:32 +00:00
Matt Woodrow
8c025129a0 Bug 1579765 - Move upload stream handling into ReplacementChannelConfig so that it gets applied to DocumentChannel as well as normal HTTP redirects. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45146
2019-09-16 07:25:18 +00:00
Cosmin Sabou
84b485377b Backed out 4 changesets (bug 1513574) for Android build bustage and browser chrome failures. CLOSED TREE
Backed out changeset f155c449e516 (bug 1513574)
Backed out changeset 1f2bbbe0f781 (bug 1513574)
Backed out changeset 5f8b5f72a4ea (bug 1513574)
Backed out changeset 0e4cababccc7 (bug 1513574)
2019-09-13 21:38:18 +03:00
Valentin Gosu
05e040b6f0 Bug 1513574 - Remove UserAgentOverrides.jsm and UserAgentUpdates.jsm r=michal
Also removes the UA cache attached to nsILoadGroup and nsIRequestContext and the "http-on-useragent-request" observer notification.
If overriding the user agent is needed "http-on-modify-request" is equally usable (but should be used rarely, for performance reasons). A better way is using nsIDocShell.customUserAgent.

Depends on D14750

Differential Revision: https://phabricator.services.mozilla.com/D14751
2019-09-13 17:19:40 +00:00
Daisuke Akatsuka
d07b98214f Bug 1572933: Introduce an attribute to raise the cache priority. r=pbro,mayhemer
For now, when we turn on `disable cache` switch in DevTools[1], web page loads
the contents without using the cache. Furthermore, DevTools as well comes to
load the contents DevTools inspects without using the cache. And, if the loaded
contents from the web page and DevTools was different, becomes impossible to
inspect the content correctly.
Thus, in order to make DevTools refer the same content the web page loaded,
makes DevTools load the contents inspecting from the cache at first, no matter
if disables the switch or not.

When turns on disable cache in DevTools, `LOAD_BYPASS_CACHE` flag is set into
`loadFlags` in the `docshell`.[2] The other hand, the content DevTools inspects
is loaded from a channel DevTools creates with `LOAD_FROM_CACHE` flag.[3]
However, because this channel is belong to same `loadGroup` of the `docshell`,
`LOAD_BYPASS_CACHE` is inherited and is choosen even if `LOAD_FROM_CACHE` is set.
Thus, in this patch, we introduce an attribute `preferCacheLoadOverBypass`
which raises the priority for `LOAD_FROM_CACHE` above `LOAD_BYPASS_CACHE` and
`LOAD_BYPASS_LOCAL_CACHE`.

[1] https://developer.mozilla.org/en-US/docs/Tools/Settings#Advanced_settings
[2] https://searchfox.org/mozilla-central/source/devtools/server/actors/targets/browsing-context.js#1227
[3] https://searchfox.org/mozilla-central/source/devtools/shared/DevToolsUtils.js#542-544

Differential Revision: https://phabricator.services.mozilla.com/D44626
2019-09-09 00:57:05 +00:00
Matt Woodrow
343e16b2dd Bug 1556489 - P21 - Cache the original referrer before url classification has been applied to send back to the content process, since the docshell expects to find the original. r=mayhemer,tnguyen
Differential Revision: https://phabricator.services.mozilla.com/D42258
2019-09-03 10:19:52 +10:00
Matt Woodrow
79c7f2fcf6 Bug 1556489 - P14. No longer pass nsILoadInfo to TriggerCrossProcessRedirect. r=mayhemer
We can deduct it from the nsIChannel argument already. In the future, the httpParent may be either HttpChannelParent or DocumentChannelParent.

Differential Revision: https://phabricator.services.mozilla.com/D40971
2019-09-03 10:19:36 +10:00
Jean-Yves Avenard
3236e93b99 Bug 1556489 - P11. Add nIIdentChannel interface. r=mayhemer
The devtools listens to http-on-opening-request event which is expected to receive a nsIHttpChannel. However future changes will make it that it's not always a nsIHttpChannel that can fire such event.

As such we create an intermediary interface nsIIdentChannel and move the subset generating such event in nsIHttpChannel there.

Differential Revision: https://phabricator.services.mozilla.com/D40968
2019-09-03 10:19:34 +10:00
Jean-Yves Avenard
94ea96df9a Bug 1556489 - P3. Move logic on when to return the PerformanceStorage into nsILoadInfo. r=mayhemer
This more closely follow the code as earlier documented. To remove all ambiguities, the idl documentation was amended.

Differential Revision: https://phabricator.services.mozilla.com/D40961
2019-09-03 09:50:05 +10:00
Jean-Yves Avenard
b55014e845 Bug 1556489 - P1. Introduce ReplacementChannelConfig. r=mayhemer
This class allows to encapsulate all the information required in order to create a new HttpChannel object following a redirect.

Differential Revision: https://phabricator.services.mozilla.com/D40959
2019-09-03 09:47:17 +10:00
Ehsan Akhgari
578379573b Bug 1576109 - Ensure that the content blocking allow list principal is set correctly during HTTP redirects; r=baku,dragana
Differential Revision: https://phabricator.services.mozilla.com/D43541
2019-08-29 18:48:43 +00:00
Junior Hsu
7264a36364 Bug 1574603 - recognize COOP:unsafe-allow-outgoing r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D42367
2019-08-21 13:37:07 +00:00
Thomas Nguyen
c05a8b9882 Bug 1528697 - Remove ReferrerPolicy.h and add utils to ReferrerInfo r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D41956
2019-08-21 12:09:06 +00:00
Thomas Nguyen
a688b675a4 Bug 1528697 - Expose ReferrerPolicy.webidl and use referrerpolicy enum r=smaug
ReferrerPolicy gets tossed back and forth as a uint32_t and
ReferrerPolicy enum in header file. Expose ReferrerPolicyValues from
webidl file and use consistently in native code.

Differential Revision: https://phabricator.services.mozilla.com/D41954
2019-08-21 13:24:45 +00:00
Ehsan Akhgari
ddb1c59974 Bug 1572240 - Part 3: Introduce nsIHttpChannelInternal.contentBlockingAllowListPrincipal; r=michal
Differential Revision: https://phabricator.services.mozilla.com/D42204
2019-08-19 19:38:50 +00:00
Sylvestre Ledru
3067b10938 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D41559
2019-08-13 07:15:25 +00:00
Junior Hsu
8e716704b0 Bug 1543066 - P2 Do not obtain a cross-origin opener-policy through non-HTTPS r=nika
Differential Revision: https://phabricator.services.mozilla.com/D40671
2019-08-13 02:03:32 +00:00