Commit Graph

115 Commits

Author SHA1 Message Date
Bobby Holley
3e719a7948 Bug 776328 - Only create holders for WNs. r=mrbkap 2012-08-10 10:19:51 +02:00
Mike Hommey
6173fa297f Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Bobby Holley
8a52cd6c9b Bug 778409 - Enter the compartment of unwrappedProto rather than obj in Rewrap. r=gabor
This can happen if chrome sets its proto to a content object from a different scope
than the one doing the wrapping. In this case, the prototype chain looks like this:

chromeobj => CCW(examplecom_obj) => CCW(examplecom_scope.Object.prototype)

When wrapping chromeobj for exampleorg_scope, things will look like this:

COW(chromeobj) => CCW(examplecom_obj) => CCW(examplecom_scope.Object.prototype)

Note that we don't remap the proto of CCW(examplecom_scope) to
exampleorg_scope.Object.prototype, because the proto remapping only happens when
the object we're wrapping is chrome. There's no reason it has to be this way, but
even if we changed it we still wouldn't get the nice remapped lookup behavior to
exampleorg_scope.Object.prototype, because the proxy handler for CCW(examplecom_obj)
isn't a ChromeObjectWrapper, and thus doesn't know how to to the prototype bouncing
correctly.

Anyway, I suspect this case isn't worth worrying about as long as we don't crash.
2012-07-30 22:18:55 +02:00
Ehsan Akhgari
b40b21d633 Merge the nullptr conversion from mozilla-central into mozilla-inbound 2012-07-30 10:28:15 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Brian Hackett
ffc948bbbe Use HandleValue and MutableHandleValue in API hooks where possible, bug 776579. r=billm, sr=dmandelin 2012-07-30 05:19:09 -06:00
Bobby Holley
5308455b1c Bug 760109 - Override traps in ChromeObjectWrapper to bounce lookups to the local prototype chain. r=mrbkap 2012-07-27 12:15:46 +02:00
Bobby Holley
ea5054b136 Bug 760109 - Introduce an explicit ChromeObjectWrapper. r=mrbkap
For now it's identical to ChromeObjectWrapperBase. Custom behavior comes in the next patch.
2012-07-27 12:15:46 +02:00
Bobby Holley
b5c9747170 Bug 760109 - When COWing objects with standard prototypes, use the prototype in the home compartment instead. r=mrbkap 2012-07-27 12:15:46 +02:00
Ehsan Akhgari
bbea1a843e Bug 776660 - Return null from EnsureExpandoObject instead of false; r=bholley 2012-07-23 15:58:41 -04:00
Bobby Holley
bb2b0385f8 Bug 773962 - Fix up waivers after transplanting. r=mrbkap 2012-07-23 15:51:18 +02:00
Bobby Holley
3ed1397a75 Bug 773962 - Refactor Xray waiving logic to allow simple lookups in the waiver map without creating a waiver. r=mrbkap 2012-07-23 15:51:18 +02:00
Bobby Holley
5eac963c7a Bug 774245 - Add WrapperFactory and XrayWrapper machinery to allow same-compartment Xray wrapping. r=mrbkap 2012-07-18 13:51:28 +02:00
Gabor Krizsanits
7d370fc235 Bug 771081 - part3: Rename WaiveXrayWrapperWrapper. r=gal 2012-07-16 19:28:17 +02:00
Gabor Krizsanits
0908f47e39 Bug 771081 - part2: Rename CrossOriginWrapper files. r=gal
--HG--
rename : js/xpconnect/wrappers/CrossOriginWrapper.cpp => js/xpconnect/wrappers/WaiveXrayWrapper.cpp
rename : js/xpconnect/wrappers/CrossOriginWrapper.h => js/xpconnect/wrappers/WaiveXrayWrapper.h
2012-07-16 19:22:51 +02:00
Gabor Krizsanits
5061b6289d Bug 771081 - part1: Rename CrossOriginWrapper. r=gal 2012-07-16 17:53:16 +02:00
Bobby Holley
bf7c218243 Bug 655649 - Stop doing dynamic security checks for document.domain. r=mrbkap 2012-07-12 10:10:15 +02:00
Bobby Holley
63851e7543 Bug 655649 - Use Subsumes Rather than Equals in XPConnect wrapper computation. r=mrbkap
Now that we have nsExpandedPrincipal, the current way of doing things is wrong. For some reason, the old document.domain hackery was hiding the failures here.
2012-07-12 10:10:15 +02:00
Eddy Bruel
aeda49b01d Bug 771908 - Get rid of Wrapper::leave; r=bholley, sr=mrbkap 2012-07-11 14:01:10 +02:00
Eddy Bruel
560a0f014c Bug 703537: Rename AbstractWrapper to IndirectWrapper + adding comments; r=bholley 2012-07-08 19:04:14 +02:00
Ehsan Akhgari
b7c1969ac5 Backout changeset 20b0bce4c165 (bug 703537) under the suspicion of breaking Linux32 mochitest-chrome without framepointers 2012-07-04 19:24:04 -04:00
Eddy Bruel
62517a803b Bug 703537 - Rename AbstractWrapper to IndirectWrapper; r=bholley 2012-07-04 01:20:35 +02:00
Bobby Holley
eb5355a5e7 Bug 754202 - Remove NoWaiverWrapper. r=mrbkap
No more principal pushing!
2012-06-28 23:47:55 +02:00
Bobby Holley
22171babc1 Bug 754202 - Remove context pushing/popping API. r=mrbkap Each one of these uses grabs the principal off of an object for pushing, but also enters the compartment of that object. So we shouldn't need this anymore.
Can I get a 'hell yeah'?
2012-06-28 23:47:55 +02:00
Eddy Bruel
ea3e60175e Bug 70357 - Add Wrapper base class; r=bholley 2012-06-28 04:10:37 +02:00
Bobby Holley
c9e79a454a Bug 767948 - Make assertion nonfatal. r=me 2012-06-25 15:24:21 +02:00
Bobby Holley
1578d01098 Bug 767306 - Temporarily make assertion from bug 766641 non-fatal. r=me 2012-06-22 12:01:18 +02:00
Bobby Holley
d169ad7176 Bug 763433 - Clarify compartment situation in Xray wrapper. r=mrbkap
Adding to the mess of the NodePrincipal (et al) check isn't great, but I'm refactoring that in bug 761704.
2012-06-18 15:47:09 +02:00
Bobby Holley
f729fb1536 Bug 763433 - Clarify compartment semantics for ExposedPropertiesOnly. r=mrbkap 2012-06-18 15:47:09 +02:00
Bobby Holley
d0bbff2627 Bug 763381 - Fix up compartment situation for expando objects. r=mrbkap 2012-06-18 15:28:11 +02:00
Bobby Holley
96e9ccb417 Bug 763381 - Pass cx around in more places. r=mrbkap 2012-06-18 15:28:11 +02:00
Bobby Holley
2a4d653d5f Bug 758415 - Remove double-wrapping infrastructure for Location objects. r=mrbkap
This is more or less just a backout of bug 739796, that caused so much pain. Huzzah!
2012-06-05 19:07:37 +02:00
Bobby Holley
b52375725c Bug 758415 - Rip out old expando architecture. r=mrbkap 2012-06-05 19:07:37 +02:00
Bobby Holley
b6893e41c6 Bug 758415 - Switch WN Xrays to use the new expando infrastructure. r=mrbkap 2012-06-05 19:07:37 +02:00
Bobby Holley
b59ab77e3d Bug 758415 - Copy expando objects during object transplanting. r=mrbkap 2012-06-05 19:07:37 +02:00
Bobby Holley
9610f7f05a Bug 758415 - Implement expando object infrastructure for WN Xrays. r=mrbkap
Note: This overloads the naming of some of the existing infrastructure,
but the signatures etc are sufficient to disambiguate. The other infrastructure
goes away in a subsequent patch.

Note: We tag sandbox expandos with their global to make sure that the expandos
are never shared between sandboxes. A consequence of this scheme is that an
expando from a sandbox to an object will _always_ result in a GC edge back to
the sandbox, meaning that the sandbox is always kept alive for the lifetime of
the expando target. This could happen before, but only if a non-primitive expando
was placed (since the value of the expando would live in the consumer's
compartment). We could avoid this edge by using a reference-counted Identity()
object instead, but I suspect it's not worth worrying about.
2012-06-05 19:07:37 +02:00
Blake Kaplan
f14f44ff14 Bug 751858 - Actually throw when we deny access. r=bholley 2012-05-04 14:22:55 +02:00
Bobby Holley
2e1ac9db8c Bug 760070 - Make the __exposedProps__ warning appear as an error. r=bz 2012-05-31 16:28:09 +02:00
Bobby Holley
a63c18d790 Bug 752038 - Avoid getting confused by PreCreate giving a different answer when we wrap objects cross-compartment during reparenting. r=mrbkap 2012-05-29 23:24:03 +02:00
dev
a34d2b297b Bug 755631 - Remove extraneous exceptions in Cross Origin Wrappers. r=mrbkap 2012-05-26 09:33:52 -04:00
Bobby Holley
35b5448ba4 Bug 758563 - Warn when __exposedProps__ is missing. r=bz 2012-05-25 18:42:40 +02:00
Ms2ger
a552eafda2 Bug 758143 - Add xpc::GetCompartmentPrivate; r=bholley 2012-05-25 09:18:31 +02:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Brian Hackett
c07eaa0e3e Use handles in API object hooks where possible, bug 750733. r=billm 2012-05-19 15:03:45 -07:00
Brian Hackett
9ae1966596 Backed out changeset 5fc7462dd394 for android orange. 2012-05-19 11:52:55 -07:00
Brian Hackett
a863456144 Use handles in API object hooks where possible, bug 750733. r=billm 2012-05-19 09:48:09 -07:00
Eddy Bruel
36436d48e3 Bug 703537 - Add IndirectProxyhandler; r=bholley,jorendorff 2012-05-17 13:19:37 +02:00
Bobby Holley
0c0fa43789 Bug 754044 - Apply same-compartment security wrappers in same-compartment wrapping callback. r=mrbkap 2012-05-14 23:30:07 +02:00
Tom Schuster
fb630ae705 Bug 752226 - Remove any use of JSVAL_IS_OBJECT. r=luke,Ms2ger 2012-05-11 17:46:26 +02:00
Ed Morley
79899a6f75 Backout 9b0fcaacb788 & bf3fef257e68 (bug 752226) for mochitest-other orange 2012-05-11 18:25:52 +01:00