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

5405 Коммитов

Автор SHA1 Сообщение Дата
Cosmin Sabou bfc1e72e01 Backed out changeset 9035ff3757ac (bug 1415980) at request from froydnj on the suspicion that it's going to break MSVC builds when it gets merged to central. 2018-07-31 01:19:49 +03:00
Nathan Froyd 017b016850 Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr.  But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us).  Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle
   that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the place.
Additionally, if moving entries is implemented via memcpy (which is
quite common), PLDHashTable copying around bits *again* is inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement).  In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

   This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead
   of copy constructors.  Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-07-30 17:15:11 -04:00
Makoto Kato e788340ea4 Bug 1462019 - Part 1. Support abstract socket address on nsIServerSocket and nsISocketTransportService. r=mayhemer 2018-07-26 18:06:42 +09:00
Jan de Mooij 80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Dipen Patel 7641beb1f8 Bug 1475647 - Remove nsISSLStatusProvider interface. r=baku,Gijs,jchen,jryans,keeler,mcmanus
- Access nsISSLStatus directly as a member of nsITransportSecurityInfo
and nsISecureBrowserUI.  This is part of a larger effort to consolidate
nsISSLStatus and nsITransportSecurityInfo.
- The TabParent implementation of GetSecInfo will always return null.
- Removed unnecessary QueryInterface calls
- Style adherence updates

MozReview-Commit-ID: Dzy6t2zYljL

--HG--
extra : rebase_source : 9c400bed3c9d29a186fc987c9bd0ffceb37bfd94
2018-07-13 11:48:55 -07:00
Andreea Pavel d0f6470c17 Backed out changeset c235d6f86c22 (bug 1475647) for breaking firefox ui at testing/firefox-ui/tests/puppeteer/test_tabbar.py on a CLOSED TREE 2018-07-25 19:34:58 +03:00
Dipen Patel 8670057dd5 Bug 1475647 - Remove nsISSLStatusProvider interface. r=baku,Gijs,jchen,jryans,keeler,mcmanus
- Access nsISSLStatus directly as a member of nsITransportSecurityInfo
and nsISecureBrowserUI.  This is part of a larger effort to consolidate
nsISSLStatus and nsITransportSecurityInfo.
- The TabParent implementation of GetSecInfo will always return null.
- Removed unnecessary QueryInterface calls
- Style adherence updates

MozReview-Commit-ID: Dzy6t2zYljL

--HG--
extra : rebase_source : fbfbcf7608efbfb35c9be4018ff0f4e70b2768d2
2018-07-13 11:48:55 -07:00
Andrea Marchesini f6768a8ff6 Bug 1228139 - Remove nsIURIWithPrincipal - part 3 - main part, r=bz
nsIURIWithPrincipal is currently used to retrieve the nsIPrincipal from a
BlobURL object.  BlobURLProtocolHandler has a hashtable containing, for each
blobURL, a BlobImpl and its nsIPrincipal. This patch introduces
BlobURLProtocolHandler::GetBlobURLPrincipal() that retrieves the nsIPrincipal
from this hashtable.

This patch fixes also a bug in how the revocation of blobURLs is broadcasted to
other processes. This should be done immediately because each process creates
its own timer to revoke them after 5 seconds.

An important change is related to NS_SecurityCompareURIs() where, if 1 (or
both) of the 2 URIs to compare, is a revoked BlobURL, we will QI its URL to
nsIStandardURL and fail out at that point.
2018-07-24 22:15:57 +02:00
Byron Campen [:bwc] 721e2034d6 Bug 1448846: Ignore POLLERR on UDP sockets. r=dragana
MozReview-Commit-ID: 1FxhHbH8Neg

--HG--
extra : rebase_source : e50fbde7c3d52141dfb29a9805a00cec9be633ca
2018-07-02 11:52:02 -05:00
Valentin Gosu 7937c7c4cc Bug 1476928 - Remove nsIURI.CloneIgnoringRef and nsIURI.CloneWithNewRef r=JuniorHsu
The patch introduces NS_GetURIWithNewRef and NS_GetURIWithNewRef which perform the same function.

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

--HG--
extra : moz-landing-system : lando
2018-07-23 11:28:47 +00:00
Cosmin Sabou b5b2c78493 Merge mozilla-central to autoland. a=merge 2018-07-21 00:48:28 +03:00
Michael Kaply 96e550bb6b Bug 1477076 - Add POST support to addEngineWithDetails. r=florian
Differential Revision: https://phabricator.services.mozilla.com/D2254

--HG--
extra : moz-landing-system : lando
2018-07-20 18:40:00 +00:00
Christoph Kerschbaumer adac33969a Bug 1304645: Pass individual CSP errors as categories to web console error messages. r=baku 2018-07-20 19:57:21 +02:00
Andreea Pavel b5a482c899 Backed out 3 changesets (bug 1475073, bug 1304645, bug 1474537) for failing wpt and mochitest on a CLOSED TREE
Backed out changeset 4fbeea69b10d (bug 1475073)
Backed out changeset d3ac68d9ead9 (bug 1304645)
Backed out changeset 113b601a3b59 (bug 1474537)
2018-07-20 14:00:09 +03:00
Christoph Kerschbaumer 1de27c0297 Bug 1304645: Pass individual CSP errors as categories to web console error messages. r=baku 2018-07-20 10:42:46 +02:00
Andrea Marchesini 3003d70341 Bug 1476324 - Storage activation via window.open(URL) applies across top-level domains - part 3 - annotate top-level channels, r=ehsan 2018-07-18 15:44:55 +02:00
Eric Rahm a064f414e3 Bug 1448034 - Part 2: Lazily create ProxyResolution thread. r=bagder
This delays the creation of the PAC thread until we need to dispatch a
runnable to it.

--HG--
extra : rebase_source : 8897d3d8724f082ad33027635795512ccb4a17eb
extra : source : 068bb4e7b8494d8ae82dfd1b1f22680234bf038c
2018-07-16 16:05:39 -07:00
Eric Rahm 8c04ce5531 Bug 1448034 - Part 1: Get rid of SysProxySetting threads. r=bagder
--HG--
extra : rebase_source : a9e99b0b4d8f6d3dff71547a15fb520ea2a37424
extra : source : eb542860b989d4f6ea1ffcb29ff843b857d78482
2018-07-10 18:02:21 -07:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Ehsan Akhgari 51cc2694b0 Bug 1475697 - Part 1: Refactor the current way that Necko notifies DOM about the existence of blocked content; r=baku 2018-07-17 06:11:00 +03:00
Coroiu Cristina 98a7487673 Backed out 2 changesets (bug 1448034) for GTest failures
Backed out changeset 068bb4e7b849 (bug 1448034)
Backed out changeset eb542860b989 (bug 1448034)

--HG--
extra : rebase_source : b133c3bd4f769c25e49c7de59edd57245649ee72
2018-07-17 08:51:20 +03:00
Kris Maglione 152af93226 Bug 1473631: Part 3 - Replace pref observers with callbacks in IOService. r=njn
MozReview-Commit-ID: BBNUysmOuZV

--HG--
extra : rebase_source : 204d4444deed66a34e029e794b4721cf93b33d72
2018-07-05 13:25:03 -07:00
Kris Maglione f1400534b8 Bug 1473631: Part 2 - Replace pref observers with callbacks in STS. r=njn
MozReview-Commit-ID: BUiQqMA8eVs

--HG--
extra : rebase_source : 0b9571fb151220db1852bebd8149aaaf3e987ddb
2018-07-05 13:15:52 -07:00
Kris Maglione 0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Eric Rahm 3eed00fc26 Bug 1448034 - Part 2: Lazily create ProxyResolution thread. r=bagder
This delays the creation of the PAC thread until we need to dispatch a
runnable to it.

--HG--
extra : rebase_source : dc4bffc041e237dddac7ae36a3a3b2f9c5de3421
2018-07-16 16:05:39 -07:00
Eric Rahm dba1589cc2 Bug 1448034 - Part 1: Get rid of SysProxySetting threads. r=bagder
--HG--
extra : rebase_source : 4d8de477d605801ae19579eac1bf2b647cf444c9
2018-07-10 18:02:21 -07:00
Polly Shaw 226a5beff6 Bug 356831 - Proxy autodiscovery doesn't check DHCP (option 252) r=bagder,valentin
This patch addresses an issue with Firefox's proxy detection on networks which
do not have their a proxy auto-configuration (PAC) file hosted at
http://wpad/wpad.dat, and instead make use of DHCP option 252 for broadcasting
the address of the PAC file. See https://findproxyforurl.com/wpad-introduction/
for an introduction to the protocol.

Prior to this patch, proxy auto-detect missed out the DHCP query stage, and just
 looked for a PAC file at http://wpad/wpad.dat


This patch only addresses the issue for Firefox on Windows, although it defines a
DHCP client interface which could be implemented on other platforms.

The high-level components of this patch are:
 * nsIDHCPClient.idl - this is an interface which has been defined for querying the
   DHCP server.
 * nsPACMan.cpp - where previously when the PAC URL was simply set to a constant of
   http://wpad/wpad.dat, it now dispatches an asynchronous command to the proxy
   thread. The class ExecutePACThreadAction has been augmented to include an
   instruction to 'ConfigureWPAD' (Configure Web-proxy auto-detect), and a new class,
   'ConfigureWPADComplete' has been created to relay the result (the URL of the PAC
   file) back to the nsPACMan object.
 * nsProtocolProxyService.cpp
   Minor changes to reflect the fact that the PAC URL not being set does not always
   mean there is no PAC to be used; instead it could be in the process of being
   detected.
 * TestPACMan.cpp
   This is a new file, and tests only the DHCP auto-detect functionality.
   Some tests use multiple threads, as they test the non-blocking proxy detection.
 * DHCPUtils.cpp
   A class containing the main logic for querying DHCP.
 * WindowsNetworkFunctionsWrapper.cpp
   A very thin wrapper around the Windows API calls needed by DHCPUtils.
   This class was introduced so it could be mocked out in tests.
 * nsWindowsDHCPClient.cpp
 * An implementation of the interface defined in nsIDHCPClient.idl. Fairly thin:
   most logic is implemented in DHCPUtils.
 * TestDHCPUtils.cpp
   Tests for DHCPUtils and nsWindowsDHCPClient

MozReview-Commit-ID: 4xFQz3tOLEx

--HG--
extra : rebase_source : dfd5c588406a8b0d92f91cc8a0038ca722b7140a
2018-06-07 23:07:28 +01:00
Andrea Marchesini 1498612e1b Bug 1474812 - No needs to store granted storage access in nsILoadInfo and in the inner window, r=ehsan 2018-07-13 12:02:19 +02:00
Andrea Marchesini 0a542c2c05 Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 7 - cookies, r=ehsan 2018-07-10 10:09:59 +02:00
Andrea Marchesini 2227a5e089 Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 3 - using permissions, r=ehsan 2018-07-10 10:09:59 +02:00
Andrea Marchesini ba1f8971c7 Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 2 - storing first user interaction in nsILoadInfo, r=ehsan 2018-07-10 10:09:59 +02:00
Margareta Eliza Balazs c37b51f523 Backed out 9 changesets (bug 1469993) for causing bustage in build/srcdom/base/nsGlobalWindowInner.cpp on a CLOSED TREE
Backed out changeset e89192032fe2 (bug 1469993)
Backed out changeset 4b261595099d (bug 1469993)
Backed out changeset 37182cfe869c (bug 1469993)
Backed out changeset 5b9870995c73 (bug 1469993)
Backed out changeset 55499fcd9738 (bug 1469993)
Backed out changeset 8c1c838d54ba (bug 1469993)
Backed out changeset 12b9c8bfa41f (bug 1469993)
Backed out changeset 04ab7d6c169a (bug 1469993)
Backed out changeset 53885d61244e (bug 1469993)
2018-07-10 11:32:34 +03:00
Andrea Marchesini de64db476d Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 7 - cookies, r=ehsan 2018-07-10 10:09:59 +02:00
Andrea Marchesini f34232490a Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 3 - using permissions, r=ehsan 2018-07-10 10:09:59 +02:00
Andrea Marchesini 637cab9bf6 Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 2 - storing first user interaction in nsILoadInfo, r=ehsan 2018-07-10 10:09:59 +02:00
Francois Marier cae189fda8 Bug 1461534 - Improve logging for the channel classifier. r=dimi
This patch reduces the level of noise in MOZ_LOG messages by:

- splitting log messages into Warning, Info, and Debug levels
- truncating long URIs down to the first 128 bytes
- not mentioning suspended channels on NS_OK results

It also introduces new log messages for the outcome of a
match against the blacklist:

- dropping the channel priority (tracking annotations)
- cancelling the channel (tracking protection)
- no match (i.e. not a tracker)

MozReview-Commit-ID: wSQChJkMKv

--HG--
extra : rebase_source : 620c0b8f7094fa001d2389c99cbee6d547627fd9
2018-07-09 09:42:31 -07:00
Francois Marier c6b7a3206d Bug 1461534 - Enable user/add-on overrides of tracking annotations. r=dimi
MozReview-Commit-ID: GQfIGirbSuW

--HG--
extra : rebase_source : d25ce41b88663e862c8221772d3b3cb670f55f02
2018-07-03 17:32:29 -07:00
Bogdan Tara d628012cab Backed out 2 changesets (bug 1461534) for nsChannelClassifier.cpp related build bustages CLOSED TREE
Backed out changeset 152002e28671 (bug 1461534)
Backed out changeset b4818535bde9 (bug 1461534)
2018-07-09 20:01:05 +03:00
Francois Marier 7bf9a0bdd0 Bug 1461534 - Improve logging for the channel classifier. r=dimi
This patch reduces the level of noise in MOZ_LOG messages by:

- splitting log messages into Warning, Info, and Debug levels
- truncating long URIs down to the first 128 bytes
- not mentioning suspended channels on NS_OK results

It also introduces new log messages for the outcome of a
match against the blacklist:

- dropping the channel priority (tracking annotations)
- cancelling the channel (tracking protection)
- no match (i.e. not a tracker)

MozReview-Commit-ID: wSQChJkMKv

--HG--
extra : rebase_source : ce8229414a3e3f4335af23253a6dc0c55fa9118a
2018-07-09 09:42:31 -07:00
Francois Marier 6de941bdd0 Bug 1461534 - Enable user/add-on overrides of tracking annotations. r=dimi
MozReview-Commit-ID: GQfIGirbSuW

--HG--
extra : rebase_source : d25ce41b88663e862c8221772d3b3cb670f55f02
2018-07-03 17:32:29 -07:00
Tarek Ziadé 8533ddcaac Bug 1472718 - Convert ChromeUtils.requestIOActivity to a Promise - r=baku,valentin
Changes:

- The API now returns a Promise containing a sequence of IOActivityData dictionnaries.
- All the code related to notifications and XPCOM is removed.
- The counters are no longer reset to 0 when the API is called

MozReview-Commit-ID: 7J2EgFqDgf

--HG--
extra : rebase_source : eb7dc3e0921b12bbb3715a90863dc8e2a60c1c09
2018-07-06 13:43:08 +02:00
Margareta Eliza Balazs 4ee26c6e5e Backed out changeset c22aa9571139 (bug 1472718) for failures in browser/browser_test_io_activity.js on a CLOSED TREE 2018-07-06 11:04:39 +03:00
Tarek Ziadé 12c531f562 Bug 1472718 - Convert ChromeUtils.requestIOActivity to a Promise - r=baku,valentin
Changes:

- The API now returns a Promise containing a sequence of IOActivityData dictionnaries.
- All the code related to notifications and XPCOM is removed.
- The counters are no longer reset to 0 when the API is called

MozReview-Commit-ID: 7J2EgFqDgf

--HG--
extra : rebase_source : 4e16640a3f52fd7c042687471153971a66158623
2018-07-06 02:10:33 +02:00
Robert Bartlensky 50df265ee1 Bug 1471943: Remove release call to ensure socket is closed. r=valentin
MozReview-Commit-ID: 8RC4YdaqAdX

--HG--
extra : rebase_source : 029eeaad0a1eea60a9dce56756160a827b522d30
2018-07-02 11:45:39 +01:00
Valentin Gosu e6ea31c9c7 Bug 1471628 - Use singleton for captive portal constructor r=bagder
This is to make sure that the test is using the same Captive Portal Service that nsIOService initializes.

--HG--
extra : rebase_source : 62bd371b8d510f596d3484aec6fad997739ada8b
2018-07-02 15:30:33 +02:00
Valentin Gosu 57418912d1 Bug 1471628 - Add test for Captive Portal Service r=bagder
--HG--
extra : rebase_source : 08c0990f945fe6cdbaf405e257f8c35edd2e191f
2018-07-02 15:26:48 +02:00
Andrea Marchesini a1a6028669 Bug 1470355 - BufferWriter should stop reading data when the wanted amount has been reached, r=michal 2018-07-02 02:00:00 +03:00
Dorel Luca 9a50b6f6de Backed out 2 changesets (bug 1470355) for causing multiple failures
Backed out changeset 50b0bfa64b2c (bug 1470355)
Backed out changeset 198a4644c09a (bug 1470355)

--HG--
extra : amend_source : 10f20801a4e72fec17d53f6428d1c983a908a771
2018-07-02 15:06:11 +03:00
Andrea Marchesini 9b09232ce9 Bug 1470355 - BufferWriter should stop reading data when the wanted amount has been reached, r=michal 2018-07-02 02:00:00 +03:00
Nathan Froyd 9fd8289cf9 Bug 1471435 - part 2 - micro-optimize deferred MaybeOpen calls; r=valentin
We shouldn't need to QueryInterface from nsIFile to nsIFile!
2018-06-27 11:27:33 -04:00