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
7b2f5e54d8
Bug 863767 - GC: Rooting for XPCCallContext r=bholley
2013-04-20 09:52:56 +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
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
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
5d894db6f7
Bug 852602 - Pass CallArgs to Proxy call() and construct() hooks; r=Waldo
2013-04-04 09:02:24 +02: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
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
6a9d39f758
Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap
2013-04-02 18:51:20 -07:00
Jon Coppeard
03a9c98899
Bug 854955 - GC: Rooting in XrayWrapper.cpp r=bholley
...
--HG--
extra : rebase_source : fdee7c16f54e1fcbf4ae96e89ffd20eb14ec2d8d
2013-03-27 11:33:30 +00:00
Eddy Bruel
ac26949ffe
Bug 789897 - Implement isExtensible and preventExtensions traps for proxies, including scriptable direct proxies, and in the various wrapper classes. Also move non-static JSObject::preventExtensions to static ObjectImpl::preventExtensions, for handle correctness. Patch is a semi-tag-team effort with jwalden. r=jwalden, r=ejpbruel, r=bholley, r=two-turtle-doves-and-a-partridge-in-a-pear-tree
...
--HG--
extra : rebase_source : 156d2c22499372fceb60d130e363a3685e68b9fc
2013-03-22 19:43:03 -07:00
Ryan VanderMeulen
114ddf1599
Backed out bug 789897 due to regressions.
2013-03-29 14:07:32 -04:00
Eddy Bruel
4f59f6b452
Bug 789897 - Implement a preventExtensions trap for proxies. Patch is a semi-tag-team effort with jwalden. r=jwalden, r=ejpbruel, r=bholley, r=two-turtle-doves-and-a-partridge-in-a-pear-tree
...
--HG--
extra : rebase_source : 03b1b90c727ecc6a5d9d8cd769423f0a8f6efde4
2013-03-22 19:43:12 -07:00
Eddy Bruel
6c07f423e8
Bug 789897 - Implement an isExtensible trap for proxies. Patch is a semi-tag-team effort with jwalden. r=jwalden, r=ejpbruel, r=bholley, r=two-turtle-doves-and-a-partridge-in-a-pear-tree
...
--HG--
extra : rebase_source : 346645d8dc32ddb76f18e7557e99f41cb66abe9e
2013-03-22 19:43:03 -07:00
David Zbarsky
46284ae633
Bug 847007: Remove nsIContent includes r=Ms2ger
2013-03-21 20:05:20 -04:00
Tom Schuster
a1663a0e87
Bug 828462 - Root Proxy/Wrapper in the browser. r=terrence,bz
2013-03-21 23:23:48 +01:00
Tom Schuster
787f786f96
Bug 828462 - Root Proxy/Wrapper delete. r=terrence
2013-03-21 23:23:48 +01:00
Tom Schuster
b6725433ce
Bug 828462 - Root Proxy/Wrapper getOwnPropertyNames and keys. r=terrence
2013-03-21 23:23:47 +01:00
Tom Schuster
aaa3687e9b
Bug 828462 - Root Proxy/Wrapper defineProperty. r=terrence
2013-03-21 23:23:47 +01:00
Tom Schuster
950e87f7e8
Bug 828462 - Root Proxy/Wrapper get(Own)PropertyDescriptor. r=terrence
2013-03-21 23:23:47 +01:00
Mohit Gahlot
8cc749406f
Bug 851377 - Now ResolvingId::isResolving is not called with a null object. r=bholley
2013-03-18 21:28:05 +05:30
Bobby Holley
fa807df3d0
Bug 851987 - QI to nsPIDOMWindow instead of nsIDOMWindow in XPCWrappedJS. r=bz
2013-03-18 14:30:23 -07:00
Bobby Holley
4b95a9deb0
Bug 850517 - Support named window access via Xray. r=mrbkap
2013-03-14 22:38:26 -07:00
Jon Coppeard
a0a3f88913
Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
...
--HG--
extra : rebase_source : 35cbf3cc4da4598c2e9e6975028ef397718849db
2013-03-06 16:41:43 +00:00
Ed Morley
3a53c22824
Backed out changeset 28ef4bdff455 (bug 848395)
2013-03-07 13:03:35 +00:00
Jon Coppeard
6a98a4532a
Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
...
--HG--
extra : rebase_source : 866879df05e3ec3f8e93570eb3f6b71103636b41
2013-03-06 16:41:43 +00:00
Bobby Holley
0c9994db1d
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-25 13:54:18 -08:00
Bobby Holley
59d3c6c36d
Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap
2013-02-25 13:54:18 -08:00
Bobby Holley
e969932415
Bug 836301 - Add Special handling to allow us to call enter() for defineProperty on Xrays. r=mrbkap
2013-02-25 13:54:17 -08:00
Bobby Holley
141e362856
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-25 13:54:17 -08:00
Phil Ringnalda
7529e0b16b
Back out 4d301b2bcad0:e0632e639097 (bug 836301) for Windows build bustage
...
CLOSED TREE
2013-02-22 08:41:37 -08:00
Bobby Holley
510ba5b448
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
bdcb37109c
Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap
2013-02-22 08:14:34 -08:00
Bobby Holley
3e3a4e08c3
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