Commit graph

139 commits

Author SHA1 Message Date
Shane Caraveo
5f24a04aa2 Bug 1548177 support incognito flag in request filtering r=kmag,robwu
Differential Revision: https://phabricator.services.mozilla.com/D29446

--HG--
extra : moz-landing-system : lando
2019-05-02 16:23:03 +00:00
Shane Caraveo
0873aa1a01 Bug 1545163 add incognito flag to proxy and webrequest details r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D28925

--HG--
extra : moz-landing-system : lando
2019-04-29 18:00:12 +00:00
Ryan Hunt
3675f2449b Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

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

--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
2019-04-09 15:59:37 -05:00
Kris Maglione
e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

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

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Shane Caraveo
1670b9b564 Bug 1467523 followup fix for case insensitive header name check, r=aswan,robwu 2018-10-10 16:23:46 -04:00
Kris Maglione
53f96aa226 Bug 1486182: Part 2a - Add Services.catMan getter for the category manager. r=mossop
This makes it much easier to update existing consumers of
XPCOMUtils.enumerateCategoryEntries to use the category manager directly.

It also, unfortunately, requires updating existing category manager consumers
to use the Services getter in order to avoid ESLint errors.

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

--HG--
extra : rebase_source : fb9fd9b21db80af472ff6250a2e9a35e8d538147
2018-08-24 22:13:57 -07:00
Shane Caraveo
f77c0154cc Bug 1471387 fix calling onBeforeRequest for data/etc urls, r=kmag
MozReview-Commit-ID: 7dKmGLzn99z

--HG--
extra : rebase_source : b146dc67dc8206e89f8003861fbb2f707ed31626
2018-08-06 10:26:39 -03:00
Shane Caraveo
07bf792b4b Bug 1467523 prevent setting host/origin to restricted domains, r=aswan 2018-07-27 09:37:12 -03:00
Neil Deakin
f08f9ce4af Bug 1437638, move frame, browser and editor to be based on XULFrameElement, a new subclass of XULElement, r=paolo,bz 2018-07-05 20:14:18 -04:00
Andrew Swan
a73315b2b7 Bug 1470746 Avoid dispatching delayed webRequest events on closed channels r=kmag
MozReview-Commit-ID: 1ScsJ1URWG6

--HG--
extra : rebase_source : 88deb7692dca6e1b333c48920cfc648c8b60a73c
2018-06-25 15:15:04 -07:00
Shane Caraveo
6abdee219b Bug 1468830 ignore exceptions when retreiving response headers, r=rpl
MozReview-Commit-ID: Dw4X1q15NHv

--HG--
extra : rebase_source : 155d8afd083f250d91e77f738ce425b7c2e2b06b
2018-06-14 12:42:52 -07:00
Shane Caraveo
0904a20056 Bug 1464481 - fix and test crash when getting registered channelwrapper, r=kmag
MozReview-Commit-ID: LEGojHEb742

--HG--
extra : rebase_source : 7018cfef6b7415ea275dc2c3e414586396a9e2be
2018-05-25 16:41:19 -04:00
Shane Caraveo
77dd2c9a51 Bug 1322748 add securityInfo to webRequest listeners, r=keeler,rpl
MozReview-Commit-ID: Hen1tl1RWTC

--HG--
extra : rebase_source : e5dae021438ece0477d89e1d4e91eaaf2ebfd06e
2018-05-23 14:36:19 -04:00
Kris Maglione
bf4d9f1be5 Bug 1456035: Part 5 - Convert manual QueryInterface to ChromeUtils.generateQI. r=mccr8
Manually-implemented QueryInterface functions don't benefit from the
MozQueryInterface optimizaions, and a lot of them are in hot code, and
implement a large number of interfaces.

MozReview-Commit-ID: 8OzglraowZt

--HG--
extra : rebase_source : 5fff3d9973a0ea976096339a63ce9ff628b68441
2018-04-23 12:58:34 -07:00
Kris Maglione
a259026c9d Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY

--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b
2018-04-22 20:55:06 -07:00
Andrew Swan
d7b8093878 Bug 1447551 Part 2: Convert webRequest to persistent events r=mixedpuppy,kmag
MozReview-Commit-ID: ANprpK8Kw5Q

--HG--
extra : rebase_source : 52a8c463f3b05d67ecaf13339b88e7bf59d32db1
extra : source : cbae9dd052934b6292f8e8675eb6cf7cde78333d
2018-04-20 11:41:30 -07:00
Kris Maglione
a7b308c3a2 Bug 1456686: Part 1 - Fix unused and shadowed explicit imports. r=standard8
These issues were previously ignored due to the nature of our global import
rules. They need to be fixed before that rule can be updated.

MozReview-Commit-ID: DCChktTc5TW

--HG--
extra : rebase_source : cffb1c9762191c579d1397c8169e6e7635d229da
extra : histedit_source : dea59ddd2daaae52069c5faceae9149a4f08dd73
2018-04-24 20:18:09 -07:00
Gurzau Raul
52bd18b762 Backed out 2 changesets (bug 1447551) for failing on xpcshell/test_ext_webRequest_startup.js
Backed out changeset cbae9dd05293 (bug 1447551)
Backed out changeset 50a1ddd35664 (bug 1447551)

--HG--
extra : rebase_source : 08130feed5ad2037a3117a5b1c7e6c59501f096f
2018-04-25 12:49:05 +03:00
Andrew Swan
4ad9f49ebe Bug 1447551 Part 2: Convert webRequest to persistent events r=mixedpuppy,kmag
MozReview-Commit-ID: ANprpK8Kw5Q

--HG--
extra : rebase_source : fb3283c36cd392dbb1713e856204226df840930d
2018-04-20 11:41:30 -07:00
Boris Zbarsky
77f8167eb3 Bug 1452185 part 2. Remove nsIDOMXULElement use in JS. r=qdot
MozReview-Commit-ID: 2JIybnXaudR
2018-04-09 16:30:32 -04:00
Kris Maglione
202290f6bb Bug 1451215: Run codespell on code. r=aswan
MozReview-Commit-ID: HIilZTKcQUY

--HG--
extra : rebase_source : 48ba4b4ac06f6d146ce81050da6c60b6f7c3fbfc
extra : amend_source : cba3e4c100a57889851eaaffff3696d1285655ea
2018-04-03 22:22:07 -07:00
Shane Caraveo
b0897b3378 Bug 1448599 - fix WebRequest events for redirected channels when onBeforeRedirect is not used, r=kmag
If any WebRequest listener *other* than onBeforeRedirect was used, and a channel was redirected,
the ChannelWrapper was not updated with the redirected channel.  This broke most listeners for
redirected channels and specifically an extension would never see events for the new channel.

MozReview-Commit-ID: BwXToTD5LEu

--HG--
extra : rebase_source : 866a7ee8e1f34b9710e28cfe21c13a848e08c0b5
2018-04-02 21:12:07 -05:00
Kris Maglione
b8ee2d988e Bug 1415644: Create a list of restricted domains. r=aswan,mixedpuppy
MozReview-Commit-ID: A0AkaBG33In

--HG--
extra : rebase_source : 9f7cfe657835e0ea3cb591a2e1aa636ed92eb004
2018-03-03 16:28:18 -08:00
Christoph Kerschbaumer
a6c1ffb498 Bug 1434357: Exempt Web Extensions from insecure redirects to data: URIs. r=kmag,mayhemer 2018-02-18 19:52:52 +01:00
Andrew McCreight
5dec0e0beb Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG

--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
2018-02-06 09:36:57 -08:00
Florian Quèze
2b1c8dccb6 Bug 1339461 - script-generated patch to convert foo.indexOf(...) == -1 to foo.includes(), r=Mossop. 2018-02-01 20:45:22 +01:00
Kris Maglione
918ed6c474 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
2018-01-29 15:20:18 -08:00
Cosmin Sabou
9a65a40178 Backed out 3 changesets (bug 1431533) for Android mochitest failures on testEventDispatcher on a CLOSED TREE
Backed out changeset a1eca62826a1 (bug 1431533)
Backed out changeset 34c999fa006b (bug 1431533)
Backed out changeset e2674287e57f (bug 1431533)
2018-01-30 07:17:48 +02:00
Kris Maglione
6476f95b13 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
2018-01-29 15:20:18 -08:00
Brindusan Cristian
af8879d1eb Backed out 2 changesets (bug 1431533) for ESlint failures on a CLOSED TREE
Backed out changeset 6e56f4c8843e (bug 1431533)
Backed out changeset 12fc4dee861c (bug 1431533)
2018-01-30 02:32:43 +02:00
Kris Maglione
c276bb9375 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : rebase_source : c004a023389f1f6bf3d2f3efe93c13d423b23ccd
2018-01-29 15:20:18 -08:00
Luca Greco
ce3db38de1 Bug 1428094 - Exception raised from a webRequest blocking listener should report the original error message and filename. r=mixedpuppy
MozReview-Commit-ID: KiCg6dKaVd5

--HG--
extra : rebase_source : fc98846dc960fc148718299e9750196018342565
2017-12-07 21:19:03 +01:00
Andreea Pavel
5ba2665757 Merge inbound to mozilla-central r=merge a=merge 2017-12-09 22:21:17 +02:00
Kris Maglione
4a4c4fdfd4 Bug 1421459: Update to ESLint 4 "indent" rule. r=aswan
MozReview-Commit-ID: LxLDWlsIlSk

--HG--
extra : rebase_source : 5762bdf08ff6c09c1b29f87366bddb552e4c74b2
extra : amend_source : 922a0c03722bd5a81daace7f0289ec3228191cfb
2017-11-28 14:13:59 -08:00
Shane Caraveo
76ee06b331 Bug 1149250 add support for https upgrades from webextensions, r=bz,mayhemer,rpl
MozReview-Commit-ID: ChIs2Q6bgEn

--HG--
extra : rebase_source : 942d6ee111df39fdd19d1d035e8eefa9280430f3
2017-12-08 12:12:37 -08:00
Peter Snyder
28001d0dce Bug 1377689 - merge identical headers in set{Request,Response}Header, r=bz,mixedpuppy
MozReview-Commit-ID: Kpli9YzEvlt

--HG--
extra : rebase_source : 717c44a3b4b55f3ff0fa40ddb4778bca5265b8d4
2017-12-04 22:48:54 -06:00
Kris Maglione
f0b1b98a83 Bug 1405286: Part 3 - Test that filterResponseData from cached onHeadersReceived doesn't crash. r=mixedpuppy
It currently isn't possible to suspend a channel from onHeadersReceived for a
cached response. And since it's not possible to add a new stream filter after
a response has started, adding a stream filter at that point will crash if the
channel is still registered.

This test is a basic sanity check for that scenario.

MozReview-Commit-ID: ALYUtxX7mci

--HG--
extra : rebase_source : 120889fd8f9edd097a7dae807b54eb3fd283f0f6
2017-10-14 19:25:35 -07:00
Shane Caraveo
3a90ea2602 Bug 1305237 Expose frameAncestors to webextensions, r=bz,kmag
MozReview-Commit-ID: 64lIMu6neaD

--HG--
extra : rebase_source : 36fef9a014a7f4bb2db66fb8736de06298008e36
2017-10-10 09:54:22 -07:00
Wes Kocher
7c7aca4ea6 Backed out 2 changesets (bug 1305237) for crashtest failures in 403574-1.xhtml and 1282985-1.svg a=backout
Backed out changeset 96b5d596cc27 (bug 1305237)
Backed out changeset 5fe72402746f (bug 1305237)

MozReview-Commit-ID: CjCWY73Hps1

--HG--
extra : rebase_source : 7a9f0893dabdb0cb6ea79cc9cb7169ceed14616f
2017-10-02 16:41:56 -07:00
Shane Caraveo
359754d5e7 Bug 1305237 Expose frameAncestors to webextensions, r=bz,kmag
MozReview-Commit-ID: 8gvEiqJEsP3

--HG--
extra : rebase_source : db5476ae895737b89df125c83468ea2e477e9af4
2017-10-02 15:11:54 -07:00
Wes Kocher
6b7e085c86 Backed out 2 changesets (bug 1305237) for bc failures in browser_WebRequest_ancestors.js a=backout
Backed out changeset 163a2b0bb0a0 (bug 1305237)
Backed out changeset e05bab140564 (bug 1305237)

MozReview-Commit-ID: GLlbWYZqyVS
2017-10-02 13:35:03 -07:00
Shane Caraveo
0d539872f7 Bug 1305237 Expose frameAncestors to webextensions, r=bz,kmag
MozReview-Commit-ID: Dcf2AaUqBsb

--HG--
extra : rebase_source : 94df893dfffe344534b6209266c4dfee124cc2af
2017-10-02 11:06:31 -07:00
Wes Kocher
1674eb3e4f Merge inbound to m-c a=merge
MozReview-Commit-ID: 7zOjePOWzOM
2017-09-28 16:56:44 -07:00
Ryan VanderMeulen
2ccfaf0697 Backed out changesets d0d30a90efa1 and fd1d81b93380 (bug 1305237) for causing bug 1403932. 2017-09-28 17:55:43 -04:00
Shane Caraveo
088c63f6e5 Bug 1305237 Expose frameAncestors to webextensions, r=bz,kmag
MozReview-Commit-ID: HpneTIKPoS1

--HG--
extra : rebase_source : d4c7e9146b4156f7e429e6427628bbf7cd25cbe7
2017-09-27 07:58:17 -07:00
Shane Caraveo
86d45aba67 Bug 1401350 fix proxy auth for system requests, r=kmag
MozReview-Commit-ID: CAh89djQobI

--HG--
extra : rebase_source : c85ff5148d4ac1df4e21622d2d615040ba9e09d7
2017-09-25 15:14:09 -07:00
Kris Maglione
c6acdfdad4 Bug 1402944: Part 10 - Minor runChannelListener cleanups/optimizaitons. r=mixedpuppy
Moving the event type lists to constants avoids array construction overhead
for each event, and allows us to use the much faster Set.has rather than
Array.includes.

Using Object.create to add the base request info to the listener-specific info
allows us to avoid object copy overhead.

Switching to a .forEach() loop lets us avoid creating expensive live Map
iterator objects, and also GC pressure caused by the huge number of iterator
result objects and intermediate array objects created by for-of-entries().
It's otherwise just as fast as for-of in Ion.

MozReview-Commit-ID: 53Fw1tJbuMY

--HG--
extra : rebase_source : 7fd7095239fec790347d3febb8bf9af17fffc1af
2017-09-25 14:01:12 -07:00
Kris Maglione
ee47ab1f43 Bug 1402944: Part 9 - Optimize request/response header handling. r=mixedpuppy,ehsan
We don't use the initial Map returned by ChannelWrapper as a map, so there's no
need for the overhead involved in creating it. We also don't need the header map
generated by HeaderChanger unless headers are actually being modified, which
for many listeners they never are, so there's no need for the map creation and
string lower-casing overhead prior to modification time.

MozReview-Commit-ID: K2uK93Oo542

--HG--
extra : rebase_source : f50574fb0eb32878aee3f68b3a73d46ba53987e5
2017-09-23 16:25:19 -07:00
Kris Maglione
30a2ef9ec1 Bug 1402944: Part 7 - Move traceable channel registration to ChannelWrapper. r=mixedpuppy,ehsan
MozReview-Commit-ID: 6hGmh4VpJMQ

--HG--
extra : rebase_source : 082f3cb19ec957b81536b67a56969ba714e81e79
2017-09-27 18:15:39 -07:00
Kris Maglione
89ae1721a0 Bug 1402944: Part 5 - Move request filtering and permission matching into ChannelWrapper. r=mixedpuppy,ehsan
This allows us to reuse the same URLInfo objects for each permission or
extension that we match, and also avoids a lot of XPConnect overhead we wind
up incurring when we access URI objects from the JS side.

MozReview-Commit-ID: GqgVRjQ3wYQ

--HG--
extra : rebase_source : 71c19fd8b432c16a3f13f7d0bd0424064f3e5661
2017-09-27 18:15:12 -07:00