b591e1e39f8004f581311acd28e8e2645011594f: Bug 1508996 - Change Response's statusText's default, r=valentin
Andrea Marchesini <amarchesini@mozilla.com> - Mon, 25 Feb 2019 16:54:11 +0000 - rev 460931
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1508996 - Change Response's statusText's default, r=valentin Differential Revision: https://phabricator.services.mozilla.com/D21026
50e17e84f24d4fae03f4b499d7c76fd229d224ea: Bug 1528636 - Enable staging updates on Linux entirely and not just for EARLY_BETA_OR_EARLIER for Firefox 67. r=mhowell
Robert Strong <robert.bugzilla@gmail.com> - Mon, 25 Feb 2019 16:12:10 +0000 - rev 460930
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1528636 - Enable staging updates on Linux entirely and not just for EARLY_BETA_OR_EARLIER for Firefox 67. r=mhowell Differential Revision: https://phabricator.services.mozilla.com/D20975
5435d1259aebbd68f4115ee154aac6ec98383df4: Backed out changeset e67aafaf366c (bug 1530396) for build bustages on a CLOSED TREE
Andreea Pavel <apavel@mozilla.com> - Mon, 25 Feb 2019 19:14:28 +0200 - rev 460929
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Backed out changeset e67aafaf366c (bug 1530396) for build bustages on a CLOSED TREE
698edbbeb0c5ddece1e887f98ee8531fa8ab63d8: Bug 1528803 - Add decompile support for new instructions r=jwalden
Andy Wingo <wingo@igalia.com> - Mon, 25 Feb 2019 15:40:04 +0000 - rev 460928
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1528803 - Add decompile support for new instructions r=jwalden Differential Revision: https://phabricator.services.mozilla.com/D20327
81b6ad81fb9c867bbdf4e240ff5e7758239f2b23: Bug 1530360 - Fix Recent flow regressions (3). r=bhackett
Jason Laster <jlaster@mozilla.com> - Mon, 25 Feb 2019 15:42:09 +0000 - rev 460927
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1530360 - Fix Recent flow regressions (3). r=bhackett Differential Revision: https://phabricator.services.mozilla.com/D21017
e67aafaf366c0c9737211830217c303b730eb696: Bug 1530396 - Move the AutoFlushICache to the Linker. r=mgaudet
Nicolas B. Pierron <nicolas.b.pierron@nbp.name> - Mon, 25 Feb 2019 17:00:25 +0000 - rev 460926
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1530396 - Move the AutoFlushICache to the Linker. r=mgaudet Differential Revision: https://phabricator.services.mozilla.com/D21025
fffdf329fefd39b354500181a85b65eb62154438: Backed out changeset 51467afba450 (bug 1518841) for failing eslint at GeckoViewWebExtension.jsm on a CLOSED TREE
Andreea Pavel <apavel@mozilla.com> - Mon, 25 Feb 2019 18:53:15 +0200 - rev 460925
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Backed out changeset 51467afba450 (bug 1518841) for failing eslint at GeckoViewWebExtension.jsm on a CLOSED TREE
91514fccb8217878a323b99e2295569980d949a2: Merge mozilla-central to autoland. a=merge CLOSED TREE
Oana Pop Rus <opoprus@mozilla.com> - Mon, 25 Feb 2019 18:50:06 +0200 - rev 460924
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Merge mozilla-central to autoland. a=merge CLOSED TREE
33e479814f0561bc32980ec61e6e127e2caad726: Backed out changeset e99833064d36 (bug 1529681) for build bustages on a CLOSED TREE
Andreea Pavel <apavel@mozilla.com> - Mon, 25 Feb 2019 18:44:17 +0200 - rev 460923
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Backed out changeset e99833064d36 (bug 1529681) for build bustages on a CLOSED TREE
fe756391d9f912a499e4ec6363693fdfc7126f0e: Bug 1514992 - Update annotation for webrender. r=lsalzman
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 25 Feb 2019 16:13:01 +0000 - rev 460922
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1514992 - Update annotation for webrender. r=lsalzman Apparently we sometimes fall back to skia canvas with WebRender if ANGLE fails to initialize. This makes the azureSkia condition true, but the test still passes because of WebRender's magical properties. This patch updates the annotation to reflect reality, so we don't get unexpected passes. Differential Revision: https://phabricator.services.mozilla.com/D21012
66fe745ebaece40644400a19faf1dece5b5b2767: Bug 1528436 - Add dxgi.dll to xperf_whitelist.json r=jmaher
Ryan Hunt <rhunt@eqrion.net> - Sat, 23 Feb 2019 11:40:11 +0000 - rev 460921
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1528436 - Add dxgi.dll to xperf_whitelist.json r=jmaher Differential Revision: https://phabricator.services.mozilla.com/D20742
51467afba45054b651e009f531b67247a4943471: Bug 1518841 - Allow embedders to load WebExtensions in GeckoView. r=snorp,esawin
Agi Sferro <agi@mozilla.com> - Mon, 25 Feb 2019 15:38:46 +0000 - rev 460920
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1518841 - Allow embedders to load WebExtensions in GeckoView. r=snorp,esawin Depends On D16913 Differential Revision: https://phabricator.services.mozilla.com/D16268
54102692d3852d6e42a3cf24828750682eaf91d9: Bug 1522137 - Make resource://android return a nsIJARURI. r=snorp,mayhemer,bzbarsky
Agi Sferro <agi@mozilla.com> - Mon, 25 Feb 2019 15:38:33 +0000 - rev 460919
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
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
c79d6bd85dd8b07ac3e6f1cf7c02d5d2b708302f: Bug 1522137 - Move resource://android handler to C++. r=mayhemer
Agi Sferro <agi@mozilla.com> - Mon, 25 Feb 2019 15:38:21 +0000 - rev 460918
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
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
b9a1181a0f15eeedf907456d939cb3b4e36bc8f4: Bug 1522137 - Fix HasSubstitution for special cases. r=bzbarsky
Agi Sferro <agi@mozilla.com> - Mon, 25 Feb 2019 15:38:08 +0000 - rev 460917
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
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
2777f00531253613cabfa34b6a1e5d5a21ea4478: Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Andreea Pavel <apavel@mozilla.com> - Mon, 25 Feb 2019 18:19:38 +0200 - rev 460916
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
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)
3c8320baa230205e3a8646051f13ce2c51d45a74: Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Nika Layzell <nika@thelayzells.com> - Mon, 25 Feb 2019 15:51:25 +0000 - rev 460915
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8 Depends on D20553 Differential Revision: https://phabricator.services.mozilla.com/D20870
0a288a3d85cddb5e554b7d1e65477d38f590bf9c: Bug 1522579 - Part 5: Reduce nsIContent{Parent,Child} to thin IIDs, r=mccr8
Nika Layzell <nika@thelayzells.com> - Mon, 25 Feb 2019 15:51:23 +0000 - rev 460914
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
Bug 1522579 - Part 5: Reduce nsIContent{Parent,Child} to thin IIDs, r=mccr8 This devirutalizes a bunch of methods, and moves the entire implementation into `Content{Parent,Child}` proper. The only purpose left for these types is as a collection of interfaces and an IID for casting. They should likely be removed entirely in a follow-up. Depends on D20552 Differential Revision: https://phabricator.services.mozilla.com/D20553
ecfd27e7d150c7dacd0878e91fcf4fa6e292023b: Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
Nika Layzell <nika@thelayzells.com> - Mon, 25 Feb 2019 15:51:21 +0000 - rev 460913
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
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
eda40fca075833f04fe28fc6855fd6dc423452b5: Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8
Nika Layzell <nika@thelayzells.com> - Mon, 25 Feb 2019 15:51:19 +0000 - rev 460912
Push 35613 by nerli@mozilla.com at Tue, 26 Feb 2019 03:52:35 +0000
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
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip