Commit Graph

314 Commits

Author SHA1 Message Date
Bobby Holley
bf077afa17 Bug 856067 - Add some helpful logging to the console when we deny access to a non-Xrayable object. r=gabor 2014-07-14 10:09:07 -07:00
Bobby Holley
1576579a77 Bug 856067 - Make unwaived non-Xrayable objects opaque from privileged code. r=gabor 2014-07-14 10:09:07 -07:00
Bobby Holley
1972c350ad Bug 987669 - Just use macros because MSVC and gcc don't have real constexpr support. r=me CLOSED TREE 2014-07-11 09:37:00 -07:00
Bobby Holley
a51e8b671a Bug 987669 - Turn on Xrays for Error objects. r=gabor 2014-07-11 09:09:22 -07:00
Bobby Holley
ad5f40b172 Bug 987669 - Add Xray support for FooError.prototype.name. r=gabor 2014-07-11 09:09:22 -07:00
Bobby Holley
06fa9d262f Bug 987669 - Implement Xray support for the data properties on ErrorObject instances. r=gabor 2014-07-11 09:09:21 -07:00
Bobby Holley
30b1cd73d5 Bug 987669 - Implement IsErrorObjectKey and do more at compile-time. r=gabor 2014-07-11 09:09:21 -07:00
Chris Peterson
8164414591 Bug 1036778 - Replace MOZ_ASSUME_UNREACHABLE with MOZ_CRASH in js/xpconnect. r=bholley 2014-06-29 20:42:36 -07:00
Bobby Holley
e1aca738c7 Bug 1034239 - Replace GentlyOpaque with an "Xray-to-nothing" wrapper. r=gabor
I did this wrong before. Making this a SecurityWrapper means that the caller does
not subsumes the target, and that the target therefore needs to be protected
from the caller. But GentlyOpaque was supposed to be an analog of PermissiveXray
for use when no useful XrayTraits exist, so it should behave similarly.

If we make this a Filtering Security Wrapper, we get a bunch of assertions where we
expect CheckedUnwrap to succeed for a chrome-side wrapper. And we can't making it
a Filtering Non-Security Wrapper, because then the filtering policy isn't even
consulted (an optimization in jsproxy.cpp).

Really, we want all of the Xray machinery (like the ability to waive and to place
expandos), and we just don't want to resolve any properties. This patch does this.
2014-07-10 09:31:37 -07:00
Bobby Holley
b3a9b29482 Bug 1033927 - Drop support for custom [object XrayWrapper [object ClassName]] stringification. r=peterv 2014-07-07 13:11:24 -07:00
Jan de Mooij
f3876da607 Bug 1034191 - Make nsDependentJSString users work with Latin1 strings and nursery-allocated strings. r=bz 2014-07-05 17:30:54 +02:00
Bobby Holley
9c479a7d6e Bug 1029933 - Introduce and use ParentKeyForStandardClass. r=Waldo 2014-07-04 12:41:28 -07:00
Bobby Holley
8095d9d618 Bug 1029933 - Introduce the concept of "dependent" standard classes and handle them in the ClassSpec infrastructure. r=Waldo 2014-07-04 12:41:28 -07:00
Bobby Holley
268db82b97 Bug 1032317 - Make CompartmentPrivate and XPCWrappedNativeScope accessors infallible. r=gabor 2014-07-03 09:40:52 -07:00
Bobby Holley
dd7338844d Bug 1033920 - Handle null in XrayWrapper::setPrototypeOf. v1 r=efaust
From ac73068c4494c0df74329482e57f64ba8ec93cb4 Mon Sep 17 00:00:00 2001
2014-07-02 21:06:28 -07:00
Bobby Holley
18dbac65de Bug 1033253 - Null-check the result of JS_GetFunctionId. r=bz 2014-07-02 11:02:11 -07:00
Steve Fink
349c7468ac Bug 1022773 - Return value rooting for XPConnect, r=bholley
--HG--
extra : rebase_source : 7dd3b1585bbc3d6a4a22812771495dedf600d7e0
2014-06-25 15:35:37 -07:00
Eric Faust
ae2d610abf Bug 1027402 - Part 4: Mark Proxy Handler uses const. (r=jorendorff, r=bz) 2014-06-27 04:44:08 -07:00
Eric Faust
83a8fc2004 Bug 1027402 - Part 3: Mark all Proxy Handler methods const. (r=jorendorff, r=bz) 2014-06-27 04:44:06 -07:00
Eric Faust
79682b184f Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley, r=bz over IRC) 2014-06-27 04:44:04 -07:00
Eric Faust
da64b8a93e Bug 1027402 - Part 1: Remove set* from BaseProxyHandler. (r=bholley) 2014-06-27 04:44:02 -07:00
Carsten "Tomcat" Book
c270be1dbd Backed out changeset 2c6403818106 (bug 1027402) for bustage on a CLOSED TREE 2014-06-27 14:21:46 +02:00
Carsten "Tomcat" Book
0eb85aa96e Backed out changeset 346912776f97 (bug 1027402) 2014-06-27 14:21:22 +02:00
Carsten "Tomcat" Book
bdabef164c Backed out changeset 285c853fedfa (bug 1027402) 2014-06-27 14:21:20 +02:00
Carsten "Tomcat" Book
8d364a1cc4 Backed out changeset 96443362db6f (bug 1027402) 2014-06-27 14:21:17 +02:00
Eric Faust
82556410aa Bug 1027402 - Part 4: Mark Proxy Handler uses const. (r=jorendorff, r=bz) 2014-06-27 04:44:08 -07:00
Eric Faust
292636680c Bug 1027402 - Part 3: Mark all Proxy Handler methods const. (r=jorendorff, r=bz) 2014-06-27 04:44:06 -07:00
Eric Faust
d788ef7195 Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley) 2014-06-27 04:44:04 -07:00
Eric Faust
194b0e396e Bug 1027402 - Part 1: Remove set* from BaseProxyHandler. (r=bholley) 2014-06-27 04:44:02 -07:00
Jason Orendorff
30f843bf05 Bug 645416, part 22 - Remove JSCompartment::wrapId. r=terrence.
This is unnecessary now that object jsids no longer exist. Both string and
symbol jsids point only to GC things in the atoms compartment, which are safe
to pass to any compartment without wrapping.

--HG--
extra : rebase_source : 82c21e8474df05b1bb42c14d872c981205bbe879
2014-06-23 10:57:02 -05:00
Bobby Holley
aa57ea18a1 Bug 976148 - Support the .name and .length properties of Function instances. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
32c5b7b2ca Bug 976148 - Support the 'prototype' property for standard constructors. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
99e2aa1310 Bug 976148 - Implement Xrays to Function objects. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
0f0f0bad67 Bug 987163 - Implement Xrays for TypedArrays. r=gabor 2014-06-17 10:16:08 -07:00
Bobby Holley
d1755da7ec Bug 987163 - Fix some squelched OOMs. r=gabor 2014-06-17 10:16:08 -07:00
Bobby Holley
19d3df9558 Bug 987163 - Convert from |switch| statements to |if| statements. r=gabor
I realized that the switches are going to be cumbersome for Array stuff, because
we'll have to enumerate each kind of TypedArray as a separate case: statement.
Let's just use |if| so that we can call a helper.
2014-06-17 10:16:08 -07:00
Bobby Holley
e7843b1ee3 Bug 1020609 - Implement Xrays to Arrays. r=bz 2014-06-11 15:16:07 -07:00
Bobby Holley
e4da551029 Bug 1020609 - Make configurability check in Xray defineProperty match the spec. r=bz
This code is basically emulating the ES semantics with respect to non-configurable
properties. Non-configurable value properties can still be writable, in which case
their value and writability may be updated.
2014-06-11 15:16:06 -07:00
Bobby Holley
499052748f Bug 1022016 - Redesign nsDependentJSString API to be less of a footgun. r=gabor 2014-06-10 20:15:56 -07:00
Trevor Saunders
833a69a7df bug 1021171 - don't return nulllptr in functions returning bool r=bz,waldo 2014-06-06 15:31:30 -04:00
Bobby Holley
011d301bcf Bug 987111 - Flip on Object Xrays. r=gabor 2014-06-05 22:32:39 -07:00
Bobby Holley
d8d9bb0da7 Bug 987111 - Implement delete_ for Object Xrays. r=gabor 2014-06-05 22:32:39 -07:00
Bobby Holley
fe21607285 Bug 987111 - Implement defineProperty for Object Xrays. r=gabor 2014-06-05 22:32:39 -07:00
Bobby Holley
e068af9052 Bug 987111 - Implement resolveOwnProperty and enumerateNames for Object instances. r=gabor 2014-06-05 22:32:38 -07:00
Bobby Holley
23f82282b6 Bug 987111 - Handle the Object.prototype case in Xray getPrototypeOf. r=gabor 2014-06-05 22:32:38 -07:00
Bobby Holley
c1024a1099 Bug 987111 - Fill out existing_desc with all properties, not just |own| ones. r=gabor
This gives us strictly more information than we had before, which turns out to
be useful. We can still get the old behavior by testing the identity of
desc.object(), which I've done in one of the two existing uses for existing_desc.
The other (in DOMXrayTraits::defineProperty) is actually more correct with the
full (non-own) lookup.
2014-06-05 22:32:38 -07:00
Vivien Nicolas
aaba27476c Bug 1015887 - Expose realFrameElement to Chrome JS. r=bholley 2014-06-04 20:11:05 +02:00
Wes Kocher
8f41a2dd1c Backed out 13 changesets (bug 987111) for disagreeing with some patch from b-i or fx-team in tonight's merge to hopefully fix a CLOSED TREE
Backed out changeset d4e390ceac27 (bug 987111)
Backed out changeset 5f88b5ef9496 (bug 987111)
Backed out changeset cdfd24ddf448 (bug 987111)
Backed out changeset 7883150e5471 (bug 987111)
Backed out changeset 407c7ca82ada (bug 987111)
Backed out changeset e7140ccf7e09 (bug 987111)
Backed out changeset 0a4d18d6306f (bug 987111)
Backed out changeset e7b7548867d9 (bug 987111)
Backed out changeset 944d128f135a (bug 987111)
Backed out changeset 33860f30fc4f (bug 987111)
Backed out changeset 518a915fb81b (bug 987111)
Backed out changeset 7576a51cf72e (bug 987111)
Backed out changeset 1a8dc1af9de6 (bug 987111)
2014-06-04 22:12:50 -07:00
Bobby Holley
8bdd4083bc Bug 987111 - Flip on Object Xrays. r=gabor 2014-06-04 15:12:27 -07:00
Bobby Holley
51838f32a9 Bug 987111 - Implement delete_ for Object Xrays. r=gabor 2014-06-04 15:12:27 -07:00