Commit Graph

703 Commits

Author SHA1 Message Date
Andrea Marchesini
d1e5833a37 Bug 1480780 - Merge the privacy.3rdpartystorage.enabled pref with the network.cookie.cookieBehavior pref; r=ehsan
This patch introduces a new cookie behavior policy called
BEHAVIOR_REJECT_TRACKER.  It also makes it possible to override that
behavior with cookie permissions similar to other cookie behaviors.
2018-08-13 16:01:16 -04:00
Junior Hsu
6fcddbf2de Bug 1481609 - Remove MOZ_SQLITE_COOKIES_OLD_SCHEMA telemetry probe r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D2896

--HG--
extra : moz-landing-system : lando
2018-08-08 16:43:09 +00:00
Masatoshi Kimura
3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Andrea Marchesini
5991b3ebdd Bug 1457170 - Get rid of nsICookieService::ACCEPT_FOR_N_DAYS, r=valentin 2018-08-01 14:41:21 +02:00
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
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
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
Rob Wu
d987da8b60 Bug 1351663 - Ensure that OriginAttributes is initialized when nsCookieService::Add receives a SameSite parameter r=valentin
InitializeOriginAttributes takes aArgc and only initializes the
parameter when aArgc is 1. nsCookieService::Add takes another optional
parameter, namely aSameSite. If a caller sets this SameSite flag, then
InitializeOriginAttributes would skip the initialization of the
OriginAttributes.

This was caught by a private browsing test in
toolkit/components/extensions/test/mochitest/test_ext_cookies.html
(after I added support for SameSite flag in the extension API)

MozReview-Commit-ID: HLfte7x1X7T

--HG--
extra : rebase_source : 1feb84ceca157d8c5ec8575c6336cc606c3504fe
2018-06-09 01:21:02 +02:00
Rob Wu
a1cd43731e Bug 1351663 - Skip "optimization" if SameSite flag changes r=valentin
After writing a unit test I discovered that updating a cookie's samesite
flag did not work. This is caused by an "optimization" that avoids
modifying a cookie if any of the cookie attributes were not changed.
This check did not account for the SameSite flag, until now.

A unit test for this will be added in a later commit, at
toolkit/components/extensions/test/xpcshell/test_ext_cookies_samesite.js

MozReview-Commit-ID: ChiwwqqOE57

--HG--
extra : rebase_source : f6bd9bd650f6db50a0726451cd781ca7984962a1
2018-06-09 00:23:45 +02:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Andrea Marchesini
99fa4c908a Bug 1470578 - Rename the anti-tracking pref, r=francois 2018-06-25 22:46:13 +02:00
Andrea Marchesini
5b9437cad2 Bug 1461921 - Block storage access for third-parties on the tracking protection list - part 5 - Cookies, r=ehsan 2018-06-20 13:38:22 -04:00
Andi-Bogdan Postelnicu
dcb297f5a0 Bug 1453795 - Netwerk/Coockies - Initialize member fields in classes/ structures. r=josh 2018-06-13 23:52:59 +03:00
Andrea Marchesini
1273dc5391 Bug 1446933 - Remove 'using namespace mozilla::net' from BackgroundUtils.h, r=qdot 2018-05-30 21:21:17 +02:00
Nicholas Hurley
e648506f89 Bug 1460251 - Up cookie limit to 180 per host and expose prefs. r=mcmanus
MozReview-Commit-ID: 1zFMQ4pbntp

--HG--
extra : rebase_source : 3a0537b63bedaa50f8c59985f24ff9f718cd2814
2018-05-08 04:45:20 -07:00
Mark Banner
9c03ace970 Bug 1458235 - Fix various cases where Assert.ok or Assert.equal have been called wrongly. r=Gijs
MozReview-Commit-ID: Br3lKpKNVQJ

--HG--
extra : rebase_source : 972c69ecf63bb522b0f368e3c388f4eff558bbe3
2018-05-01 22:15:43 +01:00
Andi-Bogdan Postelnicu
3f2298c2f6 Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin
MozReview-Commit-ID: 666LNaHyiuQ

--HG--
extra : rebase_source : f3a24e0342d8dcdf9020dd473bc6b1045cbc533b
2018-04-30 19:46:04 +03:00
Valentin Gosu
f127ad2cdb Bug 1454100 - Add some telemetry for time spent moving cookies r=Ehsan,francois,mayhemer
MozReview-Commit-ID: 1pAiKaSok3J

--HG--
extra : rebase_source : ac0685003b643dc2ed9b55bfad676dfdddd06e81
2018-04-26 16:56:40 +02:00
Valentin Gosu
d47341a80e Bug 1454100 - Move cookies around every X seconds r=Ehsan,mayhemer
MozReview-Commit-ID: Y1zUvbDgDX

--HG--
extra : rebase_source : e43b03369250dab027287316f778e75ef81e6879
2018-04-26 16:39:13 +02:00
Cosmin Sabou
4595d43d3a Merge inbound to mozilla-central. a=merge
--HG--
rename : browser/modules/offlineAppCache.jsm => toolkit/modules/offlineAppCache.jsm
2018-04-20 01:29:10 +03:00
Christoph Kerschbaumer
cf3858588b Bug 1454914: Exempt web-extensions from same-site cookie policy. r=valentin,kmag 2018-04-19 20:00:37 +02:00
Valentin Gosu
2d5b10a0b5 Bug 1450199 - Cookie is not synced across tabs r=Ehsan
This patch reverts parts of changeset e87e706def11 (bug 1425031).
The problem in bug 1425031 was that when the content process set a cookie
a notification was sent to the parent process. This notification was then
forwarded to all the content processes, including the one it originated from.
The solution was to not forward cookies that originated from a content
process, but this causes the current bug.
The correct fix is to forward the cookie changes to all content processes
except the one they originated from.
The test for bug 1425031 remains, and should keep passing.


MozReview-Commit-ID: 1P6JwHQDy93

--HG--
extra : rebase_source : 85845c93059004836e14d5a46f2df881237fad6e
2018-04-19 13:18:50 +02:00
shindli
805cb19c1d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-17 01:45:58 +03:00
Christoph Kerschbaumer
5f9d175cdf Bug 1454242: Setting samesite cookie should not rely on NS_IsSameSiteForeign. r=valentin 2018-04-16 07:18:21 +02:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Christoph Kerschbaumer
dadd18d654 Bug 1452496: Discard same-site cookie in cross site context. r=valentin 2018-04-12 12:52:51 +02:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Gurzau Raul
719a001ee1 Backed out 2 changesets (bug 1452496) for bustage on build/src/netwerk/test/TestNamedPipeService.cpp on a CLOSED TREE
Backed out changeset 071ecf5e3680 (bug 1452496)
Backed out changeset 8bf36c469e22 (bug 1452496)
2018-04-10 19:22:01 +03:00
Christoph Kerschbaumer
aaaf3a0193 Bug 1452496: Discard same-site cookie in cross site context. r=dveditz 2018-04-10 17:17:49 +02:00
Francois Marier
8ac645b0cd Bug 1452699 - Add a temporary pref to disable same-site cookies. r=ckerschb,valentin
MozReview-Commit-ID: LRnaSmdSgVW

--HG--
extra : rebase_source : 9dd301f4d49b0fe6f81531d81bac2466032cc3a3
2018-04-13 18:52:28 -07:00
Christoph Kerschbaumer
b844c33ae2 Bug 1286861: Update CookieService to enforce same site cookies. r=valentin 2018-04-08 19:52:05 +02:00
Francois Marier
6ed7327a36 Bug 1430803 - Ignore SameSite cookie attribute when value is empty or unrecognised. r=valentin
Make the parsing the the attribute spec-compliant:
https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-02#section-5.3.7

MozReview-Commit-ID: 8YpkZvgryJb

--HG--
extra : rebase_source : 52140ffdcd50cb7a90c3824711d3d63c051eac54
2018-04-05 17:09:13 -07:00
Henri Sivonen
a6b323b14d Bug 1448297 - Assume contiguous XPCOM strings in nsCookie.cpp. r=Ehsan
MozReview-Commit-ID: 8aOh13vz6lM

--HG--
extra : rebase_source : bfb7160ff30ed3b29cae3d61bd7ed656aa4dc92f
2018-03-23 14:16:23 +02:00
Kirk Steuber
42a3fa21d7 Bug 1429169 - Facilitate testing of cookie-related enterprise policy by always firing the cookie-db-read event r=jimm
There seems to be no reason to conditionally fire the cookie-db-read event. Currently it is not fired if no cookies were read. There seems to be only one other consumer of this event (a test) which should work fine if the event were fired every time. This change would eliminate a particularly ugly workaround in cookie-related policy testing.

MozReview-Commit-ID: FbD1cvsBZBO

--HG--
extra : rebase_source : 6611debb3567310c61e5a5dc9cedadeae888cfe5
2018-03-20 14:56:02 -07:00
Andreea Pavel
f08ea922ba Backed out 4 changesets (bug 1429169) for failing browser chrome at browser/components/enterprisepolicies/tests/browser/browser_policy_cookie_settings.js on a CLOSED TREE
Backed out changeset a49df97d2ad9 (bug 1429169)
Backed out changeset 437f677d3808 (bug 1429169)
Backed out changeset 2f744fd3d77c (bug 1429169)
Backed out changeset dd305f45f746 (bug 1429169)
2018-03-30 03:35:01 +03:00
Kirk Steuber
544cf05b75 Bug 1429169 - Facilitate testing of cookie-related enterprise policy by always firing the cookie-db-read event r=jimm
There seems to be no reason to conditionally fire the cookie-db-read event. Currently it is not fired if no cookies were read. There seems to be only one other consumer of this event (a test) which should work fine if the event were fired every time. This change would eliminate a particularly ugly workaround in cookie-related policy testing.

MozReview-Commit-ID: FbD1cvsBZBO

--HG--
extra : rebase_source : ff5049f36c7f3df3ad182ebb1a6ccc5db1032e23
2018-03-20 14:56:02 -07:00
Tom Ritter
9c3d32ebab Bug 1444490 Declare classses (and one method) in network/ final to reduce virtual function calls r=nwgh
MozReview-Commit-ID: 4oaazbPhpbc

--HG--
extra : rebase_source : 7c01066363605c64fc76332686b2c4d9c2af6518
2018-03-09 08:37:18 -06: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
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
Amy Chung
a0e6c2af00 Bug 1425031 - Don't broadcast to content processes cookie updates that initiated in content processes. r=jdm 2018-01-12 12:53:00 -05: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
Brindusan Cristian
dbf026ac00 Backed out changeset 1a64ce266ba5 (bug 1425031) for mochitest failures on test_1425031.html on a CLOSED TREE 2018-01-30 00:20:25 +02:00
Amy Chung
6c7cd2d790 Bug 1425031 - Don't broadcast to content processes cookie updates that initiated in content processes. r=jdm 2018-01-12 12:53:00 -05:00
Emilio Cobos Álvarez
671dccb84a Bug 1428589: Correctly handle expiring all the cookies in an entry. r=jdm
MozReview-Commit-ID: 6qaC9yclvP2
2018-01-11 06:07:38 +01:00