Phil Ringnalda
fedf6c0df7
Merge m-c to m-i
2013-05-05 12:17:07 -07:00
Ms2ger
65037ba176
Bug 868727 - Pass an nsAString to nsGlobalWindow::GetChildWindow; r=bz
2013-05-05 09:03:19 +02:00
Ms2ger
634a0652fb
Bug 868411 - Handlify js::GetObjectProto; r=bz
2013-05-05 09:03:14 +02:00
Boris Zbarsky
fba1502aa7
Bug 865969 part 6. Fix rooting hazards in BindingUtils.cpp. r=smaug
2013-05-03 19:29:08 -04:00
Tom Schuster
6e39838725
Bug 865410 - Use CallArgs for XPConnect Call and Construct hooks. r=bholley.
2013-05-04 19:25:15 +02:00
Jon Coppeard
4b39dc9220
Bug 866762 - GC: A few more XPConnect rooting hazards r=bholley
2013-04-30 15:27:48 +01:00
Jon Coppeard
7d9149ed57
Bug 865308: GC: More rooting work in XPConnect r=bholley
2013-04-26 18:50:18 +01:00
Boris Zbarsky
7a5392b28d
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
fc6549149f
Bug 865397 - Nicen up "id got defined" assertion. r=bholley
2013-04-25 08:42:44 -07:00
Jon Coppeard
4764cd3074
Bug 861887 Review comments for prev patch r=bholley
...
--HG--
extra : rebase_source : 7f91680f5f7249c9fb09708eb790bdc19c779c67
2013-04-24 14:22:21 +01:00
Jon Coppeard
8710c00b07
Bug 861887 - GC: Rooting in XrayWrapper.cpp - part 2 r=bholley
2013-04-24 10:45:41 +01:00
Bobby Holley
84a715a03b
Bug 860494 - Move the named property check further down in XrayWrapper. r=bz
2013-04-23 12:50:17 -04:00
Bobby Holley
a7ec941075
Bug 860494 - Check for native properties before checking named children on XOWs. r=bz
2013-04-23 12:50:17 -04:00
Bobby Holley
69cb919957
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
6259a0e4e1
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
c97d17668c
Bug 864046 - GC: Almost the last rooting fixes in XPConnect - part 1 r=bholley
2013-04-20 10:41:47 +01:00
Jon Coppeard
6990ddac50
Bug 863767 - GC: Rooting for XPCCallContext r=bholley
2013-04-20 09:52:56 +01:00
Jon Coppeard
5bba3f2017
Bug 863289 - GC: Continue the rooting of XPConnect r=bholley
2013-04-17 16:38:44 +01:00
Ryan VanderMeulen
5022c76c9e
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
5e2ba98af8
Bug 860494 - Move the named property check further down in XrayWrapper. r=bz
2013-04-17 10:52:52 -04:00
Mike Shal
77cdb6567d
Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey
2013-04-16 15:24:43 -04:00
Jon Coppeard
1f1c0e6af9
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
f9d3bc73ed
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
015274be17
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
44378e44ad
No bug - Fix typo.
2013-04-12 23:04:51 -04:00
Jon Coppeard
10e35f2d67
Bug 860777 - Part 2 - Root WrapperFactory.cpp r=bholley
...
--HG--
extra : rebase_source : 83a21d88d01e52ea34326388dab462efdc4252ab
2013-04-12 10:50:43 +01:00
Jon Coppeard
b935ddbe82
Bug 860311 - GC: More rooting in XPConnect r=bholley
...
--HG--
extra : rebase_source : 3afba11173f0df957fe34e66b9dd443b5ed01b9a
2013-04-09 16:42:21 +01:00
Jacek Szpot
514f40e52a
Bug 854503 - Rename JS unwrapping functions. r=bholley
2013-04-11 11:50:18 -07:00
Bobby Holley
626b8d5531
Bug 856840 - Kill FindWrapper. r=mrbkap
2013-04-08 12:51:24 -07:00
Gabor Krizsanits
191ab881cc
Bug 832091 - guards against crashes in resolveDOMCollectionProperty. r=bholley
2013-04-07 10:18:58 +02:00
Ryan VanderMeulen
24a4c17eff
Backed out changeset a85d21e394c0 (bug 854503) for bustage.
2013-04-06 14:37:33 -04:00
Jacek Szpot
8ce12e971c
Bug 854503 - Rename JS unwrapping functions. r=bholley
2013-04-04 12:14:32 +02:00
Ms2ger
2fef74cc6d
Merge m-c to m-i.
2013-04-04 14:15:56 +02:00
Ms2ger
e38aa0d743
Bug 852602 - Pass CallArgs to Proxy call() and construct() hooks; r=Waldo
2013-04-04 09:02:24 +02:00
Bobby Holley
eb199ec0c8
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
c038c610e6
Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap
2013-04-03 11:41:23 -07:00
Bobby Holley
43eb484613
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
2d0315508f
Bug 843829 - Apply transitive waivers for nativeCall. r=mrbkap
2013-04-03 11:41:23 -07:00
Bobby Holley
1f82d91ffb
Bug 845862 - Transitively apply waivers for accessor descriptors. r=mrbkap
2013-04-03 11:41:22 -07:00
Ehsan Akhgari
9df6dde4c7
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
b7d2424ff1
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
b8f153dab6
Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap
2013-04-02 18:51:20 -07:00
Bobby Holley
3beb744c60
Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap
2013-04-02 18:51:20 -07:00
Bobby Holley
3b946c7d96
Bug 843829 - Apply transitive waivers for nativeCall. r=mrbkap
2013-04-02 18:51:20 -07:00
Bobby Holley
1a6a1730f5
Bug 845862 - Transitively apply waivers for accessor descriptors. r=mrbkap
2013-04-02 18:51:19 -07:00
Jon Coppeard
acfef2ab1e
Bug 854955 - GC: Rooting in XrayWrapper.cpp r=bholley
...
--HG--
extra : rebase_source : fdee7c16f54e1fcbf4ae96e89ffd20eb14ec2d8d
2013-03-27 11:33:30 +00:00
Bobby Holley
ad352a027b
Bug 854480 - Remove SCRIPT_ACCESS_ONLY. r=mrbkap
2013-04-01 15:17:51 -07:00
Gabor Krizsanits
580557f44a
Bug 820170 - GetNativeForGlobal. r=bholley
2013-04-04 11:27:42 +02:00
Kyle Machulis
5aa83c3e11
Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
2013-04-01 11:36:59 -07:00
Eddy Bruel
000c08fe71
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
Kyle Machulis
c79ccc0693
Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot
2013-03-29 15:12:58 -07:00
Kyle Machulis
a59d40f143
Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
...
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Ryan VanderMeulen
957687a97e
Backed out bug 789897 due to regressions.
2013-03-29 14:07:32 -04:00
Bobby Holley
55fed95d17
Bug 855922 - Check XBL scopes per-compartment in the SOW isSafeToUnwrap hook. r=bz
2013-03-28 18:38:07 -07:00
Eddy Bruel
afdc0a14d8
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
9ab5be1d8d
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
Bobby Holley
bc6db2a364
Bug 854558 - Enforce __exposedProps__ for Sandboxes. r=gabor
2013-03-26 09:08:29 -07:00
David Zbarsky
5cc0fcdcdf
Bug 847007: Remove nsIContent includes r=Ms2ger
2013-03-21 20:05:20 -04:00
Tom Schuster
045cb0fba7
Bug 828462 - Root Proxy/Wrapper in the browser. r=terrence,bz
2013-03-21 23:23:48 +01:00
Tom Schuster
b8e3b65fa7
Bug 828462 - Root Proxy/Wrapper delete. r=terrence
2013-03-21 23:23:48 +01:00
Tom Schuster
097f3a1110
Bug 828462 - Root Proxy/Wrapper getOwnPropertyNames and keys. r=terrence
2013-03-21 23:23:47 +01:00
Tom Schuster
5a05e27565
Bug 828462 - Root Proxy/Wrapper defineProperty. r=terrence
2013-03-21 23:23:47 +01:00
Tom Schuster
b67362a266
Bug 828462 - Root Proxy/Wrapper get(Own)PropertyDescriptor. r=terrence
2013-03-21 23:23:47 +01:00
Bobby Holley
24dbc1109a
Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap
2013-03-21 08:20:45 -07:00
Bobby Holley
fb94cdfee3
Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap
2013-03-21 08:20:44 -07:00
Bobby Holley
93d4b3e2bf
Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap
2013-03-21 08:20:42 -07:00
Bobby Holley
5c2f6cfd84
Bug 658909 - Make isSafeToUnwrap pseudo-dynamic for SOWs. r=mrbkap
...
This can go away as soon as XBL scopes are no longer behind a pref.
2013-03-21 08:20:41 -07:00
Ryan VanderMeulen
75a33a8191
Backed out 22 changesets (bug 658909) for Windows debug bustage.
2013-03-21 15:24:54 -04:00
Bobby Holley
5dd8152ac6
Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap
2013-03-21 08:20:45 -07:00
Bobby Holley
1bb0fe7c95
Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap
2013-03-21 08:20:44 -07:00
Bobby Holley
867314402d
Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap
2013-03-21 08:20:42 -07:00
Bobby Holley
d6a9021608
Bug 658909 - Make isSafeToUnwrap pseudo-dynamic for SOWs. r=mrbkap
...
This can go away as soon as XBL scopes are no longer behind a pref.
2013-03-21 08:20:41 -07:00
Jon Coppeard
1e656de13c
Bug 853028 - GC: Fix some rooting issues found by static analysis r=terrence
...
--HG--
extra : rebase_source : a1d340a00516ae890c98fa7420497e85526823fc
2013-03-21 12:56:58 +00:00
Mike Shal
9680b82df6
Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps
2013-03-19 11:47:00 -07:00
Mohit Gahlot
466c217001
Bug 851377 - Now ResolvingId::isResolving is not called with a null object. r=bholley
2013-03-18 21:28:05 +05:30
Bobby Holley
2d898008d8
Bug 851987 - QI to nsPIDOMWindow instead of nsIDOMWindow in XPCWrappedJS. r=bz
2013-03-18 14:30:23 -07:00
Ms2ger
a2173990cc
Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey
2013-03-17 08:55:15 +01:00
Bobby Holley
71b63fdffa
Bug 850517 - Support named window access via Xray. r=mrbkap
2013-03-14 22:38:26 -07:00
Bobby Holley
30641e3a63
Bug 849730 - Let objectClassIs through for COWs. r=mrbkap
2013-03-13 14:48:59 -07:00
Bill McCloskey
50f50ed54e
Bug 846890 - Avoid check for native anonymous content when possible (r=bholley)
2013-03-08 18:49:36 -08:00
Bill McCloskey
ba07637ef2
Back out bug 846890 for reftest orange
2013-03-08 21:27:25 -08:00
Bill McCloskey
81426160a3
Bug 846890 - Avoid check for native anonymous content when possible (r=bholley)
2013-03-08 18:49:36 -08:00
Jon Coppeard
8d5fd16382
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
fe417ad697
Backed out changeset 28ef4bdff455 (bug 848395)
2013-03-07 13:03:35 +00:00
Jon Coppeard
fa71007e65
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
Gregory Szorc
f0b7e3972c
Merge mozilla-central into build-system
...
There were merges in configure.in and some Makefile.in. None had any
conflicts. I spot verified the Makefile.in changes and confirmed that
the changes did not touch any DIRS* variables.
2013-02-27 10:03:52 -08:00
Gregory Szorc
faf262c4ee
Merge mozilla-central into build-system
...
Only conflict was configure.in amd was due to context, not
changed lines themselves.
2013-02-25 22:09:18 -08:00
Gregory Szorc
c1b5e29e19
Bug 784841 - Part 18s: Convert /js; r=glandium
2013-02-25 12:47:22 -08:00
Bobby Holley
c014987e4f
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
f84dddd71f
Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap
2013-02-25 13:54:18 -08:00
Bobby Holley
83a57c8d91
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-25 13:54:18 -08:00
Bobby Holley
a1a88275ee
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
6f2c3cdc97
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
Bobby Holley
2473e41a58
Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap
2013-02-26 11:04:13 -08:00
Bobby Holley
649c8cee47
Bug 834697 - Enable XBL scopes, and disable assertion. r=bz,me
2013-02-14 15:15:59 +01:00
Ryan VanderMeulen
1568f7d987
Backed out 12 changesets (bug 834732) for b2g bustage and OSX mochitest-1 crashes on a CLOSED TREE.
2013-02-12 20:54:48 -05:00
Bobby Holley
97fd619f30
Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap
2013-02-13 00:22:27 +01:00
Phil Ringnalda
f3f16b4069
Back out 4d301b2bcad0:e0632e639097 (bug 836301) for Windows build bustage
...
CLOSED TREE
2013-02-22 08:41:37 -08:00
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