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

17394 Коммитов

Автор SHA1 Сообщение Дата
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
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
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