Commit Graph

763 Commits

Author SHA1 Message Date
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
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
60238893a6 Bug 1517057 - Part 2: Avoid minting a new codebase principal in the channel-based version of AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor() in the common case to make things faster; r=baku
Depends on D15547

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

--HG--
extra : moz-landing-system : lando
2019-01-02 15:41:59 +00: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
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09: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
Mark Banner
a26105ff45 Bug 1501662 - Add more .eslintrc.js files for test directories (dom, modules, netwerk and parser). r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D9661

--HG--
extra : moz-landing-system : lando
2018-10-24 19:11:17 +00:00
James Lee
322311866d Bug 1423839 - Part 2: Enable ESLint for NetUtil.jsm and netwerk/cookie/test/unit/ (manual changes) r=Standard8,jdm
Depends on D9293.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 23:42:48 +00:00
James Lee
9204c97c31 Bug 1423839 - Part 1: Enable ESLint for NetUtil.jsm and netwerk/cookie/test/unit/ (automatic changes) r=Standard8,jdm
Ran ESLint's automatic '--fix' option on the above files.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 08:34:13 +00:00
Dorel Luca
c366888702 Backed out 2 changesets (bug 1423839) for xpcshell failures on netwerk/test/unit/test_NetUtil.js
Backed out changeset 501fffbf872d (bug 1423839)
Backed out changeset 406ca9722ffa (bug 1423839)
2018-10-23 00:49:18 +03:00
James Lee
3faf6a185f Bug 1423839 - Part 2: Enable ESLint for NetUtil.jsm and netwerk/cookie/test/unit/ (manual changes) r=Standard8,jdm
Depends on D9293.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 19:41:58 +00:00
James Lee
d001a272ab Bug 1423839 - Part 1: Enable ESLint for NetUtil.jsm and netwerk/cookie/test/unit/ (automatic changes) r=Standard8,jdm
Ran ESLint's automatic '--fix' option on the above files.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 19:41:33 +00:00
Nicholas Nethercote
8478f8d66e Bug 1489047 - Change almost all DOMString occurrences in XPIDL files to AString. r=nika
Because they have almost identical semantics.

--HG--
extra : rebase_source : ea9074bcac2a1d190b88a5d1afc15997593659b7
2018-09-06 18:02:43 +10:00
Nicholas Hurley
c5f9b83562 Bug 1440462 - Send httponly cookie names to content processes. r=jdm
Previously, if script tried to set a cookie that matched a cookie we had
received via Set-Cookie that was labeled httponly, script would think
that cookie was properly set (even though it wasn't). This ensures that
script knows just enough about httponly cookies to prevent this
inconsistent view while avoiding leakages of the potentially-sensitive
cookie values.

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

--HG--
extra : moz-landing-system : lando
2018-09-26 15:39:33 +00:00
Andrea Marchesini
c00db8b8f6 Bug 1493587 - Remove deprecated attributes in nsICookie, r=ehsan 2018-09-25 07:01:25 +02: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
Diego Pino Garcia
0f11b0a3d3 Bug 1483986 - Remove sync versions of document.cookie getter/setter; r=ehsan,froydnj 2018-09-21 23:01:32 -04:00
Andrea Marchesini
125aa75f3b Bug 1492769 - Fix a cookie policy range check in CookieServiceChild, r=ehsan 2018-09-21 07:31:41 +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
Kershaw Chang
cca49915e3 Bug 1487085 - Allow to set cookie with a null channel in child process, r=valentin
In the current implmentation of CookieServiceChild::SetCookieString, pass a null channel will crash the child process. This is because we call aChannel->GetURI() without checking if aChannel is null.
However, set cookie with a null channel is possible in non-e10s mode. To make sure the behavior to be consistent in both non-e10s and e10s mode, we have to pass an empty URIParams in child process.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 15:14:32 +00: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
Tiberius Oros
a325c6ef11 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-06 01:27:49 +03: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
b3b648ffd1 Bug 1488441 - Extend cookie's expiring time from 1s to 3s r=jdm
The fail log shows that the cookie's expiring time is too short(only 1s). The cookie could be already expired.
A simple solution in this patch is just extending the expiring time to 3s.

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

--HG--
extra : moz-landing-system : lando
2018-09-05 18:24:51 +00:00
Daniel Varga
3c3e9e37c6 Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : 65372156c004c649109b08227f8aa6a91cb22969
2018-09-04 01:05:40 +03:00