Commit Graph

345 Commits

Author SHA1 Message Date
Bobby Holley
7c5384c4e9 Bug 866823 - Handle standard prototype remapping in PrepareForWrapping. r=gabor,mrbkap 2013-05-15 21:13:12 -07:00
Bobby Holley
a7596f01a7 Bug 866823 - Don't create waivers in WaiveXrayAndWrap if the caller has no business waiving. r=gabor,mrbkap 2013-05-15 21:13:12 -07:00
Bobby Holley
cc5157a913 Bug 857356 - Remove XBL field auto-waiving. r=bz 2013-05-09 09:16:01 -07:00
Jon Coppeard
068a876f84 Bug 869526 - GC: Fix more rooting hazards in xpconnect r=bholley 2013-05-09 10:39:21 +01:00
Bobby Holley
75723ecffd Bug 834707 - Kill dynamic SOWs. r=gabor
Now that XBL scopes are here to stay (no more pref), we can remove all the
machinery that makes SOWs dynamic. We still need SOWs until bug 825392 is
fixed, but they can now be totally opaque.

One side effect of this patch is that, due to our usage of Opaque, we now
allow CALL on SOWs. But this shouldn't be a problem, because SOWs are used
for anonymous elements which are not callable (and we probably wouldn't mind
it even if they were).
2013-05-06 19:38:23 -07:00
Bobby Holley
b47f593e23 Bug 834707 - Disable SOWs for remote XUL domains. r=bz
We have to do this if we want to proceed with eliminating SOWs entirely. Given
the other restrictions around remote XUL, I don't think this is a problem.

Note that we shouldn't need any special handling in the wrapper reparenting
paths, because those all depend on whether a SOW was there already. So that
would only be an issue if it were possible to adoptNode from a non-remote-XUL
domain into a remote-XUL domain, which thankfully can't happen.
2013-05-06 19:38:22 -07:00
Bobby Holley
9b428f8e67 Bug 868122 - Calculate the JS_SaveFrameChain optimization by directly examining the principal of the default compartment. r=mrbkap,gabor 2013-05-06 16:53:10 -07:00
Phil Ringnalda
1a57cd403b Merge m-c to m-i 2013-05-05 12:17:07 -07:00
Ms2ger
bb6fd0a4ee Bug 868727 - Pass an nsAString to nsGlobalWindow::GetChildWindow; r=bz 2013-05-05 09:03:19 +02:00
Ms2ger
4a6390f03d Bug 868411 - Handlify js::GetObjectProto; r=bz 2013-05-05 09:03:14 +02:00
Boris Zbarsky
7640b170ac Bug 865969 part 6. Fix rooting hazards in BindingUtils.cpp. r=smaug 2013-05-03 19:29:08 -04:00
Tom Schuster
79e64357e4 Bug 865410 - Use CallArgs for XPConnect Call and Construct hooks. r=bholley. 2013-05-04 19:25:15 +02:00
Jon Coppeard
c1714595b9 Bug 866762 - GC: A few more XPConnect rooting hazards r=bholley 2013-04-30 15:27:48 +01:00
Jon Coppeard
7304b3bc6e Bug 865308: GC: More rooting work in XPConnect r=bholley 2013-04-26 18:50:18 +01:00
Boris Zbarsky
1ffcf1ad91 Bug 861493. When passing arguments to an Xray for a WebIDL constructor, make sure to do the argument unwrapping before entering the content compartment. r=bholley,waldo
There are several changes here:

1) Adds some MutableThis methods to Optional, Nullable, and dictionaries to
   effectively allow doing a const_cast without knowing the actual type being
   templated over.  I needed this because I do not in fact know that type in
   the relevant code.  I'm open to suggestions for a better name for this
   method.
2) Adds some operator& to RootedJSValue to make it look more like a JS::Value,
   and in particular so I can JS_WrapValue the thing in it.
3) Adds a Slot() method to NonNullLazyRootedObject, just like NonNull has.
4) Adds an operator& to LazyRootedObject to make it look more like JSObject* so
   I can JS_WrapObject the thing in it.
5) Implements the actual rewrapping of the arguments into the content compartment.
6) Fixes a small preexisting bug in which we didn't look at named constructors
   in getTypesFromDescriptor (this was causing my tests to not compile).
7) Changes Xrays to not enter the content compartment when calling a WebIDL
   constructor.
8) Adds some friend API to report things as not being functions.
2013-04-25 19:03:05 -04:00
Andrew McCreight
85d756a3c6 Bug 865397 - Nicen up "id got defined" assertion. r=bholley 2013-04-25 08:42:44 -07:00
Jon Coppeard
c1c42130cf Bug 861887 Review comments for prev patch r=bholley
--HG--
extra : rebase_source : 7f91680f5f7249c9fb09708eb790bdc19c779c67
2013-04-24 14:22:21 +01:00
Jon Coppeard
a797c9f224 Bug 861887 - GC: Rooting in XrayWrapper.cpp - part 2 r=bholley 2013-04-24 10:45:41 +01:00
Bobby Holley
02a2496bc2 Bug 860494 - Move the named property check further down in XrayWrapper. r=bz 2013-04-23 12:50:17 -04:00
Bobby Holley
416b2c4c8c Bug 860494 - Check for native properties before checking named children on XOWs. r=bz 2013-04-23 12:50:17 -04:00
Bobby Holley
820adfebdf Bug 860494 - Clarify the semantics of XrayTraits::resolveOwnProperty. r=bz
Right now, it sometimes fills out |desc|, and sometimes just defines the property
on the holder. This can get confusing, so let's refine the semantics here and
describe them in a big comment.
2013-04-23 12:50:17 -04:00
Bobby Holley
d4a09bba16 Bug 860494 - Make resolveNativeProperty a virtual instance method in XrayTraits like resolveOwnProperty. r=bz
The current setup is just an artifact of how it used to be before I refactored
Xrays. Have it as a virtual trap is more flexible since it allows us to invoke
the right trap by just calling GetXrayTraits(wrapper) from non-templatized code.
2013-04-23 12:50:16 -04:00
Jon Coppeard
721057a505 Bug 864046 - GC: Almost the last rooting fixes in XPConnect - part 1 r=bholley 2013-04-20 10:41:47 +01:00
Jon Coppeard
7b2f5e54d8 Bug 863767 - GC: Rooting for XPCCallContext r=bholley 2013-04-20 09:52:56 +01:00
Jon Coppeard
6b41db971f Bug 863289 - GC: Continue the rooting of XPConnect r=bholley 2013-04-17 16:38:44 +01:00
Ryan VanderMeulen
040af911d4 Backed out changesets b9f7fd0996f0 and c0ab16b6003e (bug 860494) for mochitest failures on a CLOSED TREE. 2013-04-17 12:00:20 -04:00
Bobby Holley
b460b44c87 Bug 860494 - Move the named property check further down in XrayWrapper. r=bz 2013-04-17 10:52:52 -04:00
Mike Shal
df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Jon Coppeard
7f7df293ae Bug 861281 - GC: Root the wrap object API r=terrence r=bholley
--HG--
extra : rebase_source : 1d3ed88299ad8e9ad6812fb41aa48f03cc7aabae
2013-04-15 18:32:55 +01:00
Jeff Walden
763718651b Bug 858677 - Fix up code not built by SpiderMonkey to use the newly-changed deletion signatures. r=bholley, r=billm 2013-04-05 21:22:55 -07:00
Jon Coppeard
32bc2e5c59 Bug 861269 - GC: Continuing the rooting of XPConnect - Convert id_ to idArg style arguments r=bholley
--HG--
extra : rebase_source : a0a88749928f3f622b5626adfc8aa23382d06611
2013-04-15 15:29:37 +01:00
Ryan VanderMeulen
454cb5b6ad No bug - Fix typo. 2013-04-12 23:04:51 -04:00
Jon Coppeard
8d0b0385b6 Bug 860777 - Part 2 - Root WrapperFactory.cpp r=bholley
--HG--
extra : rebase_source : 83a21d88d01e52ea34326388dab462efdc4252ab
2013-04-12 10:50:43 +01:00
Jon Coppeard
650580da78 Bug 860311 - GC: More rooting in XPConnect r=bholley
--HG--
extra : rebase_source : 3afba11173f0df957fe34e66b9dd443b5ed01b9a
2013-04-09 16:42:21 +01:00
Jacek Szpot
a38774d086 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-11 11:50:18 -07:00
Bobby Holley
7235a8baf4 Bug 856840 - Kill FindWrapper. r=mrbkap 2013-04-08 12:51:24 -07:00
Gabor Krizsanits
07c194820d Bug 832091 - guards against crashes in resolveDOMCollectionProperty. r=bholley 2013-04-07 10:18:58 +02:00
Ryan VanderMeulen
4df26dd5ac Backed out changeset a85d21e394c0 (bug 854503) for bustage. 2013-04-06 14:37:33 -04:00
Jacek Szpot
ab74228011 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-04 12:14:32 +02:00
Ms2ger
97ae827742 Merge m-c to m-i. 2013-04-04 14:15:56 +02:00
Ms2ger
5d894db6f7 Bug 852602 - Pass CallArgs to Proxy call() and construct() hooks; r=Waldo 2013-04-04 09:02:24 +02:00
Bobby Holley
61705225bc Bug 843829 - Wrap unwaived content JS objects in opaque wrappers for XBL scopes. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
c15547b548 Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
8788bdc0ee Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
a332f0164a Bug 843829 - Apply transitive waivers for nativeCall. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
38f05e866f Bug 845862 - Transitively apply waivers for accessor descriptors. r=mrbkap 2013-04-03 11:41:22 -07:00
Ehsan Akhgari
eadd54865e Backed out 6 changesets (bug 843829, bug 845862) because of broken mochitest-5
Backed out changeset 1df3bdadb7ce (bug 843829)
Backed out changeset 64f001fe04fb (bug 843829)
Backed out changeset 57652d8f0827 (bug 843829)
Backed out changeset 2e889cd77a48 (bug 843829)
Backed out changeset 97d16e7beb27 (bug 843829)
Backed out changeset 6c6ab0e54917 (bug 845862)

Landed on a CLOSED TREE
2013-04-02 23:05:48 -04:00
Bobby Holley
bc8fa5b7e3 Bug 843829 - Wrap unwaived content JS objects in opaque wrappers for XBL scopes. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley
170286774d Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley
6a9d39f758 Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap 2013-04-02 18:51:20 -07:00