Commit Graph

390 Commits

Author SHA1 Message Date
Andrea Marchesini
5bb6c49ba8 Bug 1535799 - nsIHttpChannel.isTrackingResource should be a method, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D23765

--HG--
extra : moz-landing-system : lando
2019-03-17 06:55:50 +00:00
Andrea Marchesini
a78d942c6b Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 13 - Cookies, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21696

--HG--
extra : moz-landing-system : lando
2019-03-08 09:04:34 +00:00
Ciure Andrei
712dd2bb8c Backed out 16 changesets (bug 1525245) for perma failing test_document_cookie.html CLOSED TREE
Backed out changeset 3fd27215698f (bug 1525245)
Backed out changeset d9a9e8e77873 (bug 1525245)
Backed out changeset 0e6f7be92e3f (bug 1525245)
Backed out changeset 6790802e2fa5 (bug 1525245)
Backed out changeset a5a9e01116ed (bug 1525245)
Backed out changeset 66e19a0c38dd (bug 1525245)
Backed out changeset fb90d51ba853 (bug 1525245)
Backed out changeset 4772db3625b3 (bug 1525245)
Backed out changeset 9affaf0cb998 (bug 1525245)
Backed out changeset a91b7ebe8bdd (bug 1525245)
Backed out changeset c2a13a7480e1 (bug 1525245)
Backed out changeset abe4482fa137 (bug 1525245)
Backed out changeset b3920c0bcf84 (bug 1525245)
Backed out changeset 0821b81f2724 (bug 1525245)
Backed out changeset 70bed2ad7899 (bug 1525245)
Backed out changeset 5f72ba232cc8 (bug 1525245)
2019-03-07 17:54:18 +02:00
Andrea Marchesini
54a53b2d9e Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 13 - Cookies, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21696

--HG--
extra : moz-landing-system : lando
2019-03-07 10:21:50 +00:00
Dorel Luca
ac34e1d973 Backed out 16 changesets (bug 1525245) for Android failures. CLOSED TREE
Backed out changeset 9f8a1b410320 (bug 1525245)
Backed out changeset 0ef284a9a1d5 (bug 1525245)
Backed out changeset 835e5f642a03 (bug 1525245)
Backed out changeset 362f5a8d033c (bug 1525245)
Backed out changeset 9da3ab33cf67 (bug 1525245)
Backed out changeset 6aacd2d6e835 (bug 1525245)
Backed out changeset 8ff9e8f45e02 (bug 1525245)
Backed out changeset 2020227181cc (bug 1525245)
Backed out changeset fc3c64c330b9 (bug 1525245)
Backed out changeset 2762bf88e050 (bug 1525245)
Backed out changeset ffc10fdc50a6 (bug 1525245)
Backed out changeset bb6ade1207d7 (bug 1525245)
Backed out changeset 1875eb5085e4 (bug 1525245)
Backed out changeset 7e4f67a6d6f1 (bug 1525245)
Backed out changeset e671fc9581eb (bug 1525245)
Backed out changeset b89f5def8d0d (bug 1525245)
2019-03-06 21:07:49 +02:00
Andrea Marchesini
89b7c3883a Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 13 - Cookies, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21696

--HG--
extra : moz-landing-system : lando
2019-03-06 17:04:29 +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
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
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
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
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
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
Andrea Marchesini
ae7e7d4c3a Bug 1521051 - Get rid of nsICookiePermission.ACCESS_ALLOW_FIRST_PARTY_ONLY, r=johannh, r=flod 2019-01-23 19:19:19 +01:00
Andrea Marchesini
dc777dc7a6 Bug 1521051 - nsICookiePermission.ACCESS_LIMIT_THIRD_PARTY, r=valentin, r=johannh 2019-01-23 19:19:18 +01:00
Razvan Maries
7ccb4bf803 Backed out 2 changesets (bug 1521051) for xpcshell fails on extensions/cookie/test/unit/test_cookies_thirdparty.js. CLOSED TREE
Backed out changeset 90bb620dd870 (bug 1521051)
Backed out changeset 483fa314e45e (bug 1521051)
2019-01-23 22:09:32 +02:00
Ciure Andrei
a4eeeccf1d Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-01-23 20:55:29 +02:00
Andrea Marchesini
8e0c688733 Bug 1521051 - Get rid of nsICookiePermission.ACCESS_ALLOW_FIRST_PARTY_ONLY, r=johannh, r=flod 2019-01-23 19:19:19 +01:00
Andrea Marchesini
fb5e2a4f57 Bug 1521051 - nsICookiePermission.ACCESS_LIMIT_THIRD_PARTY, r=valentin, r=johannh 2019-01-23 19:19:18 +01:00
Ehsan Akhgari
57a8f5ed79 Bug 1517389 - Ensure that we emit content blocking events when setting cookie headers and reading cookies from the cookies database; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D17203

--HG--
extra : moz-landing-system : lando
2019-01-22 19:46:10 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Ehsan Akhgari
aa81b3cc6c Bug 1510860 - Ensure that the cookie service checks the content blocking allow list even for first-party cookies since that's required when we're blocking all cookies; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D15109
2018-12-21 12:21:28 -05:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Ehsan Akhgari
490e611801 Bug 1508472 - Part 5: Fifth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal. I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 10:30:46 +00:00
Ehsan Akhgari
5a990aab93 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122

--HG--
extra : moz-landing-system : lando
2018-11-20 14:34:49 +00:00
Andreea Pavel
d6d00510a1 Backed out changeset 94efd169438e (bug 1504728) for mochitest AddressSanitizer failures on a CLOSED TREE 2018-11-20 02:12:47 +02:00
Ehsan Akhgari
2517eb0fd0 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122

--HG--
extra : moz-landing-system : lando
2018-11-19 20:31:16 +00:00
Dorel Luca
3a97449464 Backed out changeset dfc775a144ad (bug 1504728) for Brwoser-chrome failure in browser/base/content/test/trackingUI/browser_trackingUI_trackers_subview.js. CLOSED TREE 2018-11-19 18:34:50 +02:00
Ehsan Akhgari
abc8be6d57 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122

--HG--
extra : moz-landing-system : lando
2018-11-19 15:25:33 +00:00
Narcis Beleuzu
c8215609ff Backed out 2 changesets (bug 1504728, bug 1505198) for xpcshell failures on test_WebExtensionContentScript.js. CLOSED TREE
Backed out changeset 26318538f077 (bug 1505198)
Backed out changeset fc39602006be (bug 1504728)
2018-11-16 02:34:15 +02:00
Ehsan Akhgari
7f3a7b13de Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122

--HG--
extra : moz-landing-system : lando
2018-11-14 17:19:25 +00:00
Dorel Luca
2f261feba3 Backed out changeset 365e0d2414bf (bug 1504728) for browser-chrome failures. CLOSED TREE 2018-11-09 18:48:39 +02:00
Ehsan Akhgari
b11a25f3c6 Bug 1504728 - Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin
Differential Revision: https://phabricator.services.mozilla.com/D11122

--HG--
extra : moz-landing-system : lando
2018-11-09 15:36:02 +00:00
Ehsan Akhgari
49523b05c4 Bug 1502240 - Ensure that Content Blocking allow list is applied to all cookie policies r=baku
Unfortunately we can't test BEHAVIOR_REJECT using the AntiTracking framework,
because the AntiTracking callbacks are incompatible with it.  (The tracking
callbacks expect to be able to unblock themselves, but under BEHAVIOR_REJECT,
that can't happen.)

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

--HG--
extra : moz-landing-system : lando
2018-11-02 20:14:57 +00:00
Ciure Andrei
e16ad7a8a8 Backed out changeset 462c7102e2db (bug 1502240) for failures related to nsICookieService CLOSED TREE 2018-11-02 19:24:40 +02:00
Ehsan Akhgari
795d456a70 Bug 1502240 - Ensure that Content Blocking allow list is applied to all cookie policies r=baku
Unfortunately we can't test BEHAVIOR_REJECT using the AntiTracking framework,
because the AntiTracking callbacks are incompatible with it.  (The tracking
callbacks expect to be able to unblock themselves, but under BEHAVIOR_REJECT,
that can't happen.)

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

--HG--
extra : moz-landing-system : lando
2018-11-02 12:55:01 +00:00
Andrea Marchesini
47e5a8b711 Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 4 - remove the deprecated message, r=ehsan 2018-09-24 11:37:57 +02:00
Andrea Marchesini
b958c6f170 Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 3 - nsICookieManager.cookieExists, r=ehsan 2018-09-24 11:37:57 +02:00
Andrea Marchesini
42c515aa1c Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 2 - nsICookieManager.getCookiesFromHost(), r=ehsan 2018-09-24 11:37:57 +02:00
Andrea Marchesini
61a7f9a598 Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 1 - nsICookieManager.add(), r=ehsan 2018-09-24 11:37:56 +02:00
Andrea Marchesini
def259a086 Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 0 - nsICookieManager.remove() should not have optional parameters, r=ehsan 2018-09-24 11:37:56 +02:00
Nathan Froyd
e7b3b3140d 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-09-20 11:20:36 -04:00
Eric Rahm
2fb6934934 Bug 1492204 - Part 3: Remove references to char_iterator. r=froydnj
We can just use 'iterator' now that nsWritingIterator is gone.

--HG--
extra : rebase_source : 3f6fbafc9b57ce89afba581b224b3dc2295fa614
2018-09-18 12:05:23 -07:00
Gerald Squelart
b51e0fd0cc Bug 1489944 - Fixed some std::move warnings - r=froydnj
> dom/media/gmp/CDMStorageIdProvider.cpp(63,10):  warning:
> local variable 'storageId' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClip.cpp(581,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClipChain.cpp(88,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/nsDisplayList.cpp(179,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> gfx/thebes/gfxWindowsPlatform.cpp(454,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Will remove std::move().

> gfx/thebes/gfxFontEntry.cpp(245,20):  warning:
> local variable 'name' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> netwerk/cookie/nsCookieService.cpp(4460,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
GetPathFromURI() result is stored in an nsAutoCString, so it might as well return that type.

> toolkit/components/extensions/WebExtensionPolicy.cpp(462,12):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
> toolkit/components/extensions/WebExtensionPolicy.cpp(475,10):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
`result` may be empty or may be arbitrarily long, so I'll use nsCString inside the function.

> toolkit/xre/CmdLineAndEnvUtils.h(349,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Returning an UniquePtr, will remove std::move().
Also will `return s` instead of `return nullptr` when `(!s)`, to avoid extra construction which could also prevent elision (not entirely sure, but it's at least not worse!); and it's clearer that the two `return`s return the same already-constructed on-stack object.

> tools/profiler/core/shared-libraries-win32.cc(111,10):  warning:
> local variable 'version' will be copied despite being returned by name [-Wreturn-std-move]
nsPrintfCString -> nsCString, will add std::move().

> xpcom/glue/FileUtils.cpp(179,10):  warning:
> local variable 'fullName' will be copied despite being returned by name [-Wreturn-std-move]
> xpcom/glue/FileUtils.cpp(209,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
nsAuto{,C}String -> ns{,C}String, will add std::move().

This allowed removals of 'AllowCompilerWarnings' from layout/painting,
netwerk/cookie, and toolkit/components/extensions.

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

--HG--
extra : moz-landing-system : lando
2018-09-10 15:51:48 +00:00
Ehsan Akhgari
bff765cf05 Bug 1488784 - Part 2: Remove the XPCOM component registration for nsCookiePermission; r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D5038
2018-09-05 11:56:17 -04:00
Kershaw Chang
766fce11a1 Bug 1357676 - Implement batch eviction r=jdm
1. Add network.cookie.QuotaPerHost, which has the default value 150.
2. When the cookies exceed more than 180, evict cookies to 150.
3. The concept of eviction is to sort all cookies by whether the cookie is expired and the cookie's last access time. Then, evict cookies by the given count.
4. Details of evict algorithm:
   4.1 Create a priority queue and push all cookies in it.
   4.2 Use custom comparator to compare the cookie by expiry and last access.
   4.3 Pop 30(180 - 150) cookies from the queue and append them to an output array.

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

--HG--
extra : moz-landing-system : lando
2018-09-03 14:49:58 +00:00
Andrea Marchesini
40a8c122d3 Bug 1487331 - STATE_BLOCKED_TRACKING_COOKIES must tell why cookies are blocked, r=ehsan
Introduce these new blocking state values:

const unsigned long STATE_COOKIES_BLOCKED_BY_PERMISSION = 0x10000000;
const unsigned long STATE_COOKIES_BLOCKED_TRACKER       = 0x20000000;
const unsigned long STATE_COOKIES_BLOCKED_ALL           = 0x40000000;
const unsigned long STATE_COOKIES_BLOCKED_FOREIGN       = 0x80000000;
2018-08-31 11:02:33 +02:00
Andrea Marchesini
1d190ffa57 Bug 1487093 - Call AntiTrackingCommon::NotifyRejection when cookies are rejected because of cookie policies, r=ehsan 2018-08-30 17:44:38 +02:00
Ehsan Akhgari
d4ab894392 Bug 1486926 - Part 1: Make the Disable Protection button in the control centre UI work for the reject foreign cookie behavior; r=baku 2018-08-29 14:26:22 -04:00