Commit Graph

17555 Commits

Author SHA1 Message Date
Gurzau Raul
6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Alex Gaynor
f789c68941 Bug 1531476 - replace MaybeFileDesc with FileDescriptor? in IPDL; r=mccr8
Also contains a small amount of unrelated devirtualization of IPC methods.

Differential Revision: https://phabricator.services.mozilla.com/D21592

--HG--
extra : moz-landing-system : lando
2019-02-28 21:20:40 +00:00
Narcis Beleuzu
407ce9fb1a Backed out 4 changesets (bug 1525458) for mochitest failures on test_chrome_ext_trackingprotection.html . CLOSED TREE
Backed out changeset 96c38e4a3d23 (bug 1525458)
Backed out changeset 1755b771e8c7 (bug 1525458)
Backed out changeset c6177206b968 (bug 1525458)
Backed out changeset 5ce026db31b0 (bug 1525458)
2019-02-28 20:35:58 +02:00
Ehsan Akhgari
cfb1b88614 Bug 1525458 - Part 1: Only emit the loaded events for various content blocking categories in the presence of an allow-list entry for the top-level document when content would have been blocked otherwise; r=baku,dimi
Previously the code here used to emit the loaded events for every
resource examined by the URL Classifier Features (in other words, every
third party resource).  But we only need to emit the events in cases
where without the presence of the allow-list we would have blocked the
content.

Differential Revision: https://phabricator.services.mozilla.com/D20874

--HG--
extra : moz-landing-system : lando
2019-02-28 15:29:10 +00:00
Cosmin Sabou
00f3836a87 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-28 12:57:50 +02:00
Boris Zbarsky
9c5da5f234 Bug 1489308 part 9. Remove now-unused wyciwyg bits. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D17327

--HG--
rename : dom/html/test/browser_refresh_wyciwyg_url.js => dom/html/test/browser_refresh_after_document_write.js
rename : dom/html/test/file_refresh_wyciwyg_url.html => dom/html/test/file_refresh_after_document_write.html
extra : moz-landing-system : lando
2019-02-28 01:09:48 +00:00
Jonathan Kingston
f6680698bd Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881

--HG--
extra : moz-landing-system : lando
2019-02-27 23:42:27 +00:00
Jonathan Kingston
dd4c731d8c Bug 1525319 - Changing js to remove context from onStartRequest and onStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20771

--HG--
extra : moz-landing-system : lando
2019-02-27 23:41:54 +00:00
Jonathan Kingston
c4853316e7 Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770

--HG--
extra : moz-landing-system : lando
2019-02-27 23:41:31 +00:00
Jonathan Kingston
f7e35ae39e Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769

--HG--
extra : moz-landing-system : lando
2019-02-27 23:41:04 +00:00
Ciure Andrei
a5c0678ae4 Backed out changeset d158405da514 (bug 1528352) for perma failing test_udpsocket.js CLOSED TREE 2019-02-28 01:58:42 +02:00
Byron Campen [:bwc]
973021e793 Bug 1528352: Logging improvements in nsUDPSocket, and handle negative returns from PR_RecvFrom properly. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20565

--HG--
extra : moz-landing-system : lando
2019-02-27 15:39:57 +00:00
Ciure Andrei
8d2894e70d Backed out 12 changesets (bug 1525245) for failing worker-interception.https.html CLOSED TREE
Backed out changeset 009e7457b990 (bug 1525245)
Backed out changeset efb2e8fca464 (bug 1525245)
Backed out changeset 6a8401de3237 (bug 1525245)
Backed out changeset 38e802661b14 (bug 1525245)
Backed out changeset d02e3f436390 (bug 1525245)
Backed out changeset 10afd61b7582 (bug 1525245)
Backed out changeset 6b92fb3666d1 (bug 1525245)
Backed out changeset 476af2d7efe5 (bug 1525245)
Backed out changeset 43ad14e323a1 (bug 1525245)
Backed out changeset 94295e3fb027 (bug 1525245)
Backed out changeset d01ead2270e9 (bug 1525245)
Backed out changeset 6bdda622a04a (bug 1525245)
2019-02-28 00:55:39 +02:00
Andrea Marchesini
26364d101d Bug 1487113 - AltDataOutputStreamChild must be nsIAsyncOutputStream, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D21379

--HG--
extra : moz-landing-system : lando
2019-02-27 20:50:48 +00:00
Andrea Marchesini
6dd0ecd7d0 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 12 - new CookieSettings for SharedWorkers and ServiceWorkers, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21357

--HG--
extra : moz-landing-system : lando
2019-02-27 19:58:26 +00:00
Andrea Marchesini
477f2b65c3 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 11 - windows/workers/documents must keep the current cookie settings and ignore changes, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18960

--HG--
extra : moz-landing-system : lando
2019-02-27 19:58:07 +00:00
Andrea Marchesini
1b7b09b29f Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 9 - Tests for DOM Cache and cookie settings changing, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18957

--HG--
extra : moz-landing-system : lando
2019-02-27 19:57:27 +00:00
Andrea Marchesini
13d01cb0bd Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 8 - Tests for ServiceWorkers and cookie settings changing, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18956

--HG--
extra : moz-landing-system : lando
2019-02-27 19:57:09 +00:00
Andrea Marchesini
bbf2814e97 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 7 - Tests for IndexedDB and cookie settings changing, r=Ehsan,asuth
Differential Revision: https://phabricator.services.mozilla.com/D18955

--HG--
extra : moz-landing-system : lando
2019-02-27 19:56:57 +00:00
Andrea Marchesini
19d747280e Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 6 - Tests for SharedWorker and cookie settings changing, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18954

--HG--
extra : moz-landing-system : lando
2019-02-27 19:56:39 +00:00
Andrea Marchesini
2c669f9cbd Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 5 - BroadcastChannel must be blocked when cookie jar access is denied to avoid communication between live and new documents, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18953

--HG--
extra : moz-landing-system : lando
2019-02-27 19:56:20 +00:00
Andrea Marchesini
27309db8bb Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 4 - Storage tests, r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D18952

--HG--
extra : moz-landing-system : lando
2019-02-27 19:56:07 +00:00
Andrea Marchesini
dec5a16bcd Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 1 - information stored into loadInfo, r=Ehsan,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D18949

--HG--
extra : moz-landing-system : lando
2019-02-27 19:55:11 +00:00
Honza Bambas
3b626a1544 Bug 1527827 - Add ShutdownPhase::ShutdownCycleCollector triggered after the CycleCollector shutdown, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D21047

--HG--
extra : moz-landing-system : lando
2019-02-27 12:57:11 +00:00
Ehsan Akhgari
45c7ece733 Bug 1530076 - Part 1: Add support for modifying the default referrer policy that is applied to third-party trackers when the cookie policy is set to reject third-party trackers; r=valentin
This is more complex than merely modifying NS_GetDefaultReferrerPolicy()
because at the time most (all?) callers call nsIHttpChannel::SetReferrer/
nsIHttpChannel::SetReferrerWithPolicy before the channel is opened,
which means we won't know whether the channel is a tracking resource or
not yet.  So we would need to re-evaluate this decision after that
information becomes available.  For that, we need to remember the
original URI argument passed to these functions since that information
is currently destroyed and isn't persisted anywhere in the system.

Differential Revision: https://phabricator.services.mozilla.com/D20901

--HG--
extra : moz-landing-system : lando
2019-02-26 21:30:27 +00:00
Jeff Walden
a25f0304c2 Bug 1453456 - Remove nsCRT::IsAscii(char16_t) in favor of mozilla::IsAscii. r=froydnj 2019-02-25 12:21:15 -08:00
Jan Varga
aa63590c8e Bug 1526615 - Part 1: Add support for RealPort and Directory to MozURL; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D19282
2019-02-10 10:20:09 +01:00
Jan Varga
de8bd6609d Bug 1517089 - Part 8: Add GetBaseDomainFromSchemeHost to ThirdPartyUtil and make ThirdPartyUtil ref counting thread safe; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D19202
2019-02-08 21:01:46 +01:00
Ehsan Akhgari
66c9fa5c58 Bug 1529836 - Part 2: Add a test for capping the maximum life-time of client-side cookies; r=baku
Depends on D20780

Differential Revision: https://phabricator.services.mozilla.com/D20781

--HG--
extra : moz-landing-system : lando
2019-02-26 18:34:10 +00:00
Ehsan Akhgari
95562b6904 Bug 1529836 - Part 1: Add support for capping the maximum life-time of client-side cookies; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D20780

--HG--
extra : moz-landing-system : lando
2019-02-26 18:34:37 +00:00
Gurzau Raul
a12ddd1865 Backed out 11 changesets (bug 1525245) for failing at test_cookies_thirdparty.js on a CLOSED TREE.
Backed out changeset 1dcb31a1d5be (bug 1525245)
Backed out changeset 4cde0e38ada8 (bug 1525245)
Backed out changeset d3e99dd3fc32 (bug 1525245)
Backed out changeset a565014fdd8d (bug 1525245)
Backed out changeset 20f336320ce1 (bug 1525245)
Backed out changeset d8ee13b6a17d (bug 1525245)
Backed out changeset b79ec111bf41 (bug 1525245)
Backed out changeset 858d08371107 (bug 1525245)
Backed out changeset 1c359cdcf69f (bug 1525245)
Backed out changeset d65fb2d2a243 (bug 1525245)
Backed out changeset 28147c8790d3 (bug 1525245)
2019-02-26 22:09:25 +02:00
Andrea Marchesini
fc669b1e23 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 11 - windows/workers/documents must keep the current cookie settings and ignore changes, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18960

--HG--
extra : moz-landing-system : lando
2019-02-26 17:43:58 +00:00
Andrea Marchesini
d1cca7f210 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 9 - Tests for DOM Cache and cookie settings changing, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18957

--HG--
extra : moz-landing-system : lando
2019-02-26 17:38:23 +00:00
Andrea Marchesini
043af4a25c Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 8 - Tests for ServiceWorkers and cookie settings changing, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18956

--HG--
extra : moz-landing-system : lando
2019-02-26 17:37:57 +00:00
Andrea Marchesini
4b57994849 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 7 - Tests for IndexedDB and cookie settings changing, r=Ehsan,asuth
Differential Revision: https://phabricator.services.mozilla.com/D18955

--HG--
extra : moz-landing-system : lando
2019-02-26 17:37:50 +00:00
Andrea Marchesini
9e327d8957 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 6 - Tests for SharedWorker and cookie settings changing, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18954

--HG--
extra : moz-landing-system : lando
2019-02-26 17:37:48 +00:00
Andrea Marchesini
084ddbbf6d Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 5 - BroadcastChannel must be blocked when cookie jar access is denied to avoid communication between live and new documents, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D18953

--HG--
extra : moz-landing-system : lando
2019-02-26 17:37:46 +00:00
Andrea Marchesini
29eaa174c6 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 4 - Storage tests, r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D18952

--HG--
extra : moz-landing-system : lando
2019-02-26 17:36:26 +00:00
Andrea Marchesini
309c007d8d Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 1 - information stored into loadInfo, r=Ehsan,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D18949

--HG--
extra : moz-landing-system : lando
2019-02-26 17:34:36 +00:00
Narcis Beleuzu
36e0294e17 Backed out 2 changesets (bug 1529836) for mochitest failures on test_documentcookies_maxage.html . CLOSED TREE
Backed out changeset d8ec58f95f80 (bug 1529836)
Backed out changeset 2fa205089aea (bug 1529836)
2019-02-26 17:57:02 +02:00
Ehsan Akhgari
c8ce081831 Bug 1529836 - Part 2: Add a test for capping the maximum life-time of client-side cookies; r=baku
Depends on D20780

Differential Revision: https://phabricator.services.mozilla.com/D20781

--HG--
extra : moz-landing-system : lando
2019-02-25 06:57:10 +00:00
Ehsan Akhgari
949ce9392e Bug 1529836 - Part 1: Add support for capping the maximum life-time of client-side cookies; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D20780

--HG--
extra : moz-landing-system : lando
2019-02-25 06:57:23 +00:00
Ehsan Akhgari
0ba3cee181 Bug 1529784 - Remove an unnecessary call to SchemeIs; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D20782

--HG--
extra : moz-landing-system : lando
2019-02-25 06:57:50 +00:00
dlee
49b5e37cc4 Bug 1529728 - P1. Move the TopWindowURI check out of the UC_LOG_ENABLED check. r=baku
The TopWindowURI is necessary for UrlClassifierCommon::ShouldEnableClassifier.
It shouldn't be in the UC_LOG_ENABLED block.

Differential Revision: https://phabricator.services.mozilla.com/D21780

--HG--
extra : moz-landing-system : lando
2019-03-04 07:12:19 +00:00
Ryan Hunt
3c3b5fab3d Bug 1523969 part 19 - Move method definition inline comments to new line in 'netwerk/'. r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D21120

--HG--
extra : rebase_source : e16845aa3669ed7b5bf9da57cdd08636e5b4500c
2019-02-25 16:11:11 -06:00
Ehsan Akhgari
8a0d0f80e0 Bug 1525458 - Part 1: Only emit the loaded events for various content blocking categories in the presence of an allow-list entry for the top-level document when content would have been blocked otherwise; r=baku,dimi
Previously the code here used to emit the loaded events for every
resource examined by the URL Classifier Features (in other words, every
third party resource).  But we only need to emit the events in cases
where without the presence of the allow-list we would have blocked the
content.

Differential Revision: https://phabricator.services.mozilla.com/D20874
2019-02-28 17:10:16 -05:00
Kris Maglione
4f0e434bce Bug 1518863: Part 5 - More extension protocol handler cleanup. r=aswan
This is not strictly related to the rest of the patches, but it was annoying
me while I wrote them.

Differential Revision: https://phabricator.services.mozilla.com/D21450

--HG--
extra : rebase_source : d9fa9ce79e63c2098e74fd401ccaccf7bf22eabf
2019-02-26 21:09:40 -08:00
Kris Maglione
1a8317619b Bug 1518863: Part 2 - Delay extension protocol requests until extension is ready. r=aswan
We don't want extension protocol load requests to begin loading until the
extension is far enough initialized to run code. If we load it before then,
the extension framework will either fail to recognize the extension entirely,
or may begin running its scripts in an incomplete environment.

This patch adds a slow path which adds a promise handler and creats a stub
channel only in the case when the extension is not ready. In the normal,
already-initialized case, we take the more direct path.

Differential Revision: https://phabricator.services.mozilla.com/D21447

--HG--
extra : rebase_source : ca770d241ff68192716feace67cd512565ae6b24
2019-02-27 11:54:31 -08:00
Kris Maglione
1b7d2f811a Bug 1518863: Part 0 - Minor extension protocol handler cleanup. r=aswan
These are trivial issues that I'd rather keep out of the main patch.

Differential Revision: https://phabricator.services.mozilla.com/D21444

--HG--
extra : rebase_source : c607248dd2d44673b84f4bc99464c3f15a639add
2019-02-26 12:58:55 -08:00
Byron Campen [:bwc]
25ad4a9108 Bug 1521879 - Part 1.1: Compensate for changes to how IPC headers are generated in the last rebase. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D19975

--HG--
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.h => dom/media/webrtc/MediaTransportParent.h
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.cpp => media/webrtc/signaling/src/peerconnection/MediaTransportParent.cpp
extra : moz-landing-system : lando
2019-02-25 21:50:58 +00:00
Byron Campen [:bwc]
8b6cc6a51f Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-25 21:50:42 +00:00
Noemi Erli
7e23372938 Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : de8796d5d7d7079af1b895a2f537371885f8cc6c
2019-02-26 00:09:40 +02:00
Christoph Kerschbaumer
c8bb3d7749 Bug 1529869: Remove the 2 from speculate speculative(Anonymous)Connect2 within nsISpeculativeConnect.idl. r=valentin 2019-02-24 20:26:56 +01:00
Gurzau Raul
e6740c75fc Backed out 10 changesets (bug 1521879) for causing bug 1530107. a=backout
Backed out changeset f597a73a6eac (bug 1521879)
Backed out changeset 0bb76534f207 (bug 1521879)
Backed out changeset abcb8be12adf (bug 1521879)
Backed out changeset ed6c8d3bbfde (bug 1521879)
Backed out changeset 1addf1e15b55 (bug 1521879)
Backed out changeset 6b709cd9a479 (bug 1521879)
Backed out changeset 07747027c59c (bug 1521879)
Backed out changeset a6105ccc188c (bug 1521879)
Backed out changeset 48c9c643e7bb (bug 1521879)
Backed out changeset d4004105a04a (bug 1521879)
2019-02-25 12:12:15 +02:00
Nika Layzell
a5cbaaf6e7 Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
These casts are now unnecessary after Part 2, due to all consumers directly
using `ContentParent`.

Depends on D20551

Differential Revision: https://phabricator.services.mozilla.com/D20552

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:51 +00:00
Nika Layzell
305c3ca912 Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8
Like Part 2, however for `nsIContentChild`.

Depends on D20550

Differential Revision: https://phabricator.services.mozilla.com/D20551

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:49 +00:00
Nika Layzell
1e93329f70 Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8
This patch tries to move them to `ContentParent` instead.

`ProcessPriorityManagerImpl::ObserveContentParentCreated` could not be moved
due to using `do_QueryInterface` to cast from a `nsISupports` down to the
`ContentParent` object. This could be fixed to remove the interfaces entirely,
but I left that for a follow-up.

Depends on D20549

Differential Revision: https://phabricator.services.mozilla.com/D20550

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:47 +00:00
Alex Gaynor
0e903787da Bug 1415508 - use Span in constructing a byte input stream; r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20687

--HG--
extra : moz-landing-system : lando
2019-02-25 19:11:20 +00:00
Agi Sferro
d6b900089c Bug 1522137 - Make resource://android return a nsIJARURI. r=snorp,mayhemer,bzbarsky
resource://android URIs always point to a "jar:" URI so it doesn't make sense
that the returned URL object implements nsIFileURL.

This also makes it so extensions can be loaded from a resource://android URI.

Audited all places where we use `nsIJARURI` and check for places where we
assume it looks like `jar:`: the only (!) place where we do that is here:

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/dom/xhr/XMLHttpRequestMainThread.cpp#1852

Where we have special handling for `jar:` URIs. It looks like we would have
less special handling for such a request to a `resource://android` and it could
be fixed by just checking for the interface instead, but that's what's already
happening today so it should work. That code is never reached for
`resource://android` URIs as `mIsMappedArrayBuffer` is false for those URIs
(see #2822). And the code is consistent in checking for the scheme instead of
the interface (the other check is here:
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/dom/xhr/XMLHttpRequestMainThread.cpp#2822)

Audited all places where we do `EqualsLiteral("jar")`:
https://searchfox.org/mozilla-central/search?q=.EqualsLiteral%28%22jar%22%29&path=

`SubstituteRemoteChannel`: looks interesting, but uses
`nsISubstitutingProtocolHandler::ResolveURI` to first get the real URI (which
is a `jar:`) so it works for our case.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/res/ExtensionProtocolHandler.cpp#414

`SubstitutingProtocolHandler.cpp`

This case is explicitly fixed by this change, making it account for both
`"jar"` and `"resource"`.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/res/SubstitutingProtocolHandler.cpp#299

`ReadSourceFromFileName`: this also looks interesting, but uses the channel to
get the URI which returns the real `"jar"` URI and not the mapped `"resource"`.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/js/xpconnect/src/XPCJSRuntime.cpp#2837

`nsStringBundle.cpp`

Accounts for both `"jar"` and `"resource"`, so it should work the same.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/intl/strres/nsStringBundle.cpp#437

Audited all places where we use `nsINestedURI` to make sure they would work for
a `nsIJARURI` which does not implement `nsINestedURI`.

`BrowserContentHandler.jsm`

Uses `nsINestedURI` to figure out if a URI is local or not and then it checks
whether it's a `"file"`, `"resource"` or `"chrome"` URI, for a `nsIJARURI &
nsINestedURI` it would return a `"file"` which passes the test, for a
`nsIJARURI` alone it would return `"resource"` which is also considered local
by this code, so the result wouldn't change.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/browser/components/BrowserContentHandler.jsm#395-399

`nsScriptSecurityManager.cpp`

`GetOriginFromURI`: This is the reason why `SubstitutingJARURI` doesn't
implement `nsINestedURI`, the origin is computed starting from the innermost
URI, which in our case would be a file. The behavior in our case is that the
origin from a `resource://android` URI behaves like other `resource://` URIs,
which is what we expect.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/caps/nsScriptSecurityManager.cpp#169

`CheckLoadURIWithPrincipal`: for `nsIJARURI & nsINestedURI` this code will only
allow pages from the same jar to be in the same origin (which is correct), for
`nsIJARURI` this code is unreachable and it would allow every
`resource://android` to load every other `resource://android` URI (which is
essentially the same thing).

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/caps/nsScriptSecurityManager.cpp#874-876

`nsDocShell.cpp`

`DisplayLoadError`: Just looping through the nested URI chain to build an error
message, no concerns here (it would just ignore the `jar:` part, which is
fine).

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/docshell/base/nsDocShell.cpp#3986

`DoURILoad`: Looking for `view-source`, no concerns for `resource://android`.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/docshell/base/nsDocShell.cpp#9645

`nsObjectLoadingContent.cpp`

Also looking for `view-source`, no concerns.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/dom/base/nsObjectLoadingContent.cpp#2004

`nsIconURI.cpp`/`nsIconURI.h`

Exposing `nsINestedURI`. No concerns.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/image/decoders/icon/nsIconURI.cpp#58

`nsJARURI.cpp`/`nsJARURI.h`

Exposing `nsINestedURI`, the subject of this audit.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/modules/libjar/nsJARURI.cpp#45

`nsIOService.cpp`

`URIChainHasFlags`: This code looks at the chain of nested URIs to figure out
if the chain of protocols has a certain flags. for `nsIJARURI & nsINestedURI`
it would look at both `jar:` and `file:` protocols, while in `nsIJARURI` it
would only look at the `resource:` protocol, which is our intention, since we
want this URI to be treated like a `resource:` URI and nothing else. Note the
`resource:` URI is always local (enforced by `NewURI`), so this should be ok.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/base/nsIOService.cpp#1494

`nsNetUtil.cpp`/`nsNetUtil.h`

Implementation of `NS_ImplGetInnermostURI`, which wouldn't work for `nsIJARURI`
alone, as expected.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/base/nsNetUtil.h#704

`nsSimpleNestedURI.cpp`/`nsSimpleNestedURI.h`

Implementing `nsINestedURI` for `nsSimpleNestedURI`, no concerns.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/base/nsSimpleNestedURI.cpp#19

`nsViewSourceHandler.cpp`

Looking at `view-source` inner URI to get the flags, no concerns.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/viewsource/nsViewSourceHandler.cpp#49

`nsHtml5StreamParser.cpp`/`nsHtml5TreeOpExecutor.cpp`

More `view-source` handling code. No concerns.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/parser/html/nsHtml5StreamParser.cpp#310

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/parser/html/nsHtml5TreeOpExecutor.cpp#884

`DownloadPlatform.cpp`

`IsURLPossiblyFromWeb`: This line is unreachable as the method would return
true because resource has `URI_IS_UI_RESOURCE`.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/components/downloads/DownloadPlatform.cpp#314

`getAnonymizedPath`: This code looks a little scary, and it's the first one
that seems to conflate the fact that `jar: == nsINestedURI`.

On the android case (line 2130) this code manually replaces the
`resource://android` URI with a `jar:` URI, so it wouldn't matter whether
`resource://android` implements `nsINestedURI` or not.

Actually this code could be a lot easier by using
`nsISubstitutingURL::resolveURI`, maybe I should open a bug.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/components/search/SearchService.jsm#2148

`getRemoteTypeForURIObject`: This also looks interesting. The switch at line
157 would go straight to line 218 for `resource:` URIs (irrespective of
`nsINestedURI`) and then for `nsINestedURI` we would look at the `jar:` URI
(and eventually the `file:` URI). While for not `nsINestedURI` we would call
straight to `validatedWebRemoteType`. This might return `WEB_REMOTE_TYPE`
instead of `FILE_REMOTE_TYPE`, but since it's already happening it should be ok
(`resource://android` maps _today_ to a `jar:` file that return
`WEB_RETURN_TYPE`)

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/modules/E10SUtils.jsm#150

`getURIHost`:

This is another piece of code that benefits from not implementing
`nsINestedURI` as the host would be correctly `"android"` instead of the apk
path.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/mozapps/downloads/DownloadUtils.jsm#390

`initDialog`:

Download dialog would show the `resource://android` URI instead of the actual
`jar:` URI, kind of expected.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/mozapps/downloads/HelperAppDlg.jsm#423

There are no places in the codebase where we do `== "jar"`. Looks like I've
already looked at all hits for "jar" too.

Checked for `"jar:` too and It looks like they are all from code that tries to
build a `jar:` URI manually which is fine for this change.

Audited all `schemeIs("jar")` occurrences:
https://searchfox.org/mozilla-central/search?q=schemeIs(%22jar%22)&path=

`browser-identity.js`

Uses the channel URI which is always resolved to `jar:`, so that works
regardless.  See also:
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/res/SubstitutingProtocolHandler.cpp#229

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/browser/base/content/browser-siteIdentity.js#812

`tabbrowser.js`

Only for `scheme == "about"` URIs.

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/browser/base/content/tabbrowser.js#789

`HelperAppDialog.js`

Treats "jar:" and "resource" the same way.

https://searchfox.org/mozilla-central/rev/dc0adc07db3df9431a0876156f50c65d580010cb/mobile/android/components/HelperAppDialog.js#63

`WebNavigationContent.js`

This code checks if the scheme is "jar" and if the original URI is "resource"
it will use that instead, so in our case it will use the "resource" URI either
way.

https://searchfox.org/mozilla-central/rev/dc0adc07db3df9431a0876156f50c65d580010cb/toolkit/modules/addons/WebNavigationContent.js#158

Depends on D18740

Differential Revision: https://phabricator.services.mozilla.com/D16913

--HG--
extra : moz-landing-system : lando
2019-02-25 15:38:33 +00:00
Agi Sferro
3ba359e0a9 Bug 1522137 - Move resource://android handler to C++. r=mayhemer
This is needed to make the handler to avoid race conditions where some code
tries to access a resource://android URI before the handler has been
registered.

Depends on D18739

Differential Revision: https://phabricator.services.mozilla.com/D18740

--HG--
extra : moz-landing-system : lando
2019-02-25 15:38:21 +00:00
Agi Sferro
31607a16bb Bug 1522137 - Fix HasSubstitution for special cases. r=bzbarsky
Before this change, HasSubstitution would return false for "gre" or "app" which
is incorrect, since these handlers exist.

Differential Revision: https://phabricator.services.mozilla.com/D18739

--HG--
extra : moz-landing-system : lando
2019-02-25 15:38:08 +00:00
Andreea Pavel
cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell
73b719457a Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
These casts are now unnecessary after Part 2, due to all consumers directly
using `ContentParent`.

Depends on D20551

Differential Revision: https://phabricator.services.mozilla.com/D20552

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:21 +00:00
Nika Layzell
da5b73b6a0 Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8
Like Part 2, however for `nsIContentChild`.

Depends on D20550

Differential Revision: https://phabricator.services.mozilla.com/D20551

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:19 +00:00
Nika Layzell
ae293bbea9 Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8
This patch tries to move them to `ContentParent` instead.

`ProcessPriorityManagerImpl::ObserveContentParentCreated` could not be moved
due to using `do_QueryInterface` to cast from a `nsISupports` down to the
`ContentParent` object. This could be fixed to remove the interfaces entirely,
but I left that for a follow-up.

Depends on D20549

Differential Revision: https://phabricator.services.mozilla.com/D20550

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:12 +00:00
Tarek Ziadé
2420a8ebb9 Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell
This patch introduces a new module in widget that implements a simple API to
retrieve system information about a process and its threads.

This function is wrapped into ChromeUtils.RequestProcInfo to return information
about processes started by Firefox.

The use case for this API is to monitor Firefox resources usage in projects
like the battery usage done by the data science team.

Differential Revision: https://phabricator.services.mozilla.com/D10069

--HG--
extra : moz-landing-system : lando
2019-02-23 18:07:59 +00:00
Nika Layzell
4b1ca2241a Bug 1528493 - Part 2: Move OptionalIPCStream to use new maybe types, r=baku
Depends on D20067

Differential Revision: https://phabricator.services.mozilla.com/D20068

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:14 +00:00
Coroiu Cristina
41959946c9 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-02-22 18:39:27 +02:00
Coroiu Cristina
4a72e9cc9a Merge inbound to mozilla-central a=merge 2019-02-22 18:30:44 +02:00
Dorel Luca
e2b65baabd Backed out changeset cd5dbeee8c5d (bug 1502917) for build bustage. CLOSED TREE 2019-02-22 14:32:42 +02:00
Tarek Ziadé
983d831bbe Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell
This patch introduces a new module in widget that implements a simple API to
retrieve system information about a process and its threads.

This function is wrapped into ChromeUtils.RequestProcInfo to return information
about processes started by Firefox.

The use case for this API is to monitor Firefox resources usage in projects
like the battery usage done by the data science team.

Differential Revision: https://phabricator.services.mozilla.com/D10069

--HG--
extra : moz-landing-system : lando
2019-02-21 23:05:44 +00:00
Dorel Luca
3797ffa10d Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-02-22 09:27:34 +02:00
Michal Novotny
77aec0bd07 Bug 1529498 - null pointer writes in mozilla::net::Predictor::LearnNative, r=valentin
Make sure necko child is initialized before using gNeckoChild in the child process.
2019-02-21 04:16:00 +02:00
Narcis Beleuzu
1cc1d33847 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-21 18:11:40 +02:00
Oana Pop Rus
e3f2246ee8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-21 11:42:10 +02:00
Oana Pop Rus
b36e97fc77 Merge inbound to mozilla-central. a=merge 2019-02-21 11:31:00 +02:00
Andrea Marchesini
dc1879093e Bug 1526214 - Get rid of telemetry for network.cookie.leave-secure-alone, r=Ehsan
Depends on D19125

Differential Revision: https://phabricator.services.mozilla.com/D20450

--HG--
extra : moz-landing-system : lando
2019-02-20 19:06:02 +00:00
Andrea Marchesini
9e8594dfcb Bug 1526214 - Get rid of network.cookie.leave-secure-alone, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D19125

--HG--
extra : moz-landing-system : lando
2019-02-20 09:42:22 +00:00
Gurzau Raul
dd9cb929e6 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-21 23:56:21 +02:00
Brindusan Cristian
136394135f Backed out 9 changesets (bug 1521879) for flake failures at /transforms/tests.py. CLOSED TREE
Backed out changeset baac167868b3 (bug 1521879)
Backed out changeset 54ac1b47b736 (bug 1521879)
Backed out changeset 94b62c6f22e2 (bug 1521879)
Backed out changeset d44f15fd4529 (bug 1521879)
Backed out changeset 761fca0514fb (bug 1521879)
Backed out changeset 0b85b1a7c1ce (bug 1521879)
Backed out changeset 5dc76e863a02 (bug 1521879)
Backed out changeset 604b9a007fe5 (bug 1521879)
Backed out changeset c414d82a5325 (bug 1521879)
2019-02-21 19:32:31 +02:00
Byron Campen [:bwc]
bc939b7978 Bug 1521879 - Part 1.1: Compensate for changes to how IPC headers are generated in the last rebase. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D19975

--HG--
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.h => dom/media/webrtc/MediaTransportParent.h
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.cpp => media/webrtc/signaling/src/peerconnection/MediaTransportParent.cpp
extra : moz-landing-system : lando
2019-02-21 15:33:57 +00:00
Byron Campen [:bwc]
4604113749 Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-21 16:42:12 +00:00
Junior Hsu
b7e28eddd2 Bug 1507110 - Allow hijacking localhost only if network.proxy.allow_hijacking_localhost is set r=Gijs,mayhemer,mkaply,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D19325

--HG--
extra : moz-landing-system : lando
2019-02-19 21:53:22 +00:00
ffxbld
3eb37eed08 No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D20646

--HG--
extra : moz-landing-system : lando
2019-02-21 14:10:20 +00:00
Cosmin Sabou
9f8b29287b Merge mozilla-central to autoland. 2019-02-21 05:43:34 +02:00
Cosmin Sabou
f3db52f4cf Merge mozilla-inbound to mozilla-central. a=merge 2019-02-21 05:42:03 +02:00
Masatoshi Kimura
e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Christoph Kerschbaumer
54df1cb98c Bug 1528677: Remove nullchecks for loadinfo since we have loadinfo on all channels. r=baku 2019-02-20 13:27:25 +01:00
Valentin Gosu
cee418d221 Bug 1529274 - Remove debugging code for bug 1153929 r=JuniorHsu
The code was added to diagnose an issue that was likely due to heap corruption.
The vtable of the objects was sometimes 0. More details in bug 1153929.
That crash doesn't reproduce anymore so it should be OK to remove.

Differential Revision: https://phabricator.services.mozilla.com/D20561

--HG--
extra : moz-landing-system : lando
2019-02-20 21:02:23 +00:00
Andrea Marchesini
d316a3043b Bug 1487113 - nsICacheInfoChannel.preferAlternativeDataType() should expose alt-data as optional if required - tests, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20201

--HG--
extra : moz-landing-system : lando
2019-02-20 10:05:57 +00:00
Andrea Marchesini
64d3f6f9da Bug 1487113 - nsICacheInfoChannel.preferAlternativeDataType() should expose alt-data as optional if required, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20200

--HG--
extra : moz-landing-system : lando
2019-02-20 10:05:42 +00:00
Bogdan Tara
fe6bbffa96 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-19 19:36:33 +02:00
Ehsan Akhgari
1597efb46d Bug 1528563 - Initialize mFrameBrowsingContextID inside LoadInfo's copy constructor; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D20072

--HG--
extra : moz-landing-system : lando
2019-02-19 16:21:45 +00:00
Andrea Marchesini
c607e645dc Bug 1528596 - Devirtualize accesses to nsUrlClassifierUtils, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D20086

--HG--
extra : moz-landing-system : lando
2019-02-19 14:35:57 +00:00
Masatoshi Kimura
e25fbce870 Bug 1528651 - Re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : ba86ea25070b37f4725834e1c2d9ec4c0783e119
2019-02-17 15:03:02 +09:00
Christoph Kerschbaumer
e96de0f53f Bug 1528934: Remove unused nsSecCheckWrapChannel. r=valentin 2019-02-19 13:49:38 +01:00
Ciure Andrei
fe3f244555 Backed out 3 changesets (bug 1487113) for perma failing test_alt-data_stream_wrap.js CLOSED TREE
Backed out changeset 831ac8c662c0 (bug 1487113)
Backed out changeset a8406df01e95 (bug 1487113)
Backed out changeset 1e97c3573ce6 (bug 1487113)
2019-02-19 11:43:13 +02:00
Andrea Marchesini
aff51ab9f6 Bug 1487113 - nsICacheInfoChannel.preferAlternativeDataType() should expose alt-data as optional if required - tests, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20201

--HG--
extra : moz-landing-system : lando
2019-02-19 07:38:44 +00:00
Andrea Marchesini
52efd15b05 Bug 1487113 - nsICacheInfoChannel.preferAlternativeDataType() should expose alt-data as optional if required, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20200

--HG--
extra : moz-landing-system : lando
2019-02-19 07:38:31 +00:00
Valentin Gosu
7ddb1bc889 Bug 1528188 - Get the HttpChannelParentListener via the parent r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20184

--HG--
extra : moz-landing-system : lando
2019-02-18 21:37:44 +00:00
Christoph Kerschbaumer
6aa899d845 Bug 1528973: Move newProxiedChannel2 being the only implementation within nsIProxiedProtocolHandler.idl. r=valentin 2019-02-19 15:42:42 +01:00
Christoph Kerschbaumer
08be3dab62 Bug 1529252: Remove the 2 from the various version to create a channel within nsIIOService.idl. r=valentin 2019-02-21 12:48:20 +01:00
Sylvestre Ledru
e0c61dafa5 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Summary: # ignore-this-changeset

Reviewers: Ehsan

Reviewed By: Ehsan

Subscribers: emilio, jandem, bbouvier, jya

Bug #: 1519636

Differential Revision: https://phabricator.services.mozilla.com/D20062
2019-02-16 20:20:37 +01:00
Coroiu Cristina
e6520f0a4d Merge inbound to mozilla-central a=merge 2019-02-16 11:36:46 +02:00
Kyle Machulis
2bb286e58e Bug 1524683 - Move all nsIFrameLoaderOwner references to nsFrameLoaderOwner; r=nika
Depends on D19728

Differential Revision: https://phabricator.services.mozilla.com/D19729

--HG--
extra : moz-landing-system : lando
2019-02-15 22:20:53 +00:00
Valentin Gosu
a5cc5b2a87 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

Differential Revision: https://phabricator.services.mozilla.com/D19000

--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
2019-02-15 22:02:47 +00:00
Valentin Gosu
0009ddac1e Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer,nika,annevk
Differential Revision: https://phabricator.services.mozilla.com/D18246

--HG--
extra : moz-landing-system : lando
2019-02-15 22:02:52 +00:00
Valentin Gosu
38f19c2395 Bug 1521808 - Use topWindowPrincipal for CrossOriginOpenerPolicy check r=mayhemer,nika
- Adds nsIHttpChannelInternal.setTopWindowPrincipal used to pass the principal from the child to the parent

Differential Revision: https://phabricator.services.mozilla.com/D18391

--HG--
extra : moz-landing-system : lando
2019-02-15 22:28:56 +00:00
Valentin Gosu
865d80fff4 Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119

--HG--
extra : moz-landing-system : lando
2019-02-15 22:02:58 +00:00
Nika Layzell
15e8803fb2 Bug 1522637 - Part 6: Perform process switches separtely from on-examine-response, r=valentin
Issues were occuring where a process swap would be decided upon during
on-examine-response, but before the swap could be handled by the
channel, the channel was redirected.

This new code takes the mildly hacky approach of simply using a separate
observer notification which is fired at the correct time. A better
solution may be to use a dedicated service for responding to these
events, however that was not implemented for this initial patch.

Depends on D18606

Differential Revision: https://phabricator.services.mozilla.com/D19691

--HG--
extra : moz-landing-system : lando
2019-02-15 19:49:17 +00:00
Nika Layzell
feecd3ed43 Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

Differential Revision: https://phabricator.services.mozilla.com/D18603

--HG--
extra : moz-landing-system : lando
2019-02-15 19:49:04 +00:00
Cosmin Sabou
a4b19fcd61 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 20:39:45 +02:00
Cosmin Sabou
fab429586f Merge autoland to mozilla-central. a=merge 2019-02-15 20:36:32 +02:00
Cosmin Sabou
ba308a2f90 Backed out 4 changesets (bug 1521808) for causing merge conflicts.
Backed out changeset 42641f88d7da (bug 1521808)
Backed out changeset 32ce09b2c33a (bug 1521808)
Backed out changeset 94e513102b53 (bug 1521808)
Backed out changeset a08553c07886 (bug 1521808)
2019-02-15 20:34:07 +02:00
Razvan Maries
d93d94cbc9 Backed out 9 changesets (bug 1522637) for causing bug 1528188. a=backout
Backed out changeset e4ca191d62a5 (bug 1522637)
Backed out changeset 540e5f318768 (bug 1522637)
Backed out changeset 0886a317a108 (bug 1522637)
Backed out changeset 4c7c512a262d (bug 1522637)
Backed out changeset d7eb272688be (bug 1522637)
Backed out changeset 67e838f49f4b (bug 1522637)
Backed out changeset 7e38890c72fa (bug 1522637)
Backed out changeset e6ca9ad18d15 (bug 1522637)
Backed out changeset 0f759e91eca8 (bug 1522637)
2019-02-15 18:21:36 +02:00
Nika Layzell
a2bc82eb15 Bug 1522637 - Part 7: Perform process switches separtely from on-examine-response, r=valentin
Issues were occuring where a process swap would be decided upon during
on-examine-response, but before the swap could be handled by the
channel, the channel was redirected.

This new code takes the mildly hacky approach of simply using a separate
observer notification which is fired at the correct time. A better
solution may be to use a dedicated service for responding to these
events, however that was not implemented for this initial patch.

Depends on D18607

Differential Revision: https://phabricator.services.mozilla.com/D19691

--HG--
extra : source : 3d24e8e81c02af9d1edec7571afecefb0d2f1eb4
2019-02-14 15:37:06 +00:00
Nika Layzell
9f36101095 Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

Differential Revision: https://phabricator.services.mozilla.com/D18603

--HG--
extra : source : 5eeda2ba8e7965fccf3e17a8d1fd059872b2c2e8
2019-02-14 15:12:51 +00:00
Bogdan Tara
c732fccb1e Backed out 8 changesets (bug 1522637) for browser_all_files_referenced.js failures CLOSED TREE
Backed out changeset f7ab0e6e739b (bug 1522637)
Backed out changeset 3d24e8e81c02 (bug 1522637)
Backed out changeset 41ca0b87537e (bug 1522637)
Backed out changeset 6e0d4b6b1c93 (bug 1522637)
Backed out changeset 8f494271ec06 (bug 1522637)
Backed out changeset 6b4d010964ec (bug 1522637)
Backed out changeset 5eeda2ba8e79 (bug 1522637)
Backed out changeset 5988b8e7d17c (bug 1522637)
2019-02-14 19:20:58 +02:00
Gurzau Raul
18a6010b33 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-14 19:04:56 +02:00
Nika Layzell
1b032ecafb Bug 1522637 - Part 7: Perform process switches separtely from on-examine-response, r=valentin
Issues were occuring where a process swap would be decided upon during
on-examine-response, but before the swap could be handled by the
channel, the channel was redirected.

This new code takes the mildly hacky approach of simply using a separate
observer notification which is fired at the correct time. A better
solution may be to use a dedicated service for responding to these
events, however that was not implemented for this initial patch.

Depends on D18607

Differential Revision: https://phabricator.services.mozilla.com/D19691

--HG--
extra : moz-landing-system : lando
2019-02-14 15:37:06 +00:00
Nika Layzell
530fa8e29b Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

Differential Revision: https://phabricator.services.mozilla.com/D18603

--HG--
extra : moz-landing-system : lando
2019-02-14 15:12:51 +00:00
Csoregi Natalia
ecd94d6986 Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE
Backed out changeset 68a001a42406 (bug 1524687)
Backed out changeset 328de611bcd3 (bug 1524688)
Backed out changeset 68cffca6927a (bug 1524687)
Backed out changeset 81dc12cc9257 (bug 1524688)
Backed out changeset c7c49f64048f (bug 1524688)
Backed out changeset fb23a0271da0 (bug 1524688)
Backed out changeset 0c1d1248e59e (bug 1524688)
Backed out changeset 9e9ec7de4160 (bug 1524688)
Backed out changeset de0b9993bd5d (bug 1524688)
Backed out changeset 92877cf4fe33 (bug 1524688)
Backed out changeset b4938f2ff8fd (bug 1524688)
Backed out changeset 230d2feaf941 (bug 1524688)
Backed out changeset 6c63bc240972 (bug 1524688)
Backed out changeset 0ad5465eace1 (bug 1524688)
Backed out changeset 1e75ce91029b (bug 1524688)
Backed out changeset 34a978503b1d (bug 1524688)
Backed out changeset 183602e8a30b (bug 1524688)
Backed out changeset 12a9135dc005 (bug 1524688)
Backed out changeset 978ef5dac9db (bug 1524688)
Backed out changeset 28105bf7bf6a (bug 1524688)
Backed out changeset a9fb74beaf2b (bug 1524688)
Backed out changeset fe106b369a72 (bug 1524688)
Backed out changeset e657e77d4271 (bug 1524688)
Backed out changeset 09f626870ad0 (bug 1524688)
Backed out changeset fe9b6695212e (bug 1524688)
Backed out changeset 995ea188bc31 (bug 1524688)
Backed out changeset 01c4d3edb1b0 (bug 1524688)
Backed out changeset 1bb7dfbb9f48 (bug 1524688)
Backed out changeset 56c61e0a1f45 (bug 1524688)
Backed out changeset c819943ff466 (bug 1524688)
Backed out changeset a1dd5cec066e (bug 1524688)
Backed out changeset 517838ee0c3c (bug 1524688)
Backed out changeset f509a5759fdf (bug 1524688)
Backed out changeset 56f5c8f0d708 (bug 1524688)
Backed out changeset 5746311ef859 (bug 1524688)
Backed out changeset df02f7d25212 (bug 1524688)
Backed out changeset c9846136d105 (bug 1524688)
Backed out changeset 2bd48db9cd0f (bug 1524688)
Backed out changeset ff120b4eeb79 (bug 1524688)
Backed out changeset fe583e7aae8d (bug 1524688)
Backed out changeset 18f156d6355a (bug 1524688)
Backed out changeset f4eaebbe2e0f (bug 1524688)
Backed out changeset bf6b18e23f69 (bug 1524688)
Backed out changeset dd89eb7e9b0d (bug 1524688)
Backed out changeset 4cbbb367ba0b (bug 1524688)
Backed out changeset 4ed0cf6be580 (bug 1524688)
Backed out changeset d8efb5ed62b1 (bug 1524688)
Backed out changeset ea347d57d73a (bug 1524688)
Backed out changeset 911689ef9f33 (bug 1524688)
Backed out changeset 28670fdc418d (bug 1524688)
Backed out changeset 38e1e42a0fb0 (bug 1524688)
Backed out changeset 35a5f031dd1e (bug 1524688)
Backed out changeset b586d55d76d5 (bug 1524688)
Backed out changeset 6dcacead1746 (bug 1524688)
Backed out changeset 9895239d8ac6 (bug 1524688)
Backed out changeset 25f982fd53bd (bug 1524688)
Backed out changeset 4fb0f0a59fe2 (bug 1524688)
Backed out changeset fdc6c4ed241a (bug 1524688)
Backed out changeset 5ce5986068f0 (bug 1524688)
Backed out changeset ab64ed7388ae (bug 1524688)
Backed out changeset 56607c5a301a (bug 1524688)
Backed out changeset 6b3684e7d8f9 (bug 1524688)
Backed out changeset ee28258a5724 (bug 1524688)
Backed out changeset 9201a7ea3c54 (bug 1524688)
Backed out changeset d5dca413e2da (bug 1524688)
Backed out changeset 68eb174a337b (bug 1524688)
Backed out changeset 625f71135038 (bug 1524687)
Backed out changeset 46e13c453538 (bug 1524687)
Backed out changeset 614be688767f (bug 1524687)
Backed out changeset 9c24919ac5c2 (bug 1524687)
Backed out changeset b9862758b98c (bug 1524687)
Backed out changeset 92d9e927deec (bug 1524687)
Backed out changeset f4ee175bc5bd (bug 1524687)
Backed out changeset 191afe83da2e (bug 1524687)
Backed out changeset c58caf41bb94 (bug 1524687)
Backed out changeset df95a56dae04 (bug 1524687)
Backed out changeset 10c69df4444d (bug 1524687)
Backed out changeset 219b84a58f50 (bug 1524687)
Backed out changeset e96e61bd282f (bug 1524687)

--HG--
rename : browser/components/migration/360seProfileMigrator.jsm => browser/components/migration/360seProfileMigrator.js
rename : browser/components/migration/ChromeProfileMigrator.jsm => browser/components/migration/ChromeProfileMigrator.js
rename : browser/components/migration/EdgeProfileMigrator.jsm => browser/components/migration/EdgeProfileMigrator.js
rename : browser/components/migration/FirefoxProfileMigrator.jsm => browser/components/migration/FirefoxProfileMigrator.js
rename : browser/components/migration/IEProfileMigrator.jsm => browser/components/migration/IEProfileMigrator.js
rename : browser/components/migration/ProfileMigrator.jsm => browser/components/migration/ProfileMigrator.js
rename : browser/components/migration/SafariProfileMigrator.jsm => browser/components/migration/SafariProfileMigrator.js
rename : browser/components/newtab/AboutNewTabService.jsm => browser/components/newtab/aboutNewTabService.js
rename : browser/components/BrowserContentHandler.jsm => browser/components/nsBrowserContentHandler.js
rename : browser/components/BrowserGlue.jsm => browser/components/nsBrowserGlue.js
rename : browser/components/payments/PaymentUIService.jsm => browser/components/payments/paymentUIService.js
rename : browser/components/protocolhandler/WebProtocolHandlerRegistrar.jsm => browser/components/protocolhandler/WebProtocolHandlerRegistrar.js
rename : devtools/startup/AboutDebuggingNewRegistration.jsm => devtools/startup/aboutdebugging-new-registration.js
rename : devtools/startup/AboutDebuggingRegistration.jsm => devtools/startup/aboutdebugging-registration.js
rename : devtools/startup/aboutdevtools/AboutDevToolsRegistration.jsm => devtools/startup/aboutdevtools/aboutdevtools-registration.js
rename : devtools/startup/AboutDevToolsToolboxRegistration.jsm => devtools/startup/aboutdevtoolstoolbox-registration.js
rename : devtools/startup/DevToolsStartup.jsm => devtools/startup/devtools-startup.js
rename : dom/base/ProcessSelector.jsm => dom/base/ProcessSelector.js
rename : dom/base/SlowScriptDebug.jsm => dom/base/SlowScriptDebug.js
rename : dom/base/ContentAreaDropListener.jsm => dom/base/contentAreaDropListener.js
rename : dom/browser-element/BrowserElementParent.jsm => dom/browser-element/BrowserElementParent.js
rename : dom/console/ConsoleAPIStorage.jsm => dom/console/ConsoleAPIStorage.js
rename : dom/html/HTMLMenuBuilder.jsm => dom/html/htmlMenuBuilder.js
rename : dom/media/PeerConnection.jsm => dom/media/PeerConnection.js
rename : dom/notification/NotificationStorage.jsm => dom/notification/NotificationStorage.js
rename : dom/presentation/PresentationDataChannelSessionTransport.jsm => dom/presentation/PresentationDataChannelSessionTransport.js
rename : dom/presentation/PresentationNetworkHelper.jsm => dom/presentation/PresentationNetworkHelper.js
rename : dom/presentation/provider/AndroidCastDeviceProvider.jsm => dom/presentation/provider/AndroidCastDeviceProvider.js
rename : dom/presentation/provider/PresentationControlService.jsm => dom/presentation/provider/PresentationControlService.js
rename : dom/push/Push.jsm => dom/push/Push.js
rename : dom/push/PushComponents.jsm => dom/push/PushComponents.js
rename : dom/system/NetworkGeolocationProvider.jsm => dom/system/NetworkGeolocationProvider.js
rename : layout/tools/recording/RecordingCmdLine.jsm => layout/tools/recording/recording-cmdline.js
rename : netwerk/dns/mdns/libmdns/DNSServiceDiscovery.jsm => netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.js
rename : netwerk/protocol/http/UAOverridesBootstrapper.jsm => netwerk/protocol/http/UAOverridesBootstrapper.js
rename : netwerk/protocol/http/WellKnownOpportunisticUtils.jsm => netwerk/protocol/http/WellKnownOpportunisticUtils.js
rename : services/fxaccounts/FxAccountsPush.jsm => services/fxaccounts/FxAccountsPush.js
rename : services/settings/RemoteSettingsComponents.jsm => services/settings/RemoteSettingsComponents.js
rename : services/sync/Weave.jsm => services/sync/Weave.js
rename : toolkit/components/asyncshutdown/nsAsyncShutdown.jsm => toolkit/components/asyncshutdown/nsAsyncShutdown.js
rename : toolkit/components/backgroundhangmonitor/BHRTelemetryService.jsm => toolkit/components/backgroundhangmonitor/BHRTelemetryService.js
rename : toolkit/components/captivedetect/CaptiveDetect.jsm => toolkit/components/captivedetect/captivedetect.js
rename : toolkit/components/cleardata/ClearDataService.jsm => toolkit/components/cleardata/ClearDataService.js
rename : toolkit/components/contentprefs/ContentPrefService2.jsm => toolkit/components/contentprefs/ContentPrefService2.js
rename : toolkit/components/crashes/CrashService.jsm => toolkit/components/crashes/CrashService.js
rename : toolkit/components/crashmonitor/nsCrashMonitor.jsm => toolkit/components/crashmonitor/nsCrashMonitor.js
rename : toolkit/components/downloads/DownloadLegacy.jsm => toolkit/components/downloads/DownloadLegacy.js
rename : toolkit/components/gfx/SanityTest.jsm => toolkit/components/gfx/SanityTest.js
rename : toolkit/components/mozintl/mozIntl.jsm => toolkit/components/mozintl/mozIntl.js
rename : toolkit/components/mozprotocol/MozProtocolHandler.jsm => toolkit/components/mozprotocol/mozProtocolHandler.js
rename : toolkit/components/normandy/ShieldContentProcess.jsm => toolkit/components/normandy/shield-content-process.js
rename : toolkit/components/DefaultCLH.jsm => toolkit/components/nsDefaultCLH.js
rename : toolkit/components/passwordmgr/LoginInfo.jsm => toolkit/components/passwordmgr/nsLoginInfo.js
rename : toolkit/components/passwordmgr/LoginManager.jsm => toolkit/components/passwordmgr/nsLoginManager.js
rename : toolkit/components/passwordmgr/LoginManagerPrompter.jsm => toolkit/components/passwordmgr/nsLoginManagerPrompter.js
rename : toolkit/components/places/ColorAnalyzer.jsm => toolkit/components/places/ColorAnalyzer.js
rename : toolkit/components/places/PageIconProtocolHandler.jsm => toolkit/components/places/PageIconProtocolHandler.js
rename : toolkit/components/places/PlacesCategoriesStarter.jsm => toolkit/components/places/PlacesCategoriesStarter.js
rename : toolkit/components/places/UnifiedComplete.jsm => toolkit/components/places/UnifiedComplete.js
rename : toolkit/components/places/PlacesExpiration.jsm => toolkit/components/places/nsPlacesExpiration.js
rename : toolkit/components/places/TaggingService.jsm => toolkit/components/places/nsTaggingService.js
rename : toolkit/components/processsingleton/ContentProcessSingleton.jsm => toolkit/components/processsingleton/ContentProcessSingleton.js
rename : toolkit/components/processsingleton/MainProcessSingleton.jsm => toolkit/components/processsingleton/MainProcessSingleton.js
rename : toolkit/components/prompts/src/Prompter.jsm => toolkit/components/prompts/src/nsPrompter.js
rename : toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm => toolkit/components/remotebrowserutils/RemoteWebNavigation.js
rename : toolkit/components/satchel/FormHistoryStartup.jsm => toolkit/components/satchel/FormHistoryStartup.js
rename : toolkit/components/satchel/FormAutoComplete.jsm => toolkit/components/satchel/nsFormAutoComplete.js
rename : toolkit/components/satchel/InputListAutoComplete.jsm => toolkit/components/satchel/nsInputListAutoComplete.js
rename : toolkit/components/search/SearchService.jsm => toolkit/components/search/nsSearchService.js
rename : toolkit/components/search/SearchSuggestions.jsm => toolkit/components/search/nsSearchSuggestions.js
rename : toolkit/components/search/Sidebar.jsm => toolkit/components/search/nsSidebar.js
rename : toolkit/components/telemetry/TelemetryStartup.jsm => toolkit/components/telemetry/TelemetryStartup.js
rename : toolkit/components/terminator/TerminatorTelemetry.jsm => toolkit/components/terminator/nsTerminatorTelemetry.js
rename : toolkit/components/thumbnails/PageThumbsStorageService.jsm => toolkit/components/thumbnails/PageThumbsStorageService.js
rename : toolkit/components/timermanager/UpdateTimerManager.jsm => toolkit/components/timermanager/nsUpdateTimerManager.js
rename : toolkit/components/tooltiptext/TooltipTextProvider.jsm => toolkit/components/tooltiptext/TooltipTextProvider.js
rename : toolkit/components/url-classifier/UrlClassifierHashCompleter.jsm => toolkit/components/url-classifier/nsUrlClassifierHashCompleter.js
rename : toolkit/components/url-classifier/UrlClassifierLib.jsm => toolkit/components/url-classifier/nsUrlClassifierLib.js
rename : toolkit/components/url-classifier/UrlClassifierListManager.jsm => toolkit/components/url-classifier/nsUrlClassifierListManager.js
rename : toolkit/components/urlformatter/URLFormatter.jsm => toolkit/components/urlformatter/nsURLFormatter.js
rename : toolkit/components/utils/SimpleServices.jsm => toolkit/components/utils/simpleServices.js
rename : toolkit/components/xulstore/XULStore.jsm => toolkit/components/xulstore/XULStore.js
rename : toolkit/mozapps/downloads/HelperAppDlg.jsm => toolkit/mozapps/downloads/nsHelperAppDlg.js
rename : toolkit/mozapps/extensions/amContentHandler.jsm => toolkit/mozapps/extensions/amContentHandler.js
rename : toolkit/mozapps/extensions/amInstallTrigger.jsm => toolkit/mozapps/extensions/amInstallTrigger.js
rename : toolkit/mozapps/extensions/amWebAPI.jsm => toolkit/mozapps/extensions/amWebAPI.js
rename : toolkit/mozapps/handling/ContentDispatchChooser.jsm => toolkit/mozapps/handling/nsContentDispatchChooser.js
rename : toolkit/mozapps/update/UpdateService.jsm => toolkit/mozapps/update/nsUpdateService.js
rename : toolkit/mozapps/update/UpdateServiceStub.jsm => toolkit/mozapps/update/nsUpdateServiceStub.js
rename : uriloader/exthandler/WebHandlerApp.jsm => uriloader/exthandler/nsWebHandlerApp.js
2019-02-14 11:50:23 +02:00
shindli
c6c323a9e4 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 4502430f7e773b654c4557946c39000735b14bb3
2019-02-14 06:58:32 +02:00
Valentin Gosu
3d45f28bb0 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

Differential Revision: https://phabricator.services.mozilla.com/D19000

--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
2019-02-15 12:14:49 +00:00
Valentin Gosu
646e6529a2 Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer,nika,annevk
Differential Revision: https://phabricator.services.mozilla.com/D18246

--HG--
extra : moz-landing-system : lando
2019-02-15 12:15:01 +00:00
Valentin Gosu
27cac83e4a Bug 1521808 - Use topWindowPrincipal for CrossOriginOpenerPolicy check r=mayhemer,nika
- Adds nsIHttpChannelInternal.setTopWindowPrincipal used to pass the principal from the child to the parent

Differential Revision: https://phabricator.services.mozilla.com/D18391

--HG--
extra : moz-landing-system : lando
2019-02-15 12:15:21 +00:00
Valentin Gosu
b2a27c32cd Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119

--HG--
extra : moz-landing-system : lando
2019-02-15 12:15:39 +00:00
Sylvestre Ledru
41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D19663

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Nika Layzell
dbec7d4975 Bug 1526382 - Part 2: Make nsIClassInfo use Array<nsIIDRef> for 'interfaces', r=mccr8
This is a follow-up to the previous part, which actually changes one of
these callers to use Array<nsIIDRef> instead of [array] nsIIDPtr.

From doing this patch, it seems like we should consider changing
the type `nsIIDRef` to instead simply be `nsIID`, and treat it more like
the `AString` types from the POV of XPIDL. `nsIIDPtr` would then
continue to exist for backwards compatibility, but we can probably
remove almost all current consumers over time.

Depends on D19175

Differential Revision: https://phabricator.services.mozilla.com/D19176

--HG--
extra : moz-landing-system : lando
2019-02-13 21:42:08 +00:00
Christoph Kerschbaumer
d65faafb09 Bug 1509738: CSP snapshot nonce at load start time. r=baku
--HG--
extra : rebase_source : ea232b7a3aeae9c18895e885d1536ca58c8de1bd
extra : amend_source : b0c351f8c0c1a5eb7865a735f8dc5bafb42384f1
2019-02-13 20:45:29 +01:00
Andrew McCreight
07e3ce0af7 Bug 1517601, part 3 - WebSocketEvent subclasses should not hold strong references to the channel. r=mayhemer
This patch moves the channel pointer from the WebSocketEvents into the
classes that wrap them (EventTargetDispatcher and
WrappedWebSocketEvent) to fix leaks.

EventTargetDispatcher uses a weak pointer. This is needed to prevent a
leak if the ChannelEvent dispatch fails, because it would create a
cycle of strong references between the WebSocketEvent, the channel,
the channel event queue, and EventTargetDispatcher. It is safe because
the ChannelEventQueue ensures that the channel remains alive.

WrappedWebSocketEvent uses a strong pointer. This won't create a leak
because the runnable is not owned by the channel. It is needed for
safety because it can't rely on the ChannelEventQueue mechanism for
keeping the channel alive.

The WPT whitelisting moves them into two subdirectories that still
seem to leak sometimes, but the top level websockets/ directory seems
okay now.

Depends on D19586

Differential Revision: https://phabricator.services.mozilla.com/D19587

--HG--
extra : moz-landing-system : lando
2019-02-13 16:58:31 +00:00
Andrew McCreight
836727fcd1 Bug 1517601, part 2 - Create and use a new WebSocketEvent base class instead of ChannelEvent. r=mayhemer
In the next patch, I want to change the signature of Run(), so I need
to create a new base class for these inner WebSocket events.

For now, this class is the same as ChannelEvent, except that it does
not have the GetEventTarget method, which is never called.

Depends on D19585

Differential Revision: https://phabricator.services.mozilla.com/D19586

--HG--
extra : moz-landing-system : lando
2019-02-13 16:57:58 +00:00
Andrew McCreight
d4a4aebf1c Bug 1517601, part 1 - Remove the unused WebSocketChannelChild::DispatchToTargetThread() method. r=mayhemer
Later patches change the WrappedChannelEvent ctor, so I'm removing
this unused method to avoid having to fix it up.

Differential Revision: https://phabricator.services.mozilla.com/D19585

--HG--
extra : moz-landing-system : lando
2019-02-13 16:49:26 +00:00
Andreas Farre
eca9e717dd Bug 1525866 - Add IPDLParamTraits<Tuple<Ts...>>. r=froydnj
Add support for serializing/deserializing tuples.

Differential Revision: https://phabricator.services.mozilla.com/D18939

--HG--
extra : moz-landing-system : lando
2019-02-13 16:08:03 +00:00
Noemi Erli
0a63dd9be6 Backed out 2 changesets (bug 1509738) for failures in propagate-nonce-external-classic.html
Backed out changeset fbf4b73c8786 (bug 1509738)
Backed out changeset 53f624bc7c22 (bug 1509738)
2019-02-13 16:22:44 +02:00
Christoph Kerschbaumer
7859700e5d Bug 1509738 - CSP snapshot nonce at load start time. r=baku
--HG--
extra : rebase_source : b532f519b79a3bc14ece0c0ee829edd400149e48
extra : amend_source : d4b8fba240a9d28437ee436b94313fd1602426c4
extra : histedit_source : 6af35eb388f6c23d80d8412533fec02abe2d4cff
2019-02-13 13:46:50 +01:00
Sebastian Hengst
fece74b6f1 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-13 11:23:15 +01:00
Razvan Maries
dcc3ecb682 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-13 07:23:59 +02:00
Honza Bambas
c6e223eca9 Bug 1522093 - Make sure to not reuse a connection to a proxy that returns an error response we can't gracefully handle, r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D19403

--HG--
extra : moz-landing-system : lando
2019-02-12 22:44:30 +00:00
Andreea Pavel
e09dd2a72d Backed out 2 changesets (bug 1509738) for failing propagate-nonce-external-classic.html on a CLOSED TREE
Backed out changeset 5cbc3f79a126 (bug 1509738)
Backed out changeset 44a945b21f87 (bug 1509738)
2019-02-13 02:18:28 +02:00
Razvan Maries
35355d29bc Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-02-12 23:59:47 +02:00
Razvan Maries
bb3267ce86 Backed out changeset 2161b075ce64 (bug 1521304) for high frequency mochitest failure, a=backout 2019-02-12 21:58:27 +02:00
Christoph Kerschbaumer
6111ccf5fd Bug 1509738: CSP snapshot nonce at load start time r=baku
Differential Revision: https://phabricator.services.mozilla.com/D19519

--HG--
extra : moz-landing-system : lando
2019-02-12 18:01:32 +00:00
Razvan Maries
189f0c1e6f Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-12 23:57:41 +02:00
Randell Jesup
f3e7d33519 Bug 1521304: Move some Mutexes r=tuexen,dminor 2019-02-12 07:28:27 -05:00
Jonathan Kingston
3421b8fcff Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin
Replacing js and text occurences of asyncOpen2
Replacing open2 with open

Differential Revision: https://phabricator.services.mozilla.com/D16885

--HG--
rename : layout/style/test/test_asyncopen2.html => layout/style/test/test_asyncopen.html
extra : moz-landing-system : lando
2019-02-12 16:08:25 +00:00
Coroiu Cristina
92656e7b34 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-02-12 18:35:15 +02:00
Michal Novotny
126cc12cee Bug 1527005 - WebSocketChannel hangs waiting for OnTransportAvailable when server responds to upgrade request with HTTP/1.0, r=dragana
We must fail if server responds with HTTP/1.0 because HTTP upgrade requires at least HTTP/1.1 and nsHttpChannel correctly won't perform the upgrade, i.e WebSocketChannel::OnTransportAvailable won't be called.

--HG--
extra : rebase_source : a5af566c8a8dfc5e50aa74fcc1f0e552937e4b4e
2019-02-11 10:11:00 +02:00
Randell Jesup
88ffa67e55 Bug 1521304: Move some Mutexes r=tuexen,dminor 2019-02-12 07:28:27 -05:00
Kris Maglione
51aa53dc4e Fix botched backout (bug 1524687). r=bustage
--HG--
extra : rebase_source : 9dbfd1799f73097f30c8d32535b2ba9a2f6afd59
extra : amend_source : 7e8308ee4cc33864453a3781edd60a82c5ff6437
2019-02-14 17:54:00 -08:00
Daniel Varga
1e9aa9e1fc Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 03:51:05 +02:00
Kris Maglione
dfc6aeef42 Backout most of bug 1524687 for Windows PGO xpcshell selftest failures. r=backout 2019-02-14 17:17:36 -08:00
Jorg K
15ee3d3e8f Bug 1527236 - Allow % in URLs for Thunderbird. r=valentin 2019-02-12 18:43:30 +01:00
Cosmin Sabou
4c0553bb3e Merge mozilla-central to mozilla-inbound. 2019-02-15 20:54:03 +02:00
Michal Novotny
b631b7b31e Bug 1527890 - WebSocketChannel can hang waiting for OnTransportAvailable when HTTP request isn't upgraded, r=valentin
Canceling mOpenTimer is moved to CallStartWebsocketData which is called after calling OnStartRequest as well as OnTransportAvailable.
2019-02-15 00:10:00 +02:00
Valentin Gosu
08d4ca8e92 Bug 1517025 - Do not allow percent symbol in URL hostnames r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D16694

--HG--
extra : moz-landing-system : lando
2019-02-11 21:49:19 +00:00
Ehsan Akhgari
3f4f286ad1 Bug 1525960 - Fix a leak in NS_GetInnermostURIHost(); r=baku
Differential Revision: https://phabricator.services.mozilla.com/D19011

--HG--
extra : moz-landing-system : lando
2019-02-11 14:35:02 +00:00
Valentin Gosu
6c62662e9d Bug 1520062 - Also release listeners in HttpChannelChild::ActorDestroy r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D16549

--HG--
extra : moz-landing-system : lando
2019-02-20 16:06:08 +00:00
Valentin Gosu
dd38890459 Bug 1520062 - Don't exit HttpChannelChild::DoOnStopRequest if call returns error code r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D16548

--HG--
extra : moz-landing-system : lando
2019-02-20 16:06:17 +00:00
Byron Campen [:bwc]
5ca6cf53af Bug 1521879 - Part 1.1: Compensate for changes to how IPC headers are generated in the last rebase. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D19975

--HG--
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.h => dom/media/webrtc/MediaTransportParent.h
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.cpp => media/webrtc/signaling/src/peerconnection/MediaTransportParent.cpp
extra : moz-landing-system : lando
2019-02-21 20:25:07 +00:00
Byron Campen [:bwc]
7ab14bdf2c Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-21 20:24:54 +00:00
shindli
6b820cdfea Backed out 6 changesets (bug 1522637) for en-US failures in testing/firefox-ui/tests/functional/safebrowsing/test_notification.py TestSafeBrowsingNotificationBar.test_notification_bar CLOSED TREE
Backed out changeset 18a809d53298 (bug 1522637)
Backed out changeset 9e9fd362dd8f (bug 1522637)
Backed out changeset f1191be4243a (bug 1522637)
Backed out changeset 5a8067fd848c (bug 1522637)
Backed out changeset 5f49cd87b1bd (bug 1522637)
Backed out changeset f82ba91f5ea2 (bug 1522637)
2019-02-09 03:12:53 +02:00
Nika Layzell
37ec17b0f5 Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

Differential Revision: https://phabricator.services.mozilla.com/D18603

--HG--
extra : moz-landing-system : lando
2019-02-08 17:36:00 +00:00
Dragana Damjanovic
05dfecef50 Bug 1516806 - Remove SPDY_VERSION2 telemetry probe. r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D19138

--HG--
extra : moz-landing-system : lando
2019-02-08 13:16:11 +00:00
Dragana Damjanovic
d26590be47 Bug 1520642 - Cancel dns requests before cleaning up db. r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D18989

--HG--
extra : moz-landing-system : lando
2019-02-08 09:34:34 +00:00
Oana Pop Rus
1f2fab8f20 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-08 12:11:54 +02:00
Dragana Damjanovic
bbcb8a93f2 Bug 1520483 - Return proper error if the nss layer encounters an error on the http tunnel. r=valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D17952

--HG--
extra : moz-landing-system : lando
2019-02-08 09:13:21 +00:00
Ehsan Akhgari
3219a47956 Bug 1527505 - Part 11: Avoid looking up the effective TLD service repeatedly inside the permission manager; r=nika
Depends on D20238

Differential Revision: https://phabricator.services.mozilla.com/D20239

--HG--
extra : moz-landing-system : lando
2019-02-21 22:54:34 +00:00
Ehsan Akhgari
b5a2bda7ee Bug 1527505 - Part 9: Make nsIPermissionManager accept ACString arguments for permission types instead of raw C strings; r=nika
This will mean that in places like the tight loop in GetTypeIndex()
we would no longer require calling strlen() on the input type argument
once per loop iteration.

Depends on D20236

Differential Revision: https://phabricator.services.mozilla.com/D20237

--HG--
extra : moz-landing-system : lando
2019-02-21 22:54:28 +00:00
Cosmin Sabou
7d542a11f7 Merge mozilla-central to mozilla-inbound. 2019-02-21 05:44:20 +02:00
Chris Peterson
8e1848413c Bug 1507049 - Rename MOZ_CRASH_UNSAFE_OOL MOZ_CRASH_UNSAFE. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18515

--HG--
extra : rebase_source : e8ef6eec0f7542bb381e2da81ae6431b2828aabc
extra : source : a8c262b4a2579e6def1b3a5a8220f5197b443e34
2019-02-03 00:09:37 -08:00
Dorel Luca
18685fb376 Backed out changeset 661ca61b9413 (bug 1520483) for Android build bustage 2019-02-07 16:54:13 +02:00
Dragana Damjanovic
4da339d8a3 Bug 1521639 - Fix locking in TRRService. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D17822

--HG--
extra : moz-landing-system : lando
2019-02-01 20:46:00 +00:00
Tom Schuster
ae727bbc13 Bug 1525006 - Block ES6 modules with wrong MIME type r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D19270

--HG--
extra : moz-landing-system : lando
2019-02-12 13:16:52 +00:00
Tom Schuster
a60d06b5ef Bug 1525006 - Add a new internal ContentPolicyType for ES6 modules. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D19269

--HG--
extra : moz-landing-system : lando
2019-02-12 13:16:32 +00:00
Dorel Luca
313155b999 Backed out 4 changesets (bug 1521808) for build bustage. CLOSED TREE
Backed out changeset 80aeea5f7abe (bug 1521808)
Backed out changeset c8c151d92c03 (bug 1521808)
Backed out changeset cc0a5c7dabb4 (bug 1521808)
Backed out changeset 8d5174a560fa (bug 1521808)
2019-02-12 14:54:45 +02:00
Valentin Gosu
005dcbada4 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

Differential Revision: https://phabricator.services.mozilla.com/D19000

--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
2019-02-12 12:16:58 +00:00
Valentin Gosu
1c83ed37de Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer,nika,annevk
Differential Revision: https://phabricator.services.mozilla.com/D18246

--HG--
extra : moz-landing-system : lando
2019-02-12 12:16:28 +00:00
Valentin Gosu
f8fe725d87 Bug 1521808 - Use topWindowPrincipal for CrossOriginOpenerPolicy check r=mayhemer,nika
- Adds nsIHttpChannelInternal.setTopWindowPrincipal used to pass the principal from the child to the parent

Differential Revision: https://phabricator.services.mozilla.com/D18391

--HG--
extra : moz-landing-system : lando
2019-02-12 12:16:16 +00:00
Valentin Gosu
4ef1efc776 Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119

--HG--
extra : moz-landing-system : lando
2019-02-12 12:15:54 +00:00
Dragana Damjanovic
d86d9fb9b1 Bug 1520483 - Return proper error if the nss layer encounters an error on the http tunnel. r=valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D17952

--HG--
extra : moz-landing-system : lando
2019-02-01 10:57:14 +00:00
ffxbld
60847f1c1f No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D18967

--HG--
extra : moz-landing-system : lando
2019-02-07 13:54:00 +00:00
Kris Maglione
7592818b2d Bug 1524688: Part 46 - Convert DNSServiceDiscovery to static registration. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D18456

--HG--
rename : netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.js => netwerk/dns/mdns/libmdns/DNSServiceDiscovery.jsm
extra : source : a9fb74beaf2b79c1a291dc223154815884fcb721
2019-01-30 11:12:55 -08:00
Kris Maglione
0acda0c01f Bug 1524688: Part 46 - Convert DNSServiceDiscovery to static registration. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D18456

--HG--
rename : netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.js => netwerk/dns/mdns/libmdns/DNSServiceDiscovery.jsm
extra : rebase_source : 1068b39aa55145edf0e6d0ca664bdf84d1144335
2019-01-30 11:12:55 -08:00
Kris Maglione
acfa5d8a90 Bug 1524688: Part 45 - Convert network HTTP JS components to static registration. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D18455

--HG--
rename : netwerk/protocol/http/UAOverridesBootstrapper.js => netwerk/protocol/http/UAOverridesBootstrapper.jsm
rename : netwerk/protocol/http/WellKnownOpportunisticUtils.js => netwerk/protocol/http/WellKnownOpportunisticUtils.jsm
extra : source : fe106b369a722814e2cfa3597ba1295f6deeae9e
2019-01-30 11:09:50 -08:00
Kris Maglione
b08752c4e7 Bug 1524688: Part 45 - Convert network HTTP JS components to static registration. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D18455

--HG--
rename : netwerk/protocol/http/UAOverridesBootstrapper.js => netwerk/protocol/http/UAOverridesBootstrapper.jsm
rename : netwerk/protocol/http/WellKnownOpportunisticUtils.js => netwerk/protocol/http/WellKnownOpportunisticUtils.jsm
extra : rebase_source : e699b373bf577c51a598474537567f83a2a0d29c
2019-01-30 11:09:50 -08:00
Kris Maglione
b2f85650a1 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
extra : intermediate-source : 7a1ef487a9e74d66b112034051e49b77023860b8
extra : histedit_source : 88d19dbee4a99faa191e49e2847c4c59aba05b0c%2C5ee702f97153152d31124e0c5f3e8318cbeb3195
2019-01-29 16:03:41 -08:00
Kris Maglione
b718cffa0e Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : 176f8fb3716d467e34a04d353b44acec314808cf
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
2019-01-29 16:03:41 -08:00
Kris Maglione
47c2c349a9 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : 17756d218c39acadefbc6af9ef7ce31beef1ff36
2019-01-29 16:03:41 -08:00
arthur.iakab
470dbf03b6 Backed out 5 changesets (bug 1524687) for causing build bustages on platform.h CLOSED TREE
Backed out changeset 0f06a6b51bfe (bug 1524687)
Backed out changeset 7a1ef487a9e7 (bug 1524687)
Backed out changeset accad7b4cbc7 (bug 1524687)
Backed out changeset eb33f7e6467c (bug 1524687)
Backed out changeset 86cf09db340b (bug 1524687)
2019-02-21 02:04:02 +02:00
Kris Maglione
95c0cf7aa9 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : ccc1b4f8559152237e523b67ea76e2b406c1cb11
extra : intermediate-source : e8ad5619116c31fc4d38e0e789ddb9b5d2a5bb25
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
2019-01-29 16:03:41 -08:00
Coroiu Cristina
0658997d2b Backed out changeset 5e586fc7af16 (bug 1527890) for causing leaks on a CLOSED TREE 2019-02-14 22:14:41 +02:00
Michal Novotny
2bee465402 Bug 1527890 - WebSocketChannel can hang waiting for OnTransportAvailable when HTTP request isn't upgraded, r=valentin
Canceling mOpenTimer is moved to CallStartWebsocketData which is called after calling OnStartRequest as well as OnTransportAvailable.
2019-02-14 06:22:00 +02:00
Michal Novotny
8412fac97f Bug 1525900 - Remove unused code from old cache. r=mayhemer 2019-02-07 05:49:00 +02:00
Chris Peterson
576887f4d2 Bug 1511763 - Part 2: Make GetSpoofedUserAgent() infallible. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D13658

--HG--
extra : rebase_source : 467a960f591f5e2043ca8fc504730ad38358dcde
extra : intermediate-source : 08d3f83d23c553e44ba7be1cbc3d93cd2b0b1216
extra : source : c20507956e062eecf23f0856c8b5c372621891cf
2018-12-02 21:24:16 -08:00
Kershaw Chang
3f9e7e57ed Bug 1522786 - Remove unused class member mHasQueryString r=mayhemer
Simply remove unused class member mHasQueryString and HasQueryString() method.

Differential Revision: https://phabricator.services.mozilla.com/D18694

--HG--
extra : moz-landing-system : lando
2019-02-06 18:16:59 +00:00
Alex Gaynor
0f01791ffc Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

Differential Revision: https://phabricator.services.mozilla.com/D18132

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:43 +00:00
Alex Gaynor
984f0333ea Bug 1512990 - Part 3 - remove declarations of Alloc/Dealloc methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Alloc/Dealloc methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

Differential Revision: https://phabricator.services.mozilla.com/D18131

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:07 +00:00
Alex Gaynor
75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

Differential Revision: https://phabricator.services.mozilla.com/D16492

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Ehsan Akhgari
23415bc742 Bug 1525208 - Part 8: Avoid the overhead of calling NS_GetInnermostURI() in nsEffectiveTLDService; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D18650
2019-02-05 18:49:36 -05:00