Commit Graph

440 Commits

Author SHA1 Message Date
Bobby Holley
c1bc13e0dd Bug 836301 - Hoist some assertions, remove a bunch of no-op trap overrides, and add assertions that we've entered our policy. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley
1b08378825 Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley
c9d462848e Bug 836301 - Introduce an RAII class for entering policies. r=mrbkap
This will allow us to make some hard assertions that a given policy has been
entered exactly once.
2013-02-22 08:14:33 -08:00
Bobby Holley
bc476a22e1 Bug 836301 - Add Special handling to allow us to call enter() for defineProperty on Xrays. r=mrbkap 2013-02-22 08:14:33 -08:00
Bobby Holley
31e8680c22 Bug 836301 - Stop using JSRESOLVE_ASSIGNING to determine GET vs SET. r=mrbkap
This is just a heuristic, anyway, and some of the usage is downright broken.
There are two cases here:

1 - Deciding what to do for get{Own,}PropertyDescriptor. In these cases, we can
just enter with GET and rely on the filtering machinery to filter out dangerous
setters for security wrappers.

2 - Custom Xray props. None of these make sense in a |set| context. In fact,
    they generally have null setters anyway, so we can just assume GET.

The policy-entering code in XrayWrapper is super haphazard. We'll get rid of it
entirely later in these patches.
2013-02-22 08:14:32 -08:00
Bobby Holley
778e86b208 Bug 839867 - Align gecko with the spec on cross-origin access to Location.hash. r=bz
We update the tests to cover this case. There was also a bug in the tests where
we were accidentally testing non-writable Location properties against window
rather than window.location. :-(
2013-02-11 00:05:17 +01:00
Bobby Holley
dc7e7a50d2 Bug 821850 - Dynamically waive Xray for field access by XBL script on bound nodes. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
4b306e73c6 Bug 821850 - Expose XBL members via Xray wrappers. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
34890dad66 Bug 821850 - Clean up security wrappers for NAC. r=bz 2013-02-08 14:24:20 +00:00
Bobby Holley
2ad47344dd Bug 831076 - Outerize during same-compartment wrapping so that JS_Wrap* is guaranteed to outerize. r=mrbkap 2013-02-04 15:13:14 +00:00
Bobby Holley
fd4c9ea494 Bug 831076 - Outerize at the very beginning of XPConnect wrapping and remove other outerization checks. r=mrbkap 2013-02-04 15:13:13 +00:00
Peter Van der Beken
4d5c0010c4 Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 2ced75b6d49dbab5afe9a6ce7c322bf18a634026
2013-01-14 11:29:48 +01:00
Ed Morley
bc0702d0d7 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken
a6ea06e0ab Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 6bc420bd917e00a49dc5f6f3de13ff9e290c9580
2013-01-14 11:29:48 +01:00
Bobby Holley
f20eabe075 Bug 823348 - Stop checking for Xray waivers in the Xray machinery. r=mrbkap
All the casese where we want to waive should now be going through WaiveXrayWrapper.
2013-01-23 06:04:39 +01:00
Bobby Holley
c82ae67593 Bug 823348 - Replace security wrapper enumeration with a more rule-based approach. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley
4b3c0f19a3 Bug 823348 - Hoist special cases to the top of WrapperFactory::Rewrap. r=mrbkap
This paves the way for more rule-based selection of wrappers in the common case.
2013-01-23 06:04:39 +01:00
Bobby Holley
6284ce3329 Bug 823348 - Move COW prototype remapping out of wrapper selection. r=mrbkap
It's pretty orthogonal, and makes the critical block more complicated than it
needs to be.
2013-01-23 06:04:39 +01:00
Bobby Holley
39970d33e6 Bug 823348 - Precompute various parameters in Rewrap. r=mrbkap
This is generally cleaner, and avoids potentially calling these functions
multiple times when we start moving this stuff around.
2013-01-23 06:04:39 +01:00
Bobby Holley
7124dc509b Bug 823348 - Use GetXrayType for content->chrome Xray wrappers. r=mrbkap
There's no reason to do this any different than we do for XOWs and such. The
only thing this might conceivably support would be certain chrome XPWNs-as-COWs.
But that would require that they forced a parent in precreate without being
flagged as DOM objects in classinfo. And it's not clear why we'd want to support
that. And we're generally moving away from COWs anyway.
2013-01-23 06:04:39 +01:00
Bobby Holley
1aedd25af4 Bug 823348 - Use EnsureCompartmentPrivate In Rewrap and stop checking for null. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley
33983c1d00 Bug 823348 - Make NNXOWs use an explicitly opaque Policy. r=mrbkap
There's no reason to be doing a dynamic check here, given that the JSClasses
will never match. Lets be explicit and safe.
2013-01-23 06:04:38 +01:00
Bobby Holley
165e39b43e Bug 823348 - Do a better job of lying about the holder and make assertions fatal. r=mrbkap
I noticed this nonfatal assertion firing, unrelated to my patches. Leaking
the holder is not so great. Let's fix this for real.
2013-01-23 06:04:38 +01:00
Bobby Holley
ddf7e9edc1 Bug 823348 - Remove broken and unused __scriptOnly__ check. r=mrbkap
__scriptOnly__ is unused on mxr and addons-mxr. Morevoer, the current
implementation is totally broken, because we check for NNXOW, which only
happens when a random content JS object ends up in some other cross-origin
scope (via addons, presumably), whereas chrome objects use ChomeObjectWrapper.

I'm soon going to replace SCRIPT_ACCESS_ONLY with checked unwrapping, and mark
all COWs as unsafe to unwrap (see bug 821573 and bug 658909). So let's just kill
this thing here.
2013-01-23 06:04:38 +01:00
Boris Zbarsky
d53ec45102 Bug 823228 part 2. Move indexed property access on windows from nsWindowSH::GetProperty to the outer window proxy. r=bholley 2013-01-17 12:30:37 -05:00
Jeff Walden
da2a57bc92 Whitespace tab-killing patrol. No bug, r=sparky 2013-01-04 17:00:43 -06:00
Jeff Walden
be7908afa3 Bug 824217 - Make ChromeObjectWrapper::getPropertyDescriptor not pretend no descriptor exists when the property exists along the prototype chain, when the property is being resolved just before an assignment. r=bholley 2013-01-03 17:55:58 -06:00
Jeff Walden
d9889b3184 Bug 826447 - Change all the proxy API signatures to take unsigned flags, rather than bool set, so that it's easier to find all tests of JSRESOLVE_ASSIGNING. r=bz
--HG--
extra : rebase_source : 3b88b411965087984d7973a90f8fa1b06457a6ce
2013-01-03 15:31:36 -06:00
Jeff Walden
320df44ab6 Bug 823283 - Remove all remaining uses of JSRESOLVE_QUALIFIED, and the few remaining tests (which were pretty much purely diagnostic). r=luke
--HG--
extra : rebase_source : 51e2ac7ccc76be84d12600baeb6d458c2927bea7
2012-09-15 11:19:55 -07:00
Bobby Holley
2ca33ed4e3 Bug 809652 - Deny nativeCall for SecurityWrapper except under specific circumstances. r=jorendorff 2012-12-20 22:33:26 -08:00
Bobby Holley
60185d18f7 Bug 809652 - Have SecurityWrapper::enter default to deny, and override SecurityWrapper::objectClassIs. r=jorendorff 2012-12-20 22:33:26 -08:00
Peter Van der Beken
b208a08d09 Fix for bug 815149 (Add support for SOWs and XBL bindings in new DOM bindings). r=bz.
--HG--
extra : rebase_source : c24544fd3d1c99651e279e687a07a02c5b994323
2012-09-12 22:29:30 +02:00
Bobby Holley
3fcdd84451 Bug 818716 - Move XBL detection into nsContentUtils and remove filename hack. r=mrbkap 2012-12-12 17:09:37 -08:00
Saurabh Anand
c9e3659e16 Bug 818817 - Fix some compiler warnings, r=Ms2ger 2012-12-09 22:53:19 +05:30
Bobby Holley
2db9f70258 Bug 813901 - Validate __exposedProps__. r=mrbkap
This also involves modifying test_cows to deep clone in getCOW.
2012-12-07 14:49:11 -08:00
Bobby Holley
12044005c7 Bug 813901 - Throw COW exceptions in the wrapper's scope. r=mrbkap 2012-12-07 14:49:11 -08:00
Bobby Holley
8fdea45364 Bug 808608 - Remove Xray shadowing protection infrastructure. r=mrbkap
This is now unused.
2012-11-21 13:20:05 -08:00
Bobby Holley
f56e3f9249 Bug 808608 - Remove specialized Location security wrappers. r=mrbkap 2012-11-21 13:20:05 -08:00
Peter Van der Beken
4362399169 Fix for bug 811895 (Fix WN Xray special methods so they can take new DOM binding objects). r=bz.
--HG--
extra : rebase_source : 4b4ade0c3cddee9241e94f2e20216cee73a8e284
2012-09-26 16:17:51 +02:00
Bobby Holley
46b9d205df Bug 800915 - Remove the cx parameter and simplify various APIs. r=sfink,bz
If callers want to throw, it's now their responsibility.
2012-11-14 09:56:26 -08:00
Bobby Holley
1352e469d8 Bug 800915 - Reimplement PUNCTURE consumers in terms of isSafeToUnwrap() and remove PUNCTURE API. r=mrbkap 2012-11-14 09:56:25 -08:00
Bobby Holley
6eebf2b4d4 Bug 800915 - Add infrastructure to flag security wrappers as unsafe to unwrap. r=mrbkap 2012-11-14 09:56:25 -08:00
Bobby Holley
a36b720564 Bug 800915 - Clarify and refine the semantics of SecurityWrapper so that it is used if and only if unwrapping is unsafe. r=mrbkap
The naming scheme for Xray typedefs is the concatenation of the tuple:
({SC,}, {Security,Permissive}, Xray, {XPCWN,DOM}). This is admittedly a bit
much, but I think it's still better than explicitly doing the "typdef Foo Xray"
everywhere. Moreover, once the new DOM bindings are done, the last component
in the tuple will go away.
2012-11-14 09:56:25 -08:00
Bill McCloskey
89122b3c84 Bug 803376 - Allow wrappers to be reused (r=bholley) 2012-09-11 17:14:24 -07:00
Boris Zbarsky
f05491aec8 Bug 779048 part 0.5. Don't require a JSContext argument for nsJSUtils::GetStaticScriptGlobal. r=bholley 2012-11-09 07:43:57 -08:00
Bobby Holley
73334e2a83 Bug 805807 - Filter setters. r=mrbkap 2012-11-07 15:45:50 -08:00
Bobby Holley
0d4bc850b4 Bug 808611 - Move valueOf to nsIDOMLocation. r=mrbkap 2012-11-07 08:27:23 -08:00
Bobby Holley
327f8ca891 Bug 807179 - Add a constructor for JSPropertyDescriptor. r=luke 2012-11-05 17:49:44 -08:00
Boris Zbarsky
e0cb69bbd9 Bug 807548. Enumerating an Xray should not see the 'constructor' property on DOM prototypes unless we're told to include non-enumerable properties. r=peterv 2012-11-05 11:58:03 -05:00
Bobby Holley
8b06fa3c7e Bug 805807 - Rearchitect filtering policies so that check() doesn't throw on denial. r=mrbkap
This is another one of those annoying situaitons in XPConnect right now where we
can't ask a question without potentially throwing if the answer is no. There's
also a bunch of unused cruft in here (like the Perm*Access stuff), so this stuff
was ripe for a spring cleaning. Unfortunately, I wasn't able to divide this patch
up nicely. Sorry for the big diff. :-(

In a nutshell, this patch changes things so that Policy::check() just becomes
a predicate that says whether the access is allowed or not. There's the remote
possibility that one of the underlying JSAPI calls in a ::check() implementation
might throw, so callers to ::check() should check JS_IsExceptionPending
afterwards (this doesn't catch OOM, but we can just continue along until the
next OOM-triggering operation and throw there).

Aside from exceptional cases, callers should call Policy::deny if they want to
report the failure. Policy::deny returns success value that should be returned
to the wrapper's consumer.
2012-11-02 21:47:49 -03:00
Bobby Holley
c351c18d32 Bug 805807 - Make Components wrapper throw on denial. r=mrbkap
There's really no reason to use the wishy-washy static COW Deny() here.

Also, note that the xpcshell-test wasn't testing what it thought it
was - interfaces is accessible from content code.
2012-11-02 21:47:49 -03:00
Ed Morley
b159aab211 Backout 23c9f61a243b & 6ca11f4b470c (bug 805807) for mochitest-1 orange in test_contextmenu.html 2012-11-02 14:12:51 +00:00
Bobby Holley
2d408f61a6 Bug 805807 - Rearchitect filtering policies so that check() doesn't throw on denial. r=mrbkap
This is another one of those annoying situaitons in XPConnect right now where we
can't ask a question without potentially throwing if the answer is no. There's
also a bunch of unused cruft in here (like the Perm*Access stuff), so this stuff
was ripe for a spring cleaning. Unfortunately, I wasn't able to divide this patch
up nicely. Sorry for the big diff. :-(

In a nutshell, this patch changes things so that Policy::check() just becomes
a predicate that says whether the access is allowed or not. There's the remote
possibility that one of the underlying JSAPI calls in a ::check() implementation
might throw, so callers to ::check() should check JS_IsExceptionPending
afterwards (this doesn't catch OOM, but we can just continue along until the
next OOM-triggering operation and throw there).

Aside from exceptional cases, callers should call Policy::deny if they want to
report the failure. Policy::deny returns success value that should be returned
to the wrapper's consumer.
2012-11-02 13:27:59 +01:00
Bobby Holley
ac090a0e20 Bug 805807 - Make Components wrapper throw on denial. r=mrbkap
There's really no reason to use the wishy-washy static COW Deny() here.

Also, note that the xpcshell-test wasn't testing what it thought it
was - interfaces is accessible from content code.
2012-11-02 13:27:59 +01:00
Peter Van der Beken
1ef60a85a4 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Bobby Holley
b4461f0bed Bug 803068 - Merge DirectWrapper and Wrapper. r=ejpbruel
--HG--
extra : rebase_source : a2b98a9585c6f7761747cfaf55684e6eeed91344
2012-10-29 16:52:53 +01:00
Bobby Holley
8eabbd467b Bug 803068 - Manually grab the BaseProxyHandler derived traps in SandboxProxyHandler. r=ejpbruel
Let's just bite the bullet and do this here. It will let us get rid of
IndirectProxyHandler, which has really overcomplicated our proxy hierarchy.

--HG--
extra : rebase_source : 7e81529936bc256d672e40537eb6abca6374e52c
2012-10-29 16:52:53 +01:00
Bobby Holley
6bae1ef04d Bug 797821 - Address Ms2ger's review comments. r=me 2012-10-25 17:01:09 +02:00
Bobby Holley
c562949e50 Bug 797821 - Hoist XPConnect-y stuff out of the compartment private and into the XPCWrappedNativeScope. r=mrbkap
This change means we no longer have to keep around a set of XPConnect compartments.
We keep the compartment private around for non-xpconnecty stuff like about:memory
instrumentation that needs to happen on non-xpconnect compartments.
2012-10-25 17:01:09 +02:00
Bobby Holley
32af1d27d9 Bug 801576 - Forbid cross-origin access to the History object. r=mrbkap 2012-10-24 12:04:18 +02:00
Peter Van der Beken
0fca6b2112 Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
Bobby Holley
8f227813bb Bug 793969 - Define an identity transformation at the Xray layer. r=mrbkap 2012-10-19 21:00:48 +02:00
Isaac Aggrey
5d8d5083ea Bug 794510: Part 1 - Build with NO_NSPR_10_SUPPORT by default; r=ehsan,glandium,wtc 2012-10-11 01:00:54 -05:00
Bobby Holley
220736fd0b Bug 797204 - Consolidate XBL filename hack logic into nsContentUtils. r=mrbkap
These two functions do the exact same thing, as far as I can tell.
2012-10-10 11:01:26 +02:00
Boris Zbarsky
a8b8db0ee0 Bug 798011. Deal with JS_ValueToString failing. r=gabor 2012-10-06 12:06:24 -04:00
Bobby Holley
54d2fc8eec Bug 761695 - Put Proxy and DOM expandos on the expando object, rather than the holder. r=peterv 2012-10-05 18:59:24 +02:00
Bobby Holley
19863fe088 Bug 761695 - Hoist expando-checking (but not expando-creating) operations into common code. r=peterv
We do this for delete_, enumerateNames, and resolveOwnProperty. This doesn't change
existing behavior, because for ProxyXrayTraits and DOMXrayTraits the expando object
will (currently) always be null.
2012-10-05 18:59:24 +02:00
Bobby Holley
b6b60bd403 Bug 761695 - Create XrayTraits::resolveOwnProperty. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
2f074e80e0 Bug 761695 - Reorder checks for expandos and nodePrincipal. r=peterv
Peter and I decided this was ok. We can't hoist expando stuff otherwise.
2012-10-05 18:59:23 +02:00
Bobby Holley
02fbd34534 Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.

I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Bobby Holley
513593624e Bug 761695 - Move wrapper preservation stuff into a virtual trap. r=peterv
I'm not sure this stuff is correct for non-WN objects. Hopefully that will
come out in review.

Anyway, with this change, the expando infrastructure in XrayTraits is now
fully generic and non-WN-specific. To make things work for other objects,
we now need to implement the virtual traps and hoist the code that calls the
expando machinery out of XPCWrappedNativeXrayTraits.
2012-10-05 18:59:23 +02:00
Bobby Holley
764ba38fdf Bug 761695 - Make expando chain getting/setting a virtual trap. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
522451000d Bug 761695 - Hoist expando infrastructure into XrayTraits. r=peterv
It's still WN-only, now we can move the WN-only bits into virtual traps.

Note that the new-binding reparenting code will need to have a call to
CloneExpandoChain.
2012-10-05 18:59:23 +02:00
Bobby Holley
2b6769e01a Bug 761695 - Hoist Xray identification machinery into XrayWrapper, and use it for trait identification. r=peterv
We don't currently have a good way of selecting the traits used by a given Xray
wrapper. This lets us do that.

Note: We add a call to js::UnwrapObject to GetXrayType while hoisting it. When
it was used only in WrapperFactory, this was unnecessary, because |obj| was
always unwrapped. But for our new purposes, it might not be. Aside from that,
there are no changes to the function.
2012-10-05 18:59:23 +02:00
Bobby Holley
52b466bd70 Bug 761695 - Move Xray expando infrastructure further down in the file. r=peterv
Just cut/paste. No code changes.
2012-10-05 18:59:23 +02:00
Bobby Holley
f025bdc025 Bug 761695 - Unify holder creation and access. r=peterv
With this patch, all holders are created lazily. There are two common accessors,
getHolder() and ensureHolder(). The former returns null if no holder exists, the
latter lazily creates the holder if it doesn't exist. It does this by calling into
a virtual trap on XrayTraits, which lets the appropriate Xray type do its thing.
2012-10-05 18:59:23 +02:00
Bobby Holley
7ca744b818 Bug 761695 - Get the WN directly from the wrapper. r=peterv
All this indirection was getting seriously mucky. This, incidentally, means that
the XPCWN holder no longer needs a reserved slot pointing to the WN.
2012-10-05 18:59:23 +02:00
Bobby Holley
b250c23a43 Bug 761695 - Hoist call and construct traps into Traits, since the current implementations are XPCWN-specific. r=peterv 2012-10-05 18:59:22 +02:00
Bobby Holley
1a61d79fcf Bug 761695 - Rename getInnerObject to getTargetObject. r=peterv
The current name potentially implies that the object returned is an inner
object in the JS sense, which isn't true. Really we just want the thing
we're Xraying to.
2012-10-05 18:59:22 +02:00
Bobby Holley
c701c6c8c9 Bug 761695 - Hoist getInnerObject into XrayTraits. r=peterv
The only special handling here with wrapped natives is to make sure that we
bypass outer windows. But we can do this with js::UnwrapObject.
2012-10-05 18:59:22 +02:00
Bobby Holley
4d248020dd Bug 761695 - Make Xray traits inherit from a common superclass and give them a singleton instance. r=peterv
There's some code that can be shared between different Xray traits, but can't
(yet) be hoisted into XrayWrapper, because it needs to be callable from outside
XrayWrapper where we don't have the appropriate template parameters. Moreover,
this code benefits from virtual function specialization. The use case here is
illuminated in the next patch.

For the moment, we skip converting the bulk of the traits calls to virtual
methods, because they're working just fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
22cdfb3eb3 Bug 761695 - Stop stashing a raw WN pointer in XPCWN Xray holders. r=peterv
We might as well do this dynamically, which simplifies the code. Note that we
could avoid the reserved slot by parenting the holder to the wrapper. But the
JS parent API is deprecated, and we need to move away from it to reserved slots
anyhow. We might as well start here, with the added advantage that parenting
to the global makes us consistent with the other Xray types.
2012-10-05 18:59:22 +02:00
Bobby Holley
612c502d18 Bug 761695 - Simplify XPCWN Xray holder creation. r=peterv
The major semantic change here is that we parent holders directly to their
global. This should be fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
340b28c0bd Bug 761695 - Fix inaccurate commenting. r=peterv
The .wrappedJSObject property only exists when the Xray wrapper subsumes the wrappee.
2012-10-05 18:59:22 +02:00
Bobby Holley
b9afeeb542 Bug 795275 - Introduce an explicit mechanism for determining if a script is from XBL. r=mrbkap
We want this right now so that we can avoid the scary warning when content Components
access happens in XBL (which we're allowing going forward). This patch would be overkill
just for that, but I also have plans to introduce a SOW-like protection of the Components
wrapper filtering policy. I can't just do the filename hack for that though, because real-
world XBL filenames might be all over the place. So let's just be safe here.
2012-10-03 11:44:18 +02:00
Bobby Holley
5d4e37827c Bug 795275 - Clean up isSystemOnlyAccessPermitted. r=mrbkap
A lot of this stuff can be simplified now, and we can stop using the deprecated APIs.
2012-10-03 11:44:18 +02:00
Bobby Holley
4a8ed6d4a9 Bug 794912 - Remove dynamic privilege check in isCrossOriginAccessPermitted. r=mrbkap 2012-10-01 23:13:49 +02:00
Bill McCloskey
b30e41fd01 Bug 787856 - Use lazy protos for cross-compartment wrappers (r=bholley) 2012-09-03 16:42:22 -07:00
Bill McCloskey
2e75082f62 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Bill McCloskey
88913893e5 Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Ms2ger
1cee7fe10d Bug 792474 - Don't JS_ASSERT in xpconnect; rs=bholley 2012-09-20 09:55:37 +02:00
Gabor Krizsanits
56f2a0f30d Bug 791845 - mozMatchesSelectorStub should return false on error. r=bholley 2012-09-19 10:53:42 +02:00
Bobby Holley
f1fd4b30db Bug 789713 - Ignore domain when computing whether to share non-PreCreate WNs cross-compartment. r=mrbkap 2012-09-11 10:23:20 -07:00
Bobby Holley
4473d2369c Bug 788914 - Kill the XOW flag. r=mrbkap
There are really two questions to be asked: is the caller chrome, and does the
caller subsume the callee. We have other, more precise ways of asking both of
these questions.
2012-09-11 01:05:10 -07:00
Bobby Holley
9d14b3e60e Bug 788914 - Kill partially transparent wrappers. r=mrbkap 2012-09-11 01:05:10 -07:00
Bobby Holley
0900323b2e Bug 788914 - Remove dynamic UniversalXPConnect checks sprinkled around the wrapper code. r=mrbkap 2012-09-11 01:05:10 -07:00
Bobby Holley
a3e2696480 Bug 788914 - Generate vanilla cross-compartment wrappers when UniversalXPConnect is enabled. r=mrbkap 2012-09-11 01:05:10 -07:00
Ryan VanderMeulen
bdca80da9c Backout bug 788914 and bug 789494 because they were backed out on inbound. 2012-09-07 19:40:57 -04:00
Bobby Holley
cd6c993710 Bug 788914 - Kill the XOW flag. r=mrbkap
There are really two questions to be asked: is the caller chrome, and does the
caller subsume the callee. We have other, more precise ways of asking both of
these questions.
2012-09-07 11:28:56 -07:00
Bobby Holley
cc73672f56 Bug 788914 - Kill partially transparent wrappers. r=mrbkap 2012-09-07 11:28:56 -07:00
Bobby Holley
b0860342e5 Bug 788914 - Remove dynamic UniversalXPConnect checks sprinkled around the wrapper code. r=mrbkap 2012-09-07 11:28:56 -07:00
Bobby Holley
c07d959563 Bug 788914 - Generate vanilla cross-compartment wrappers when UniversalXPConnect is enabled. r=mrbkap 2012-09-07 11:28:56 -07:00
Ed Morley
38c6f2fdd8 Backout 5853df66d488, e8fadd906232, d787279d282c, 8c1ed6327355, 94cfcf5da7c8, 87aa103d7e87 (bug 585922) for failures in test_bug411236.html 2012-09-07 09:15:34 +01:00
Bobby Holley
27358249f4 Bug 788914 - Kill the XOW flag. r=mrbkap
There are really two questions to be asked: is the caller chrome, and does the
caller subsume the callee. We have other, more precise ways of asking both of
these questions.
2012-09-06 22:55:18 -07:00
Bobby Holley
3b8d75b1cc Bug 788914 - Kill partially transparent wrappers. r=mrbkap 2012-09-06 22:55:18 -07:00
Bobby Holley
5b16b0b95a Bug 788914 - Remove dynamic UniversalXPConnect checks sprinkled around the wrapper code. r=mrbkap 2012-09-06 22:55:18 -07:00
Bobby Holley
5ef4ab7e3c Bug 788914 - Generate vanilla cross-compartment wrappers when UniversalXPConnect is enabled. r=mrbkap 2012-09-06 22:55:18 -07:00
Andrew Sutherland
6801aff464 Bug 786639 - XPCChromeObjectWrapper __exposedProps__ should expose the content of typed arrays like UInt8Array. r=bholley 2012-09-05 14:05:32 -07:00
Bobby Holley
c466facab9 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-09-05 11:32:07 -07:00
Gabor Krizsanits
a4a418d2ac Bug 763897 - Incorrect behaviour of mozMatchesSelector.call through xray; r=bholley 2012-08-27 15:15:20 +02:00
Gabor Krizsanits
56e99a4fb8 Bug 738244 - Supporting DOM specific collection properties through xray wrappers; r=mrbkap 2012-08-27 15:06:34 +02:00
Luke Wagner
63a0cd67e4 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
5e47d4412f 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
16ae087b54 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
75665c581c 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
deff3652d9 Fix for bug 785188 (Make Xrays work with newest DOM list bindings). r=mrbkap. 2012-06-06 21:52:26 +02:00
Luke Wagner
94264a0bc8 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
18c0268620 Bug 625199 - kill dummy frames (r=mrbkap)
--HG--
extra : rebase_source : df4e3bddabf20cdc5b9122370fa62b40e64177c7
2012-08-17 18:05:06 -07:00
Bobby Holley
a2d7eabc5a 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
13f425b97c 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
625511572e 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
da84660fd1 Backed out changeset 61e9eaf9aae2
--HG--
extra : rebase_source : 30fb2e7a057482412d29a96f8b8e98135beb6a79
2012-08-20 21:07:07 -07:00
Bobby Holley
e4a6e10695 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
4a569927e2 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
4f30addfaf 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
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
Tom Schuster
1941fb1bb4 Bug 752226 - Remove any use of JSVAL_IS_OBJECT. r=luke,Ms2ger
--HG--
extra : rebase_source : edf2077f8b8bad1970eab6ebe9996e761d4e596c
2012-05-11 17:46:26 +02:00
Boris Zbarsky
32c7f6e634 Bug 742217. Reduce the use of nested namespaces in our binding code. r=peterv,bent
In the new setup, all per-interface DOM binding files are exported into
mozilla/dom.  General files not specific to an interface are also exported into
mozilla/dom.

In terms of namespaces, most things now live in mozilla::dom.  Each interface
Foo that has generated code has a mozilla::dom::FooBinding namespace for said
generated code (and possibly a mozilla::bindings::FooBinding_workers if there's
separate codegen for workers).

IDL enums are a bit weird: since the name of the enum and the names of its
entries all end up in the same namespace, we still generate a C++ namespace
with the name of the IDL enum type with "Values" appended to it, with a
::valuelist inside for the actual C++ enum.  We then typedef
EnumFooValues::valuelist to EnumFoo.  That makes it a bit more difficult to
refer to the values, but means that values from different enums don't collide
with each other.

The enums with the proto and constructor IDs in them now live under the
mozilla::dom::prototypes and mozilla::dom::constructors namespaces respectively.
Again, this lets us deal sanely with the whole "enum value names are flattened
into the namespace the enum is in" deal.

The main benefit of this setup (and the reason "Binding" got appended to the
per-interface namespaces) is that this way "using mozilla::dom" should Just
Work for consumers and still allow C++ code to sanely use the IDL interface
names for concrete classes, which is fairly desirable.

--HG--
rename : dom/bindings/Utils.cpp => dom/bindings/BindingUtils.cpp
rename : dom/bindings/Utils.h => dom/bindings/BindingUtils.h
2012-05-03 00:35:38 -04:00
Mark Capella
2599ced77f Bug 723530 - double error reporting in ctype JS api implementation, r=bholley 2012-04-27 12:47:00 +02:00
Gabor Krizsanits
4ab96d9a72 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-28 09:12:28 -04:00
Eddy Bruel
8266662238 Bug 703537: Removing the fix trap r=jorendorff@mozilla.com 2012-04-27 17:09:32 -04:00
Ryan VanderMeulen
3d3d4922c1 Backout a0b3af4ac9f5 (bug 735280) due to Android jsreftest orange. 2012-04-25 21:59:36 -04:00
Gabor Krizsanits
0f38ab4f31 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-25 20:12:33 -04:00
Ryan VanderMeulen
d485f6d4b3 Backout 0b170d1f5d10 (bug 735280) due to red. 2012-04-24 22:09:23 -04:00
Gabor Krizsanits
f58f1c2ecd Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-24 21:48:02 -04:00
Boris Zbarsky
a3e1420cf0 Bug 726949. Instead of using the given proto for the sandbox directly, use a proxy that forwards to the given proto but rebinds all getters/setters/methods to use the given proto, not the sandbox global, as this. r=bholley, a=tracking-firefox
The code in XPCQuickStubs.h just moved from XPCQuickStubs.cpp.
2012-04-19 14:19:41 -04:00
David Anderson
f84d3b7b8d Remove more uses of JS_FrameIterator (bug 744617, r=mrbkap). 2012-04-16 12:30:04 -07:00
David Anderson
2b1abddde3 Remove simple JS_FrameIterator uses in xpconnect (bug 744617, r=bholley).
--HG--
extra : rebase_source : c206450cf46011543f58cded4c5aff2d49932afd
2012-04-16 12:25:28 -07:00
Gabor Krizsanits
c306ffc838 Bug 733035 - postMessage support for sandboxes. r=khuey 2012-04-05 18:33:20 -04:00
Bobby Holley
6d5b3754f7 Bug 739796 - Make same-origin cross-compartment Location object access go through the LW in the host compartment. r=gal
--HG--
extra : rebase_source : d5e07d4628bfd5990d127b4316219a43c4e0de88
2012-04-05 12:21:12 -07:00
Peter Van der Beken
c2e642fbcc Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00
Peter Van der Beken
42c9f22f81 Fix for bug 740064 (Refactor XrayWrapper). r=bholley.
--HG--
extra : rebase_source : 60559d74b10761a794d83a0a63dc60a92b2d48eb
2012-03-27 16:31:37 -07:00
Luke Wagner
bcfb0e3bd1 Bug 733793 - Check for null return from JS_ObjectToOuterObject (r=bholley)
--HG--
extra : rebase_source : 2b7fbb3a72f641785de7f7707e9b6e8013b4eb6d
2012-03-28 16:15:38 -07:00
Bobby Holley
e3df69dd0f Bug 738874 - Don't allow non-classinfo XPCWNs to be wrapped cross-compartment. r=mrbkap 2012-03-25 22:35:50 -07:00
Bobby Holley
5213bf72dd Bug 733984 - Explicitly disallow shadowing on location wrappers. r=mrbkap
This was taken care of in other ways before, but we need to be more explicit about it now that we're doing more Xray stuff with Location wrappers.
2012-03-23 15:58:18 -07:00
Bobby Holley
f8fe97314f Bug 667388 - Introduce the PUNCTURE wrapper action. r=mrbkap 2012-03-23 14:59:27 -07:00
Bobby Holley
563b97de8f Bug 667388 - Make the chrome-to-content Xray wrapper derive CrossCompartmentWrapper. r=mrbkap
The current situation seems incorrect, especially given the behavior of CrossOriginWrapper and XrayProxy. Currently it doesn't matter, but it probably will in the future.
2012-03-23 14:59:27 -07:00
Bobby Holley
4a0cc78ae2 Bug 733984 - Apply Location wrappers for same-origin cross-compartment wrapping. r=mrbkap
This isn't an issue right now, since it can't ever happen outside of sandboxes, which content can't use. But if it could, it could get a pure CrossCompartmentWrapper to a Location object, which is bad.
2012-03-23 14:59:23 -07:00
Bobby Holley
da79fb87b2 Bug 733984 - Use the Location security policy even for content accessing chrome. r=mrbkap
I'm adding asserts about when we do and don't have a Location object behind the wrapper, and this case was hitting them. What we do here doesn't so much matter given how this stuff all works. On the one hand, statically using a restrictive policy is slightly more defense-in-depth. On the other hand, if this stuff is broken we're screwed in much more serious ways than content reading chrome locations, and using a consistent wrapper scheme allows us to make stronger asserts and assumptions.

I opted for stronger assumptions and more understandable security code. If Blake feels strongly though, I could go the other way and sprinkle '|| isChrome(obj)' throughout the asserts though.
2012-03-23 14:59:19 -07:00
Bobby Holley
1b0610af05 Bug 733984 - Clarify the security characteristics of Location objects. r=mrbkap
I was getting confused by some of the naming and lack of comments here.
2012-03-23 14:59:07 -07:00
Bobby Holley
ac2c44ee09 Bug 733984 - Stop specializing createHolder, and simplify holder creation in WrapperFactory::Rewrap. r=mrbkap 2012-03-23 14:59:04 -07:00
Igor Bukanov
877dee50e1 bug 736978 - remove JS_FinalizeStub. r=:billm
Currently the GC finalizes on the background thread only objects with null
JSClass::finalize. However, this implies that any object that uses
JS_FinalizeStub for the finalizer would be prevented from the background
finalization.

To fix this the patch removes JS_FinalizeStub replacing it with NULL in all
cases when the class has no custom finalizer. For style consistency the patch
also removed the usage of JSCLASS_NO_OPTIONAL_MEMBERS in the static
declarations as the compiler fills the missing fields with null in any cases.
2012-03-19 15:27:58 +01:00
Bobby Holley
7aa891a8c8 Bug 734475 - Take the full union of native sets when bringing non-PreCreate XPWNs across compartments. r=mrbkap 2012-03-16 12:47:20 -07:00
Igor Bukanov
30d3de8268 bug 728250 - remove JSPrincipals::codebase. r=:luke,:bz
In just 2 cases where JSPrincipals::codebase is used it can be reconstructed from the values stored in the associated nsJSPrincipal. In addition the patch makes nsJSprincipals to inherit both from nsIPrincipal and JSPrincipals allowing to use static_cast to convert between nsIPrincipal and JSPrincipals pointers and to drop many cases of manual JSPrincipal reference counting.
2012-03-09 10:48:50 +01:00
Igor Bukanov
3732e3e290 bug 730281 - remove cx argument from GC and compartment related functions. r=:billm 2012-02-29 13:18:16 +01:00
David Mandelin
0be0db4666 Bug 730511: remove obsolete typedefs intN, uintN, r=luke 2012-02-28 15:11:11 -08:00
Daniel Holbert
72dfdfe8df Bug 730074: Use JSCLASS_NO_OPTIONAL_MEMBERS in JSClass definition within XrayWrapper.cpp, to fix build warning about missing braces. r=mrbkap 2012-02-24 14:31:49 +01:00
Bill McCloskey
03499f06a0 Bug 716067 - UnmarkGray more often (r=bent) 2012-02-10 18:32:13 -08:00
Phil Ringnalda
aa7113899f Back out 5f623a11c6cb (bug 713226), 1ed8ccf96402 (bug 721579), 32af27f89c49 (bug 722028), 1300d282fd22 (bug 716067), dc0f6ad7eff3 (bug 723313), 0d2ab3f2e9b9 (bug 723773) for talos crashes 2012-02-10 19:47:48 -08:00
Bill McCloskey
c96a433a29 Bug 716067 - UnmarkGray more often (r=bent) 2012-02-10 18:32:13 -08:00
Igor Bukanov
18e6a2e079 bug 724310 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : b78519db2ff008eb5143676d2db47935f0e89f45
2012-02-05 21:07:23 +01:00
Igor Bukanov
eb3cfce3dc backout merge for bug 724310. r=irc 2012-02-09 21:28:22 +01:00
Igor Bukanov
efe64d22c0 bug 723517 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : c461dfc0e0e0462ab262cc01c2a771d3bb0971cc
2012-02-05 21:07:23 +01:00
Igor Bukanov
afb57a37a5 bug 723517 - Drop cx argumrent from JS_GetClass(cx, obj). r=luke 2012-02-04 01:54:57 +01:00
Blake Kaplan
2718588789 Bug 723111 - Add an option to js::UnwrapObject so that it doesn't stop at outer windows when unwrapping. This is useful for cases where we are trying to find the wrapped native for a security wrapper. r=bzbarsky 2012-01-26 14:55:27 +01:00
Phil Ringnalda
23ca89ddfb Back out 9aac714775b9 (bug 723111) for make check orange 2012-02-01 10:25:04 -08:00
Blake Kaplan
7cce8db259 Bug 723111 - Add an option to js::UnwrapObject so that it doesn't stop at outer windows when unwrapping. This is useful for cases where we are trying to find the wrapped native for a security wrapper. r=bzbarsky
--HG--
extra : rebase_source : 51216cf21b63554e50633c89f393c5888241dee2
2012-01-26 14:55:27 +01:00
Ms2ger
eabd14ca4c Bug 677079 - Part y: Move AutoIdVector to jsapi.h; r=evilpie 2012-01-15 09:13:11 +01:00
Ms2ger
073f6de1f2 Bug 677079 - Part m: Expose context's compartment in jsfriendapi.h; r=jorendorff 2012-01-15 09:13:09 +01:00
Ms2ger
aec664aa8d Bug 677079 - Part b: Use existing JSAPI functions where those are available; r=bholley 2012-01-15 09:13:07 +01:00
Ms2ger
7f96c272cf Bug 716357 - Fix license header in FilteringWrapper.cpp; r=gerv DONTBUILD 2012-01-11 17:12:21 +01:00
Ms2ger
b320983b67 Bug 714458 - Part c: Don't include jscntxt.h in xpcprivate.h; r=bholley
This removes the inclusion from xpcprivate.h, and adds the include to XPConnect
files that still need it, along with notes to clarify what these files need
from the include. These notes will be removed while fixing bug 677079.
2012-01-11 09:23:08 +01:00
Ms2ger
29d457f80c Bug 714057 - Remove uintn users from XPConnect; r=bholley+khuey 2012-01-02 19:05:19 +01:00
Ms2ger
3483b813ea Bug 711859 - Add an IsObjectInContextCompartment API; seems-better-than-the-alternative-all-things-considered=Waldo 2011-12-24 09:28:55 +01:00
Jeff Walden
9d7141da5c Add MOZ_OVERRIDE to CrossOriginWrapper functions. No bug (but sort of r=luke from bug 708735 :-) )
--HG--
extra : rebase_source : d0bdbc8c031457a3a9f7f8cc82d141e0d83883f4
2011-12-15 14:32:25 -05:00
Bobby Holley
bbdbbf662a Bug 706301 - Don't cache own properties on XrayProxy. r=mrbkap 2011-12-06 11:05:26 -08:00
Brian Hackett
356489907c Merge MC -> JM 2011-12-03 10:34:26 -08:00
Brian Hackett
d3db56074b Merge MC -> JM 2011-12-01 11:51:09 -08:00
Brian Hackett
4fa421bf15 Merge MC -> JM 2011-11-30 12:45:27 -08:00
Ms2ger
8495f5a854 Bug 701467 - Remove JS_TRUE/JS_FALSE from xpconnect; r=bholley 2011-11-26 11:05:59 +01:00
Felix Fung
61c8c22ee9 Bug 498543 - Null-checking JS_THIS_OBJECT Results. r=jwalden 2011-12-01 13:30:28 -08:00
Brian Hackett
5226910bd6 Replace uses of GetObjectGlobal with JS_GetGlobalForObject, no bug. 2011-11-09 10:34:54 -08:00
Johnny Stenback
e57eb36355 Fixing bug 690952. Move window.navigator from the outer window to the inner window, and stop persisting it across same origin page navigations. r=mrbkap@gmail.com 2011-12-01 00:28:16 -08:00
Blake Kaplan
fcc6580746 Bug 665279 - Resolve interface constants properly through Xray wrappers. r=peterv 2011-09-21 19:16:50 -07:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Jeff Walden
b7753477cf Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones
--HG--
extra : rebase_source : b4bae9a0f85abf2feb828609b50e756916b99a6f
2011-10-10 22:50:08 -07:00
Bobby Holley
fe5eea5a3e Bug 688012 - Manual fixup of overzealous brace hoisting. r=mrbkap 2011-10-14 10:52:49 -07:00
Bobby Holley
c761202fa0 Bug 688012 - Hoist 'else' clauses to the line of the previous close-curly-brace. r=mrbkap
xpcfix -epc `find | grep -P "cpp$|h$" | perl -pe 's/\n/ /'`

This is a conservative pass, which doesn't catch absolutely all cases. But it should be good enough.
2011-10-14 10:52:48 -07:00
Bobby Holley
dfadea33ce Bug 688012 - Move the open-brace for if, else, for, while, and switch to the same line as the keyword or condition. r=mrbkap
xpcfix -bpc `find | grep -P "cpp$|h$" | perl -pe 's/\n/ /'`

This is a huge, repetitive patch, and I confess having only skimmed a lot of it. I'm reasonably confident in the tool here though.

Updated to fix 'else' as well.
2011-10-14 10:52:48 -07:00
Bobby Holley
efc8a150ec Bug 688012 - Add space between keyword and paren for: if, for, while, and switch. r=mrbkap
xpcfix -spuc `find | grep -P "cpp$|h$" | perl -pe 's/\n/ /'`

git diff -w is empty here as well.
2011-10-14 10:52:48 -07:00
Bobby Holley
31a5711dcb Bug 691411 - Move js/src/xpconnect to js/xpconnect and rename source files while we're at it. r=khuey, sr=mrbkap
--HG--
rename : js/src/xpconnect/Makefile.in => js/xpconnect/Makefile.in
rename : js/src/xpconnect/crashtests/117307-1.html => js/xpconnect/crashtests/117307-1.html
rename : js/src/xpconnect/crashtests/193710.html => js/xpconnect/crashtests/193710.html
rename : js/src/xpconnect/crashtests/290162-1.html => js/xpconnect/crashtests/290162-1.html
rename : js/src/xpconnect/crashtests/326615-1.html => js/xpconnect/crashtests/326615-1.html
rename : js/src/xpconnect/crashtests/328553-1.html => js/xpconnect/crashtests/328553-1.html
rename : js/src/xpconnect/crashtests/346258-1.html => js/xpconnect/crashtests/346258-1.html
rename : js/src/xpconnect/crashtests/346512-1-frame1.xhtml => js/xpconnect/crashtests/346512-1-frame1.xhtml
rename : js/src/xpconnect/crashtests/346512-1-frame2.xhtml => js/xpconnect/crashtests/346512-1-frame2.xhtml
rename : js/src/xpconnect/crashtests/346512-1.xhtml => js/xpconnect/crashtests/346512-1.xhtml
rename : js/src/xpconnect/crashtests/382133-1.html => js/xpconnect/crashtests/382133-1.html
rename : js/src/xpconnect/crashtests/386680-1.html => js/xpconnect/crashtests/386680-1.html
rename : js/src/xpconnect/crashtests/394810-1.html => js/xpconnect/crashtests/394810-1.html
rename : js/src/xpconnect/crashtests/400349-1.html => js/xpconnect/crashtests/400349-1.html
rename : js/src/xpconnect/crashtests/403356-1.html => js/xpconnect/crashtests/403356-1.html
rename : js/src/xpconnect/crashtests/418139-1.svg => js/xpconnect/crashtests/418139-1.svg
rename : js/src/xpconnect/crashtests/420513-1.html => js/xpconnect/crashtests/420513-1.html
rename : js/src/xpconnect/crashtests/453935-1.html => js/xpconnect/crashtests/453935-1.html
rename : js/src/xpconnect/crashtests/462926.html => js/xpconnect/crashtests/462926.html
rename : js/src/xpconnect/crashtests/467693-1.html => js/xpconnect/crashtests/467693-1.html
rename : js/src/xpconnect/crashtests/468552-1.html => js/xpconnect/crashtests/468552-1.html
rename : js/src/xpconnect/crashtests/471366-1.html => js/xpconnect/crashtests/471366-1.html
rename : js/src/xpconnect/crashtests/475185-1.html => js/xpconnect/crashtests/475185-1.html
rename : js/src/xpconnect/crashtests/475291-1.html => js/xpconnect/crashtests/475291-1.html
rename : js/src/xpconnect/crashtests/503286-1.html => js/xpconnect/crashtests/503286-1.html
rename : js/src/xpconnect/crashtests/504000-1.html => js/xpconnect/crashtests/504000-1.html
rename : js/src/xpconnect/crashtests/509075-1.html => js/xpconnect/crashtests/509075-1.html
rename : js/src/xpconnect/crashtests/512815-1.html => js/xpconnect/crashtests/512815-1.html
rename : js/src/xpconnect/crashtests/515726-1.html => js/xpconnect/crashtests/515726-1.html
rename : js/src/xpconnect/crashtests/545291-1.html => js/xpconnect/crashtests/545291-1.html
rename : js/src/xpconnect/crashtests/558979.html => js/xpconnect/crashtests/558979.html
rename : js/src/xpconnect/crashtests/582649.html => js/xpconnect/crashtests/582649.html
rename : js/src/xpconnect/crashtests/601284-1.html => js/xpconnect/crashtests/601284-1.html
rename : js/src/xpconnect/crashtests/603146-1.html => js/xpconnect/crashtests/603146-1.html
rename : js/src/xpconnect/crashtests/603858-1.html => js/xpconnect/crashtests/603858-1.html
rename : js/src/xpconnect/crashtests/608963.html => js/xpconnect/crashtests/608963.html
rename : js/src/xpconnect/crashtests/616930-1.html => js/xpconnect/crashtests/616930-1.html
rename : js/src/xpconnect/crashtests/639737-1.html => js/xpconnect/crashtests/639737-1.html
rename : js/src/xpconnect/crashtests/648206-1.html => js/xpconnect/crashtests/648206-1.html
rename : js/src/xpconnect/crashtests/crashtests.list => js/xpconnect/crashtests/crashtests.list
rename : js/src/xpconnect/idl/Makefile.in => js/xpconnect/idl/Makefile.in
rename : js/src/xpconnect/idl/mozIJSSubScriptLoader.idl => js/xpconnect/idl/mozIJSSubScriptLoader.idl
rename : js/src/xpconnect/idl/nsIJSContextStack.idl => js/xpconnect/idl/nsIJSContextStack.idl
rename : js/src/xpconnect/idl/nsIJSEngineTelemetryStats.idl => js/xpconnect/idl/nsIJSEngineTelemetryStats.idl
rename : js/src/xpconnect/idl/nsIJSRuntimeService.idl => js/xpconnect/idl/nsIJSRuntimeService.idl
rename : js/src/xpconnect/idl/nsIScriptError.idl => js/xpconnect/idl/nsIScriptError.idl
rename : js/src/xpconnect/idl/nsIXPCScriptNotify.idl => js/xpconnect/idl/nsIXPCScriptNotify.idl
rename : js/src/xpconnect/idl/nsIXPCScriptable.idl => js/xpconnect/idl/nsIXPCScriptable.idl
rename : js/src/xpconnect/idl/nsIXPCSecurityManager.idl => js/xpconnect/idl/nsIXPCSecurityManager.idl
rename : js/src/xpconnect/idl/nsIXPConnect.idl => js/xpconnect/idl/nsIXPConnect.idl
rename : js/src/xpconnect/idl/xpcIJSGetFactory.idl => js/xpconnect/idl/xpcIJSGetFactory.idl
rename : js/src/xpconnect/idl/xpcIJSModuleLoader.idl => js/xpconnect/idl/xpcIJSModuleLoader.idl
rename : js/src/xpconnect/idl/xpcIJSWeakReference.idl => js/xpconnect/idl/xpcIJSWeakReference.idl
rename : js/src/xpconnect/idl/xpccomponents.idl => js/xpconnect/idl/xpccomponents.idl
rename : js/src/xpconnect/idl/xpcexception.idl => js/xpconnect/idl/xpcexception.idl
rename : js/src/xpconnect/idl/xpcjsid.idl => js/xpconnect/idl/xpcjsid.idl
rename : js/src/xpconnect/loader/Makefile.in => js/xpconnect/loader/Makefile.in
rename : js/src/xpconnect/loader/XPCOMUtils.jsm => js/xpconnect/loader/XPCOMUtils.jsm
rename : js/src/xpconnect/loader/mozJSComponentLoader.cpp => js/xpconnect/loader/mozJSComponentLoader.cpp
rename : js/src/xpconnect/loader/mozJSComponentLoader.h => js/xpconnect/loader/mozJSComponentLoader.h
rename : js/src/xpconnect/loader/mozJSLoaderUtils.cpp => js/xpconnect/loader/mozJSLoaderUtils.cpp
rename : js/src/xpconnect/loader/mozJSLoaderUtils.h => js/xpconnect/loader/mozJSLoaderUtils.h
rename : js/src/xpconnect/loader/mozJSSubScriptLoader.cpp => js/xpconnect/loader/mozJSSubScriptLoader.cpp
rename : js/src/xpconnect/loader/mozJSSubScriptLoader.h => js/xpconnect/loader/mozJSSubScriptLoader.h
rename : js/src/xpconnect/public/Makefile.in => js/xpconnect/public/Makefile.in
rename : js/src/xpconnect/public/nsAXPCNativeCallContext.h => js/xpconnect/public/nsAXPCNativeCallContext.h
rename : js/src/xpconnect/public/nsAutoJSValHolder.h => js/xpconnect/public/nsAutoJSValHolder.h
rename : js/src/xpconnect/public/xpc_map_end.h => js/xpconnect/public/xpc_map_end.h
rename : js/src/xpconnect/shell/Makefile.in => js/xpconnect/shell/Makefile.in
rename : js/src/xpconnect/shell/jsshell.msg => js/xpconnect/shell/jsshell.msg
rename : js/src/xpconnect/shell/xpcshell.cpp => js/xpconnect/shell/xpcshell.cpp
rename : js/src/xpconnect/shell/xpcshellMacUtils.h => js/xpconnect/shell/xpcshellMacUtils.h
rename : js/src/xpconnect/shell/xpcshellMacUtils.mm => js/xpconnect/shell/xpcshellMacUtils.mm
rename : js/src/xpconnect/src/Makefile.in => js/xpconnect/src/Makefile.in
rename : js/src/xpconnect/src/README => js/xpconnect/src/README
rename : js/src/xpconnect/src/xpccallcontext.cpp => js/xpconnect/src/XPCCallContext.cpp
rename : js/src/xpconnect/src/xpccomponents.cpp => js/xpconnect/src/XPCComponents.cpp
rename : js/src/xpconnect/src/xpccontext.cpp => js/xpconnect/src/XPCContext.cpp
rename : js/src/xpconnect/src/xpcconvert.cpp => js/xpconnect/src/XPCConvert.cpp
rename : js/src/xpconnect/src/xpcdebug.cpp => js/xpconnect/src/XPCDebug.cpp
rename : js/src/xpconnect/src/xpcexception.cpp => js/xpconnect/src/XPCException.cpp
rename : js/src/xpconnect/src/xpcforwards.h => js/xpconnect/src/XPCForwards.h
rename : js/src/xpconnect/src/xpcinlines.h => js/xpconnect/src/XPCInlines.h
rename : js/src/xpconnect/src/xpcjsid.cpp => js/xpconnect/src/XPCJSID.cpp
rename : js/src/xpconnect/src/xpcjsruntime.cpp => js/xpconnect/src/XPCJSRuntime.cpp
rename : js/src/xpconnect/src/xpcJSWeakReference.cpp => js/xpconnect/src/XPCJSWeakReference.cpp
rename : js/src/xpconnect/src/xpcJSWeakReference.h => js/xpconnect/src/XPCJSWeakReference.h
rename : js/src/xpconnect/src/xpclocale.cpp => js/xpconnect/src/XPCLocale.cpp
rename : js/src/xpconnect/src/xpclog.cpp => js/xpconnect/src/XPCLog.cpp
rename : js/src/xpconnect/src/xpclog.h => js/xpconnect/src/XPCLog.h
rename : js/src/xpconnect/src/xpcmaps.cpp => js/xpconnect/src/XPCMaps.cpp
rename : js/src/xpconnect/src/xpcmaps.h => js/xpconnect/src/XPCMaps.h
rename : js/src/xpconnect/src/xpcmodule.cpp => js/xpconnect/src/XPCModule.cpp
rename : js/src/xpconnect/src/xpcmodule.h => js/xpconnect/src/XPCModule.h
rename : js/src/xpconnect/src/xpcquickstubs.cpp => js/xpconnect/src/XPCQuickStubs.cpp
rename : js/src/xpconnect/src/xpcquickstubs.h => js/xpconnect/src/XPCQuickStubs.h
rename : js/src/xpconnect/src/xpcruntimesvc.cpp => js/xpconnect/src/XPCRuntimeService.cpp
rename : js/src/xpconnect/src/xpcstack.cpp => js/xpconnect/src/XPCStack.cpp
rename : js/src/xpconnect/src/xpcstring.cpp => js/xpconnect/src/XPCString.cpp
rename : js/src/xpconnect/src/xpcthreadcontext.cpp => js/xpconnect/src/XPCThreadContext.cpp
rename : js/src/xpconnect/src/xpcthrower.cpp => js/xpconnect/src/XPCThrower.cpp
rename : js/src/xpconnect/src/xpcvariant.cpp => js/xpconnect/src/XPCVariant.cpp
rename : js/src/xpconnect/src/xpcwrappedjs.cpp => js/xpconnect/src/XPCWrappedJS.cpp
rename : js/src/xpconnect/src/xpcwrappedjsclass.cpp => js/xpconnect/src/XPCWrappedJSClass.cpp
rename : js/src/xpconnect/src/xpcwrappednative.cpp => js/xpconnect/src/XPCWrappedNative.cpp
rename : js/src/xpconnect/src/xpcwrappednativeinfo.cpp => js/xpconnect/src/XPCWrappedNativeInfo.cpp
rename : js/src/xpconnect/src/xpcwrappednativejsops.cpp => js/xpconnect/src/XPCWrappedNativeJSOps.cpp
rename : js/src/xpconnect/src/xpcwrappednativeproto.cpp => js/xpconnect/src/XPCWrappedNativeProto.cpp
rename : js/src/xpconnect/src/xpcwrappednativescope.cpp => js/xpconnect/src/XPCWrappedNativeScope.cpp
rename : js/src/xpconnect/src/XPCWrapper.cpp => js/xpconnect/src/XPCWrapper.cpp
rename : js/src/xpconnect/src/XPCWrapper.h => js/xpconnect/src/XPCWrapper.h
rename : js/src/xpconnect/src/codegen.py => js/xpconnect/src/codegen.py
rename : js/src/xpconnect/src/dom_quickstubs.qsconf => js/xpconnect/src/dom_quickstubs.qsconf
rename : js/src/xpconnect/src/dombindings.conf => js/xpconnect/src/dombindings.conf
rename : js/src/xpconnect/src/dombindings.cpp => js/xpconnect/src/dombindings.cpp
rename : js/src/xpconnect/src/dombindings.h => js/xpconnect/src/dombindings.h
rename : js/src/xpconnect/src/dombindingsgen.py => js/xpconnect/src/dombindingsgen.py
rename : js/src/xpconnect/src/nsCSSPropertiesQS.h => js/xpconnect/src/nsCSSPropertiesQS.h
rename : js/src/xpconnect/src/nsDOMQS.h => js/xpconnect/src/nsDOMQS.h
rename : js/src/xpconnect/src/nsScriptError.cpp => js/xpconnect/src/nsScriptError.cpp
rename : js/src/xpconnect/src/nsXPConnect.cpp => js/xpconnect/src/nsXPConnect.cpp
rename : js/src/xpconnect/src/qsWinUndefs.h => js/xpconnect/src/qsWinUndefs.h
rename : js/src/xpconnect/src/qsgen.py => js/xpconnect/src/qsgen.py
rename : js/src/xpconnect/src/xpc.msg => js/xpconnect/src/xpc.msg
rename : js/src/xpconnect/src/xpcprivate.h => js/xpconnect/src/xpcprivate.h
rename : js/src/xpconnect/src/xpcpublic.h => js/xpconnect/src/xpcpublic.h
rename : js/src/xpconnect/tests/Makefile.in => js/xpconnect/tests/Makefile.in
rename : js/src/xpconnect/tests/chrome/Makefile.in => js/xpconnect/tests/chrome/Makefile.in
rename : js/src/xpconnect/tests/chrome/bug503926.xul => js/xpconnect/tests/chrome/bug503926.xul
rename : js/src/xpconnect/tests/chrome/file_bug618176.xul => js/xpconnect/tests/chrome/file_bug618176.xul
rename : js/src/xpconnect/tests/chrome/file_evalInSandbox.html => js/xpconnect/tests/chrome/file_evalInSandbox.html
rename : js/src/xpconnect/tests/chrome/test_APIExposer.xul => js/xpconnect/tests/chrome/test_APIExposer.xul
rename : js/src/xpconnect/tests/chrome/test_bug448587.xul => js/xpconnect/tests/chrome/test_bug448587.xul
rename : js/src/xpconnect/tests/chrome/test_bug484459.xul => js/xpconnect/tests/chrome/test_bug484459.xul
rename : js/src/xpconnect/tests/chrome/test_bug500931.xul => js/xpconnect/tests/chrome/test_bug500931.xul
rename : js/src/xpconnect/tests/chrome/test_bug503926.xul => js/xpconnect/tests/chrome/test_bug503926.xul
rename : js/src/xpconnect/tests/chrome/test_bug517163.xul => js/xpconnect/tests/chrome/test_bug517163.xul
rename : js/src/xpconnect/tests/chrome/test_bug533596.xul => js/xpconnect/tests/chrome/test_bug533596.xul
rename : js/src/xpconnect/tests/chrome/test_bug571849.xul => js/xpconnect/tests/chrome/test_bug571849.xul
rename : js/src/xpconnect/tests/chrome/test_bug596580.xul => js/xpconnect/tests/chrome/test_bug596580.xul
rename : js/src/xpconnect/tests/chrome/test_bug601803.xul => js/xpconnect/tests/chrome/test_bug601803.xul
rename : js/src/xpconnect/tests/chrome/test_bug610390.xul => js/xpconnect/tests/chrome/test_bug610390.xul
rename : js/src/xpconnect/tests/chrome/test_bug614757.xul => js/xpconnect/tests/chrome/test_bug614757.xul
rename : js/src/xpconnect/tests/chrome/test_bug616992.xul => js/xpconnect/tests/chrome/test_bug616992.xul
rename : js/src/xpconnect/tests/chrome/test_bug618176.xul => js/xpconnect/tests/chrome/test_bug618176.xul
rename : js/src/xpconnect/tests/chrome/test_bug654370.xul => js/xpconnect/tests/chrome/test_bug654370.xul
rename : js/src/xpconnect/tests/chrome/test_bug658560.xul => js/xpconnect/tests/chrome/test_bug658560.xul
rename : js/src/xpconnect/tests/chrome/test_bug664689.xul => js/xpconnect/tests/chrome/test_bug664689.xul
rename : js/src/xpconnect/tests/chrome/test_bug679861.xul => js/xpconnect/tests/chrome/test_bug679861.xul
rename : js/src/xpconnect/tests/chrome/test_cows.xul => js/xpconnect/tests/chrome/test_cows.xul
rename : js/src/xpconnect/tests/chrome/test_doublewrappedcompartments.xul => js/xpconnect/tests/chrome/test_doublewrappedcompartments.xul
rename : js/src/xpconnect/tests/chrome/test_evalInSandbox.xul => js/xpconnect/tests/chrome/test_evalInSandbox.xul
rename : js/src/xpconnect/tests/chrome/test_getweakmapkeys.xul => js/xpconnect/tests/chrome/test_getweakmapkeys.xul
rename : js/src/xpconnect/tests/chrome/test_nodelists.xul => js/xpconnect/tests/chrome/test_nodelists.xul
rename : js/src/xpconnect/tests/chrome/test_precisegc.xul => js/xpconnect/tests/chrome/test_precisegc.xul
rename : js/src/xpconnect/tests/chrome/test_sandboxImport.xul => js/xpconnect/tests/chrome/test_sandboxImport.xul
rename : js/src/xpconnect/tests/chrome/test_wrappers-2.xul => js/xpconnect/tests/chrome/test_wrappers-2.xul
rename : js/src/xpconnect/tests/chrome/test_wrappers.xul => js/xpconnect/tests/chrome/test_wrappers.xul
rename : js/src/xpconnect/tests/components/js/Makefile.in => js/xpconnect/tests/components/js/Makefile.in
rename : js/src/xpconnect/tests/components/js/xpctest.manifest => js/xpconnect/tests/components/js/xpctest.manifest
rename : js/src/xpconnect/tests/components/js/xpctest_attributes.js => js/xpconnect/tests/components/js/xpctest_attributes.js
rename : js/src/xpconnect/tests/components/js/xpctest_params.js => js/xpconnect/tests/components/js/xpctest_params.js
rename : js/src/xpconnect/tests/components/native/Makefile.in => js/xpconnect/tests/components/native/Makefile.in
rename : js/src/xpconnect/tests/components/native/xpctest.manifest => js/xpconnect/tests/components/native/xpctest.manifest
rename : js/src/xpconnect/tests/components/native/xpctest_attributes.cpp => js/xpconnect/tests/components/native/xpctest_attributes.cpp
rename : js/src/xpconnect/tests/components/native/xpctest_module.cpp => js/xpconnect/tests/components/native/xpctest_module.cpp
rename : js/src/xpconnect/tests/components/native/xpctest_params.cpp => js/xpconnect/tests/components/native/xpctest_params.cpp
rename : js/src/xpconnect/tests/components/native/xpctest_private.h => js/xpconnect/tests/components/native/xpctest_private.h
rename : js/src/xpconnect/tests/idl/Makefile.in => js/xpconnect/tests/idl/Makefile.in
rename : js/src/xpconnect/tests/idl/xpctest_attributes.idl => js/xpconnect/tests/idl/xpctest_attributes.idl
rename : js/src/xpconnect/tests/idl/xpctest_params.idl => js/xpconnect/tests/idl/xpctest_params.idl
rename : js/src/xpconnect/tests/mochitest/Makefile.in => js/xpconnect/tests/mochitest/Makefile.in
rename : js/src/xpconnect/tests/mochitest/bug500931_helper.html => js/xpconnect/tests/mochitest/bug500931_helper.html
rename : js/src/xpconnect/tests/mochitest/bug504877_helper.html => js/xpconnect/tests/mochitest/bug504877_helper.html
rename : js/src/xpconnect/tests/mochitest/bug571849_helper.html => js/xpconnect/tests/mochitest/bug571849_helper.html
rename : js/src/xpconnect/tests/mochitest/bug589028_helper.html => js/xpconnect/tests/mochitest/bug589028_helper.html
rename : js/src/xpconnect/tests/mochitest/bug657267.jar => js/xpconnect/tests/mochitest/bug657267.jar
rename : js/src/xpconnect/tests/mochitest/bug92773_helper.html => js/xpconnect/tests/mochitest/bug92773_helper.html
rename : js/src/xpconnect/tests/mochitest/chrome_wrappers_helper.html => js/xpconnect/tests/mochitest/chrome_wrappers_helper.html
rename : js/src/xpconnect/tests/mochitest/file1_bug629227.html => js/xpconnect/tests/mochitest/file1_bug629227.html
rename : js/src/xpconnect/tests/mochitest/file2_bug629227.html => js/xpconnect/tests/mochitest/file2_bug629227.html
rename : js/src/xpconnect/tests/mochitest/file_bug505915.html => js/xpconnect/tests/mochitest/file_bug505915.html
rename : js/src/xpconnect/tests/mochitest/file_bug650273.html => js/xpconnect/tests/mochitest/file_bug650273.html
rename : js/src/xpconnect/tests/mochitest/file_bug658560.html => js/xpconnect/tests/mochitest/file_bug658560.html
rename : js/src/xpconnect/tests/mochitest/file_doublewrappedcompartments.html => js/xpconnect/tests/mochitest/file_doublewrappedcompartments.html
rename : js/src/xpconnect/tests/mochitest/file_evalInSandbox.html => js/xpconnect/tests/mochitest/file_evalInSandbox.html
rename : js/src/xpconnect/tests/mochitest/file_nodelists.html => js/xpconnect/tests/mochitest/file_nodelists.html
rename : js/src/xpconnect/tests/mochitest/file_wrappers-2.html => js/xpconnect/tests/mochitest/file_wrappers-2.html
rename : js/src/xpconnect/tests/mochitest/inner.html => js/xpconnect/tests/mochitest/inner.html
rename : js/src/xpconnect/tests/mochitest/test1_bug629331.html => js/xpconnect/tests/mochitest/test1_bug629331.html
rename : js/src/xpconnect/tests/mochitest/test2_bug629331.html => js/xpconnect/tests/mochitest/test2_bug629331.html
rename : js/src/xpconnect/tests/mochitest/test_bug361111.xul => js/xpconnect/tests/mochitest/test_bug361111.xul
rename : js/src/xpconnect/tests/mochitest/test_bug384632.html => js/xpconnect/tests/mochitest/test_bug384632.html
rename : js/src/xpconnect/tests/mochitest/test_bug390488.html => js/xpconnect/tests/mochitest/test_bug390488.html
rename : js/src/xpconnect/tests/mochitest/test_bug393269.html => js/xpconnect/tests/mochitest/test_bug393269.html
rename : js/src/xpconnect/tests/mochitest/test_bug396851.html => js/xpconnect/tests/mochitest/test_bug396851.html
rename : js/src/xpconnect/tests/mochitest/test_bug428021.html => js/xpconnect/tests/mochitest/test_bug428021.html
rename : js/src/xpconnect/tests/mochitest/test_bug446584.html => js/xpconnect/tests/mochitest/test_bug446584.html
rename : js/src/xpconnect/tests/mochitest/test_bug462428.html => js/xpconnect/tests/mochitest/test_bug462428.html
rename : js/src/xpconnect/tests/mochitest/test_bug478438.html => js/xpconnect/tests/mochitest/test_bug478438.html
rename : js/src/xpconnect/tests/mochitest/test_bug484107.html => js/xpconnect/tests/mochitest/test_bug484107.html
rename : js/src/xpconnect/tests/mochitest/test_bug500691.html => js/xpconnect/tests/mochitest/test_bug500691.html
rename : js/src/xpconnect/tests/mochitest/test_bug502959.html => js/xpconnect/tests/mochitest/test_bug502959.html
rename : js/src/xpconnect/tests/mochitest/test_bug503926.html => js/xpconnect/tests/mochitest/test_bug503926.html
rename : js/src/xpconnect/tests/mochitest/test_bug504877.html => js/xpconnect/tests/mochitest/test_bug504877.html
rename : js/src/xpconnect/tests/mochitest/test_bug505915.html => js/xpconnect/tests/mochitest/test_bug505915.html
rename : js/src/xpconnect/tests/mochitest/test_bug553407.html => js/xpconnect/tests/mochitest/test_bug553407.html
rename : js/src/xpconnect/tests/mochitest/test_bug560351.html => js/xpconnect/tests/mochitest/test_bug560351.html
rename : js/src/xpconnect/tests/mochitest/test_bug564330.html => js/xpconnect/tests/mochitest/test_bug564330.html
rename : js/src/xpconnect/tests/mochitest/test_bug585745.html => js/xpconnect/tests/mochitest/test_bug585745.html
rename : js/src/xpconnect/tests/mochitest/test_bug589028.html => js/xpconnect/tests/mochitest/test_bug589028.html
rename : js/src/xpconnect/tests/mochitest/test_bug601299.html => js/xpconnect/tests/mochitest/test_bug601299.html
rename : js/src/xpconnect/tests/mochitest/test_bug605167.html => js/xpconnect/tests/mochitest/test_bug605167.html
rename : js/src/xpconnect/tests/mochitest/test_bug618017.html => js/xpconnect/tests/mochitest/test_bug618017.html
rename : js/src/xpconnect/tests/mochitest/test_bug623437.html => js/xpconnect/tests/mochitest/test_bug623437.html
rename : js/src/xpconnect/tests/mochitest/test_bug628410.html => js/xpconnect/tests/mochitest/test_bug628410.html
rename : js/src/xpconnect/tests/mochitest/test_bug628794.html => js/xpconnect/tests/mochitest/test_bug628794.html
rename : js/src/xpconnect/tests/mochitest/test_bug629227.html => js/xpconnect/tests/mochitest/test_bug629227.html
rename : js/src/xpconnect/tests/mochitest/test_bug629331.html => js/xpconnect/tests/mochitest/test_bug629331.html
rename : js/src/xpconnect/tests/mochitest/test_bug636097.html => js/xpconnect/tests/mochitest/test_bug636097.html
rename : js/src/xpconnect/tests/mochitest/test_bug650273.html => js/xpconnect/tests/mochitest/test_bug650273.html
rename : js/src/xpconnect/tests/mochitest/test_bug655297.html => js/xpconnect/tests/mochitest/test_bug655297.html
rename : js/src/xpconnect/tests/mochitest/test_bug657267.html => js/xpconnect/tests/mochitest/test_bug657267.html
rename : js/src/xpconnect/tests/mochitest/test_bug661980.html => js/xpconnect/tests/mochitest/test_bug661980.html
rename : js/src/xpconnect/tests/mochitest/test_bug691059.html => js/xpconnect/tests/mochitest/test_bug691059.html
rename : js/src/xpconnect/tests/mochitest/test_bug92773.html => js/xpconnect/tests/mochitest/test_bug92773.html
rename : js/src/xpconnect/tests/mochitest/test_frameWrapping.html => js/xpconnect/tests/mochitest/test_frameWrapping.html
rename : js/src/xpconnect/tests/unit/CatRegistrationComponents.manifest => js/xpconnect/tests/unit/CatRegistrationComponents.manifest
rename : js/src/xpconnect/tests/unit/bogus_element_type.jsm => js/xpconnect/tests/unit/bogus_element_type.jsm
rename : js/src/xpconnect/tests/unit/bogus_exports_type.jsm => js/xpconnect/tests/unit/bogus_exports_type.jsm
rename : js/src/xpconnect/tests/unit/bug451678_subscript.js => js/xpconnect/tests/unit/bug451678_subscript.js
rename : js/src/xpconnect/tests/unit/bug596580_versioned.js => js/xpconnect/tests/unit/bug596580_versioned.js
rename : js/src/xpconnect/tests/unit/component-file.js => js/xpconnect/tests/unit/component-file.js
rename : js/src/xpconnect/tests/unit/component-file.manifest => js/xpconnect/tests/unit/component-file.manifest
rename : js/src/xpconnect/tests/unit/component_import.js => js/xpconnect/tests/unit/component_import.js
rename : js/src/xpconnect/tests/unit/component_import.manifest => js/xpconnect/tests/unit/component_import.manifest
rename : js/src/xpconnect/tests/unit/recursive_importA.jsm => js/xpconnect/tests/unit/recursive_importA.jsm
rename : js/src/xpconnect/tests/unit/recursive_importB.jsm => js/xpconnect/tests/unit/recursive_importB.jsm
rename : js/src/xpconnect/tests/unit/syntax_error.jsm => js/xpconnect/tests/unit/syntax_error.jsm
rename : js/src/xpconnect/tests/unit/test_attributes.js => js/xpconnect/tests/unit/test_attributes.js
rename : js/src/xpconnect/tests/unit/test_bogus_files.js => js/xpconnect/tests/unit/test_bogus_files.js
rename : js/src/xpconnect/tests/unit/test_bug408412.js => js/xpconnect/tests/unit/test_bug408412.js
rename : js/src/xpconnect/tests/unit/test_bug451678.js => js/xpconnect/tests/unit/test_bug451678.js
rename : js/src/xpconnect/tests/unit/test_bug596580.js => js/xpconnect/tests/unit/test_bug596580.js
rename : js/src/xpconnect/tests/unit/test_bug604362.js => js/xpconnect/tests/unit/test_bug604362.js
rename : js/src/xpconnect/tests/unit/test_bug608142.js => js/xpconnect/tests/unit/test_bug608142.js
rename : js/src/xpconnect/tests/unit/test_bug641378.js => js/xpconnect/tests/unit/test_bug641378.js
rename : js/src/xpconnect/tests/unit/test_bug677864.js => js/xpconnect/tests/unit/test_bug677864.js
rename : js/src/xpconnect/tests/unit/test_bug_442086.js => js/xpconnect/tests/unit/test_bug_442086.js
rename : js/src/xpconnect/tests/unit/test_file.js => js/xpconnect/tests/unit/test_file.js
rename : js/src/xpconnect/tests/unit/test_import.js => js/xpconnect/tests/unit/test_import.js
rename : js/src/xpconnect/tests/unit/test_js_weak_references.js => js/xpconnect/tests/unit/test_js_weak_references.js
rename : js/src/xpconnect/tests/unit/test_localeCompare.js => js/xpconnect/tests/unit/test_localeCompare.js
rename : js/src/xpconnect/tests/unit/test_params.js => js/xpconnect/tests/unit/test_params.js
rename : js/src/xpconnect/tests/unit/test_recursive_import.js => js/xpconnect/tests/unit/test_recursive_import.js
rename : js/src/xpconnect/tests/unit/test_reflect_parse.js => js/xpconnect/tests/unit/test_reflect_parse.js
rename : js/src/xpconnect/tests/unit/test_unload.js => js/xpconnect/tests/unit/test_unload.js
rename : js/src/xpconnect/tests/unit/test_xpcomutils.js => js/xpconnect/tests/unit/test_xpcomutils.js
rename : js/src/xpconnect/tests/unit/xpcshell.ini => js/xpconnect/tests/unit/xpcshell.ini
rename : js/src/xpconnect/wrappers/AccessCheck.cpp => js/xpconnect/wrappers/AccessCheck.cpp
rename : js/src/xpconnect/wrappers/AccessCheck.h => js/xpconnect/wrappers/AccessCheck.h
rename : js/src/xpconnect/wrappers/CrossOriginWrapper.cpp => js/xpconnect/wrappers/CrossOriginWrapper.cpp
rename : js/src/xpconnect/wrappers/CrossOriginWrapper.h => js/xpconnect/wrappers/CrossOriginWrapper.h
rename : js/src/xpconnect/wrappers/FilteringWrapper.cpp => js/xpconnect/wrappers/FilteringWrapper.cpp
rename : js/src/xpconnect/wrappers/FilteringWrapper.h => js/xpconnect/wrappers/FilteringWrapper.h
rename : js/src/xpconnect/wrappers/Makefile.in => js/xpconnect/wrappers/Makefile.in
rename : js/src/xpconnect/wrappers/WrapperFactory.cpp => js/xpconnect/wrappers/WrapperFactory.cpp
rename : js/src/xpconnect/wrappers/WrapperFactory.h => js/xpconnect/wrappers/WrapperFactory.h
rename : js/src/xpconnect/wrappers/XrayWrapper.cpp => js/xpconnect/wrappers/XrayWrapper.cpp
rename : js/src/xpconnect/wrappers/XrayWrapper.h => js/xpconnect/wrappers/XrayWrapper.h
2011-10-14 10:52:47 -07:00