Commit Graph

308 Commits

Author SHA1 Message Date
Valentin Gosu
4c423bbfee Bug 1433958 - Change code that sets nsIURI.host to use nsIURIMutator r=mayhemer
MozReview-Commit-ID: 7T5gCu8WOfa
2018-02-26 20:43:47 +01:00
Chris Peterson
6758bf6a84 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D
2018-02-05 22:46:57 -08:00
Nika Layzell
725eeab211 Bug 1428922 - Part 0: Add an EXPIRE_POLICY expire type to nsPermissionManager, r=baku
MozReview-Commit-ID: JJm7g2GSIjT
2018-01-24 01:07:10 -02:00
Prathiksha
274fb41999 Bug 1376235 - Change PermissionAvaliable to PermissionAvailable. r=johannh
MozReview-Commit-ID: JDrybb3WDlP
2018-01-17 15:57:48 +05:30
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Kris Maglione
edc98f08f3 Bug 1412726: Clean up XPCOM singleton constructor refcount handling. r=froydnj
This is a follow-up to bug 1409249. There are a lot of places where our
factory singleton constructors either don't correctly handle their returned
references being released by the component manager, or do handle it, but in
ways that are not obvious.

This patch handles a few places where we can sometimes wind up with dangling
singleton pointers, adds some explanatory comments and sanity check
assertions, and replaces some uses of manual refcounting with StaticRefPtr and
ClearOnShutdown.

There are still some places where we may wind up with odd behavior if the
first QI for a getService call fails. In those cases, we wind up destroying
the first instance of a service that we create, and re-creating a new one
later.

MozReview-Commit-ID: ANYndvd7aZx
2017-10-29 16:02:40 -07:00
Ben Kelly
c8d3ff4780 Bug 1426977 P1 Preload the cookie permission to properly block client-side service worker interception. r=mystor 2018-01-08 20:25:52 -05:00
Neil Deakin
4af58e0c26 Bug 380637, add a general preference to prevent pages from overriding keyboard shortcuts. If a key doesn't specify the reserved attribute, this preference will be used, r=felipe 2017-11-09 18:42:39 -05:00
Kris Maglione
375dfdb59d Bug 1409249: Require singleton constructors to return explicit already_AddRefed. r=froydnj
Right now, NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR expects singleton
constructors to return already-addrefed raw pointers, and while it accepts
constructors that return already_AddRefed, most existing don't do so.

Meanwhile, the convention elsewhere is that a raw pointer return value is
owned by the callee, and that the caller needs to addref it if it wants to
keep its own reference to it.

The difference in convention makes it easy to leak (I've definitely caused
more than one shutdown leak this way), so it would be better if we required
the singleton getters to return an explicit already_AddRefed, which would
behave the same for all callers.


This also cleans up several singleton constructors that left a dangling
pointer to their singletons when their initialization methods failed, when
they released their references without clearing their global raw pointers.

MozReview-Commit-ID: 9peyG4pRYcr
2017-10-16 21:08:42 -07:00
Johann Hofmann
5cc57550c0 Bug 1379560 - Part 1 - Add a default permission pref in the permission manager. r=mystor,Paolo
This patch enables support for setting prefs with the pattern
permissions.default.* to provide a custom default permission
for arbitrary permission types in nsPermissionManager.

The previous default of UNKNOWN_ACTION is honored if no pref is set.

A default value is provided if no permission entry can be found in the db.
Accordingly, the patch does not affect the behavior of functions
that return permission objects from the db such as GetPermissionObject,
which returns null if no entry was found.

MozReview-Commit-ID: 3JECI6kXqGf
2017-07-10 23:13:43 +02:00
Kris Maglione
b0f77cbbe3 Bug 1407428: Hand out a const array reference for expanded principal whiteList. r=krizsa
The current API makes the life time and ownership of the result array unclear
without careful reading. The result array is always owned by the principal,
and its lifetime tied to the lifetime of the principal itself. Returning a
const array reference makes this clear, and should prevent callers from
accidentally modifying the returned array.

MozReview-Commit-ID: 3f8mhynkKAj
2017-10-10 15:00:16 -07:00
Sebastian Hengst
a6ff7a4821 Backed out changeset 237acf2879f6 (bug 1407428) for frequent crashes, e.g. in xpcshell's test_bug248970_cookie.js. r=backout on a CLOSED TREE 2017-10-16 00:00:15 +02:00
Kris Maglione
b373b92d17 Bug 1407428: Hand out a const array reference for expanded principal whiteList. r=krizsa
The current API makes the life time and ownership of the result array unclear
without careful reading. The result array is always owned by the principal,
and its lifetime tied to the lifetime of the principal itself. Returning a
const array reference makes this clear, and should prevent callers from
accidentally modifying the returned array.

MozReview-Commit-ID: 3f8mhynkKAj
2017-10-10 15:00:16 -07:00
Chris Peterson
6137e4ff8b Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm
MozReview-Commit-ID: CrkIP4iHP1U
2017-09-03 22:14:11 -07:00
Chris Peterson
4e9c1d3429 Bug 870698 - Part 1: Replace Assign("") with AssignLiteral(""). r=erahm
MozReview-Commit-ID: A0u9PP49OW3
2017-09-03 22:12:56 -07:00
Eric Rahm
b5b0a9c37e Bug 1386825 - Part 4: Remove remaining instances of MOZ_B2G. r=froydnj
MozReview-Commit-ID: 8r4eMwiZ4Vg
2017-08-08 14:41:09 -07:00
Nicholas Nethercote
09493fcbcf Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
Michael Layzell
371a258411 Bug 1315092 - Part 2: Correctly clear mPrivateBrowsingId during the assertion as well on a CLOSED TREE, a=bustage
MozReview-Commit-ID: J8j4DWUzl8D
2017-07-05 13:41:48 -04:00
Michael Layzell
635ce5aefd Bug 1315092 - Correctly ignore mPrivateBrowsingId when constructing permission keys, r=ehsan
MozReview-Commit-ID: 3uCvKE5MxR5
2017-07-05 12:41:13 -04:00
Nicholas Nethercote
4cbdad69e6 Bug 1374580 (part 2) - Remove nsAFlat{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsAFlatString  --> nsString
- nsAFlatCString --> nsCString
2017-06-20 19:19:05 +10:00
Michael Layzell
5a44a684d2 Bug 1374665 - Stop parsing principals during GetPermissionsForKey, r=ehsan
MozReview-Commit-ID: 28BCIqA2Kf2
2017-06-22 14:46:18 -04:00
Wes Kocher
292a031947 Backed out changeset 44532a19e524 (bug 1374665) for test_group_mouseevents.html failures a=backout
MozReview-Commit-ID: BNCBrA8XhRV
2017-06-21 17:10:40 -07:00
Michael Layzell
a327f28b16 Bug 1374665 - Stop parsing principals during GetPermissionsForKey, r=ehsan
MozReview-Commit-ID: 28BCIqA2Kf2
2017-06-21 14:23:18 -04:00
JW Wang
4ce45d798e Bug 1365513 - Remove the call to AbstractThread::GetCurrent() in nsPermissionManager.cpp. r=mystor
See bug 1365483 for the rationale.

MozReview-Commit-ID: 4sWodnP5MYZ
2017-05-18 14:14:27 +08:00
Ehsan Akhgari
dceb6ddf75 Bug 1362791 - Enable testing permissions using URIs without having to mint principals; r=mystor
The permissions manager store uses principal origins with suffix in the
key entry, but for the API entry points where we accept a raw nsIURI, we
currently mint a new codebase principal with a blank OriginAttributes
only to read out the origin string effectively, since the suffix is
guaranteed to always be an empty string in this case.

This can be slow, so this patch adds a fast path to bypass minting a new
principal and uses ContentPrincipal::GenerateOriginNoSuffixFromURI() to
generate the origin string from the input nsIURI directly.
2017-05-20 00:59:09 -04:00
Michael Layzell
fcd4996ad2 Bug 1363243 - Avoid checking nsPermissionManager in nsContentBlocker when no preload permissions are set, r=ehsan
MozReview-Commit-ID: B8A8QXie8SX
2017-05-11 10:06:25 -04:00
Michael Layzell
e656eb727d Bug 1355608 - Part 1: Add tools to nsPermissionManager to await permissions becoming avaliable, r=baku
MozReview-Commit-ID: 1HDS8zw6dpF
2017-04-27 13:41:13 -04:00
Michael Layzell
963f677d71 Bug 1353179 - Fix the content process permission assertion, and add support for pre-load permissions, r=baku
MozReview-Commit-ID: DAVPue8krnH
2017-04-27 13:41:11 -04:00
Michael Layzell
852cd4d0fa Bug 1354635 - Send permissions to the content process when debugging service workers, r=catalinb
MozReview-Commit-ID: 8cUh5znQcFN
2017-04-18 14:38:56 -04:00
Ehsan Akhgari
890e642c26 Bug 1350090 - Turn off the spammy warning that goes off every time we create an about:blank content viewer; r=mystor 2017-03-25 23:41:03 -04:00
Michael Layzell
34e7741b23 Bug 1337056 - Part 11: Change the permission key assertion to a fatal assert on debug builds, r=ehsan
MozReview-Commit-ID: HTxvlomRKWy
2017-03-21 11:08:03 -04:00
Michael Layzell
90eeeb398a Bug 1345573 - Part 1: Key http, https, and ftp URIs on origin instead of eTLD+1, r=baku
MozReview-Commit-ID: Gihc4QFf11R
2017-03-21 11:08:03 -04:00
Michael Layzell
220a1361b2 Bug 1337056 - Part 6: Disable nsPermissionManager::GetEnumerator in the content process, r=kitcambridge
This property allows enumerating over all permissions. As the content
process no longer has access to all permissions, this method cannot be
correctly implemented in the content process anymore.

Because of that, we now error with NS_ERROR_NOT_AVALIABLE when it is
accessed in the content process.

MozReview-Commit-ID: BLNeYYcZhIi
2017-03-21 11:08:03 -04:00
Michael Layzell
56a9e6779b Bug 1337056 - Part 5: Add support for finer-grained permission update messages to ContentParent, r=baku
MozReview-Commit-ID: 6y6eBLWPTue
2017-03-21 11:08:03 -04:00
Michael Layzell
12c7fad8ac Bug 1337056 - Part 4: Assert that the ipcKey for a principal is avaliable when creating a PermissionKey in the child process, r=baku
MozReview-Commit-ID: G9TynCKgCVF
2017-03-21 11:08:03 -04:00
Michael Layzell
c7c33e5535 Bug 1337056 - Part 2: Replace the synchronous ReadPermissions API with async APIs, r=baku
These APIs are intended to use the mechanism defined in Part 1.

Part 3 implements the usage of these APIs to synchronize permissions.

MozReview-Commit-ID: HNKyDPtoaHl
2017-03-21 11:08:03 -04:00
Michael Layzell
e1757e15c4 Bug 1337056 - Part 1: Add a mechanism for grouping permissions into groups to be sent over IPC, r=baku
MozReview-Commit-ID: IQiSsVGaAOQ
2017-03-21 11:08:03 -04:00
Tom Tromey
48da5b7de4 Bug 1060419 - remove unneeded includes of prprf.h, r=froydnj
MozReview-Commit-ID: JifhpA3oOeH
2016-12-09 10:00:01 -10:00
Ehsan Akhgari
95ccdc4beb Bug 1337054 - Remove nsIPermissionManager::RefreshPermission(); r=jdm 2017-02-06 19:54:34 -05:00
Johann Hofmann
ac774acafd Bug 1206232 - Add temporary permission states to SitePermissions.jsm. r=jdm,Paolo
MozReview-Commit-ID: zQVeEHhIax
2016-09-22 23:09:30 +02:00
Andrea Marchesini
46a9207d60 Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00
Yoshi Huang
13130453ba Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
Andrea Marchesini
c2191ae940 Bug 1322518 - PermissionKey should propagate the error if nsIPrincipal::GetOrigin fails, r=ehsan 2016-12-08 10:45:52 -10:00
Tomislav Jurin
9ff3007b90 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Ehsan Akhgari
3c90e541e0 Bug 1318210 - Remove nsIAppsService; r=baku 2016-11-17 10:41:36 -05:00
Ehsan Akhgari
aa367a9cdd Bug 1311149 - Remove the b2g preallocated app support; r=baku 2016-11-16 09:17:35 -05:00
Ehsan Akhgari
917a5e63fc Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-16 09:13:38 -05:00
Carsten "Tomcat" Book
84568d0bc2 Backed out changeset 7d1f7dd996f7 (bug 1310845) 2016-11-16 14:50:44 +01:00
Carsten "Tomcat" Book
979d51a6a3 Backed out changeset f1ff6d4dca5f (bug 1311149) 2016-11-16 14:50:40 +01:00
Ehsan Akhgari
a092a1aba9 Bug 1311149 - Remove the b2g preallocated app support; r=baku 2016-11-15 23:21:28 -05:00