Luke Wagner
c3caa3a90c
Fix backout to account for infallible-JSAutoCompartment change on a CLOSED TREE (no bug, r=bustage)
2012-08-23 22:12:21 -07:00
Matt Brubeck
424ea88da6
Back out 670c8a2695b3 (bug 771354), 134557d57e6e 4ad52e488977 (bug 774607), and...
...
036eb8c2a08a d4d36e3b948f 35334e820632 6bd07fd5147d d49e7c0d762c 407f19deb14c d84551808abb (bug 774633)
on a CLOSED TREE
2012-08-23 21:34:27 -07:00
Bobby Holley
48fc85f058
Bug 780370 - Remap objects from standard prototypes even if they're explicitly exposed. r=mrbkap
2012-08-23 19:07:14 -07:00
Bobby Holley
b2b8ff55f2
Bug 780370 - Clarify the compartment situation in ChromeObjectWrapper. r=mrbkap
...
Not sure what I was thinking before. We should always be in the compartment of the wrapper here.
2012-08-23 19:07:13 -07:00
Peter Van der Beken
486198a6d8
Fix for bug 785188 (Make Xrays work with newest DOM list bindings). r=mrbkap.
2012-06-06 21:52:26 +02:00
Luke Wagner
ce71e55555
Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley)
...
--HG--
extra : rebase_source : 12acf2288285f5caefd7fecea8207de3a47eab5b
2012-08-21 18:42:53 -07:00
Luke Wagner
48412c861d
Bug 625199 - kill dummy frames (r=mrbkap)
...
--HG--
extra : rebase_source : df4e3bddabf20cdc5b9122370fa62b40e64177c7
2012-08-17 18:05:06 -07:00
Bobby Holley
63dfef11f8
Bug 774607 - Remove use of JS_{Is,Make}SystemObject from Gecko. r=bz
...
We currently set this for system globals and anything whose parent
chain leads to a system global. Maybe this was relevant before, but
with CPG this is just equivalent to asking whether the object is in
a system compartment. And the only place where we _check_ this bit
is immediately after checking for a system compartment, in
WrapperFactory. So AFAICT this can go away entirely.
2012-08-23 16:44:53 -07:00
Peter Van der Beken
854457d901
Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky.
...
--HG--
extra : rebase_source : 651a0fac4c9a87ef1c0a9cd91588c6421fd050c4
2012-05-22 15:46:20 +02:00
Bobby Holley
826e13d885
Bug 784233 - Relax __exposedProps__ check for sandboxes until we can repack AMO addons. r=gal
2012-08-21 10:27:08 -07:00
Bobby Holley
7e122c271a
Backed out changeset 61e9eaf9aae2
...
--HG--
extra : rebase_source : 30fb2e7a057482412d29a96f8b8e98135beb6a79
2012-08-20 21:07:07 -07:00
Bobby Holley
db7c7123df
Bug 784233 - Relax __exposedProps__ check for sandboxes until we can repack AMO addons. r=gal
2012-08-20 21:03:44 -07:00
Bobby Holley
2fd623ff39
Bug 553102 - Make content-> access default to deny if __exposedProps__ is not defined. r=mrbkap
2012-08-17 23:14:55 -07:00
Bobby Holley
239bc1b66a
Bug 781476 - Cross-compartment wrap same-origin objects with PreCreate even if PreCreate requests one wrapper per scope. r=mrbkap
2012-08-16 12:25:39 -07:00
Bobby Holley
480c7597d4
Bug 776328 - Only create holders for WNs. r=mrbkap
2012-08-10 10:19:51 +02:00
Mike Hommey
c1b35e7b2a
Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted
2012-08-04 20:26:44 +02:00
Bobby Holley
2c48de6a45
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
c80897316e
Merge the nullptr conversion from mozilla-central into mozilla-inbound
2012-07-30 10:28:15 -04:00
Aryeh Gregor
57c0ad57fb
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Brian Hackett
4da0b7720d
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
a7c9c6c0e0
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
27dfe5daed
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
bc2fe5e629
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
ed5670e57a
Bug 776660 - Return null from EnsureExpandoObject instead of false; r=bholley
2012-07-23 15:58:41 -04:00
Bobby Holley
3c7a723a9f
Bug 773962 - Fix up waivers after transplanting. r=mrbkap
2012-07-23 15:51:18 +02:00
Bobby Holley
c85756fcc0
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
217bf3edb0
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
d5f97a1ca6
Bug 771081 - part3: Rename WaiveXrayWrapperWrapper. r=gal
2012-07-16 19:28:17 +02:00
Gabor Krizsanits
a9011adbd5
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
c39841ecfc
Bug 771081 - part1: Rename CrossOriginWrapper. r=gal
2012-07-16 17:53:16 +02:00
Bobby Holley
15d867f5bd
Bug 655649 - Stop doing dynamic security checks for document.domain. r=mrbkap
2012-07-12 10:10:15 +02:00
Bobby Holley
4a5e0d850d
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
38a59d2484
Bug 771908 - Get rid of Wrapper::leave; r=bholley, sr=mrbkap
2012-07-11 14:01:10 +02:00
Eddy Bruel
e445b70867
Bug 703537: Rename AbstractWrapper to IndirectWrapper + adding comments; r=bholley
2012-07-08 19:04:14 +02:00
Ehsan Akhgari
f32943d99a
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
4109621aae
Bug 703537 - Rename AbstractWrapper to IndirectWrapper; r=bholley
2012-07-04 01:20:35 +02:00
Bobby Holley
70050366ad
Bug 754202 - Remove NoWaiverWrapper. r=mrbkap
...
No more principal pushing!
2012-06-28 23:47:55 +02:00
Bobby Holley
fb16bc5a98
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
4cc46d10d1
Bug 70357 - Add Wrapper base class; r=bholley
2012-06-28 04:10:37 +02:00
Bobby Holley
d3655aa616
Bug 767948 - Make assertion nonfatal. r=me
2012-06-25 15:24:21 +02:00
Bobby Holley
3a4cddc21b
Bug 767306 - Temporarily make assertion from bug 766641 non-fatal. r=me
2012-06-22 12:01:18 +02:00
Bobby Holley
92b4b22798
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
7bcf107d34
Bug 763433 - Clarify compartment semantics for ExposedPropertiesOnly. r=mrbkap
2012-06-18 15:47:09 +02:00
Bobby Holley
1361f9e280
Bug 763381 - Fix up compartment situation for expando objects. r=mrbkap
2012-06-18 15:28:11 +02:00
Bobby Holley
61f2c7b855
Bug 763381 - Pass cx around in more places. r=mrbkap
2012-06-18 15:28:11 +02:00
Bobby Holley
1e7b838781
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
dbc58bd195
Bug 758415 - Rip out old expando architecture. r=mrbkap
2012-06-05 19:07:37 +02:00
Bobby Holley
ae7fc124b9
Bug 758415 - Switch WN Xrays to use the new expando infrastructure. r=mrbkap
2012-06-05 19:07:37 +02:00
Bobby Holley
59c1c5f462
Bug 758415 - Copy expando objects during object transplanting. r=mrbkap
2012-06-05 19:07:37 +02:00
Bobby Holley
f3bf0cee49
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