Commit Graph

303073 Commits

Author SHA1 Message Date
Bobby Holley
1b5cf28332 Bug 851895 - Tests. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
f9f113418b Bug 851895 - Expand the this-fixup hack to include Cu. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
cc9efcfbd5 Bug 851895 - Don't assert against a failure in CanCallNow. r=mrbkap
This can definitely happen now if the |this| object is wrong. It's possible
that we should be checking this earlier, but as the code stands this assertion
is incorrect.
2013-03-21 08:20:46 -07:00
Bobby Holley
7b89d994f6 Bug 658909 - Tests. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
5c5dc4aefd Bug 658909 - Port tearoff-handling guts of GWNOJO to XPCCallContext and remove GWNOJO. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
6f5fa45dfc Bug 658909 - Remove GWNOJO from PreserveWrapper. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
611405a503 Bug 658909 - Remove GWNOJO from nsDOMClassInfo. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
5d587a2a1e Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
310ca265e9 Bug 658909 - Remove GWNOJO from nsXPConnect. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
0229eafa97 Bug 658909 - Remove GWNOJO from XPCVariant. r=mrbkap
The old code seems to be deciding whether we have a double-wrapped object by
checking _either_ the rv of GWNOJO _or_ the potential slim wrapper. This is
nonsensical, because double-wrapped objects are never slim wrappers.
Furthermore, that variable here is named 'proto', which further suggests
that this code is nonsensical. So let's just check for WNs.

Also, it seems pretty wack to be innerizing here before storing the jsval,
but I'm going to leave that for now.
2013-03-21 08:20:44 -07:00
Bobby Holley
da3798e16c Bug 658909 - Remove GWNOJO from XPCJSID. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
063fa22514 Bug 658909 - Remove GWNOJO from JSValToXPCException. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
155c7bef82 Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
86a0d9c06c Bug 658909 - Remove GWNOJO for helper stubs. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
c495e32e38 Bug 658909 - Remove GWNOJO from MarkWrappedNative. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
33e2ccc726 Bug 658909 - Add a new, much simpler API for getting WNs from JS objects. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
419fe960c7 Bug 658909 - Stop doing all the crazy stuff in GetWrappedNativeOfJSObject. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
a7773c48e1 Bug 658909 - Add a hack to support calling nohelper XPCWN methods without the proper |this|. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
5589190817 Bug 658909 - Use JS_{,Strict}PropertyOp instead of null when defining value props in nsDOMClassInfo. r=mrbkap
Using JSPropertyOp means a null shape getter, whereas null means that the shape
uses the class getter. This means that stuff like window.top, which is defined
as a non-configurable |own| property in nsDOMClassInfo, was getting set up with
XPC_WN_Helper_GetProperty as its get operation. But this confused
SandboxProxyHandler, which explicitly avoids rebinding class getters/setters,
which in turn meant that our sandboxPrototype feature was relying on the crazy
prototype-climbing behavior of GetWrappedNativeOfJSObject to make stuff like
|this.top| work. We're removing this behavior, so we need to fix nsDOMClassInfo
here.

Here are some DefineProperty cases that I left with null getters/setters:
* nsDOMClassInfo::ResolveConstructor
* The child window stuff at the bottom of nsWindowSH::NewResolve
* Named item resolution in nsNamedArraySH::NewResolve
* document.all stuff (scary!)
* nsHTMLDocumentSH::NewResolve
* nsHTMLFormElementSH::NewResolve
* nsStorage2SH::NewResolve
2013-03-21 08:20:42 -07:00
Bobby Holley
b945d5623d Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap 2013-03-21 08:20:42 -07:00
Bobby Holley
f3e1e6c5a8 Bug 658909 - Set args at XPCCallContext construct time in XPC_WN_GetterSetter. r=mrbkap
It's not clear to me why it's done this way, but it confuses our ability to
determine during wrapper lookup whether we're doing a set or a get. This aligns
the behavior with XPC_WN_CallMethod, including passing JSID_VOID for the name
(which is safe because XPCCallContext explicitly special-cases JSID_VOID and
doesn't call SetName in that case).
2013-03-21 08:20:42 -07:00
Bobby Holley
7191b4876d Bug 658909 - Initialize the same fields in both XPCCallContext constructors. r=mrbkap
This is a huge footgun. XPCCallContext is hot, but it's not too hot to be safe
here. Garbage XPCWN and JSObject pointers are bad.
2013-03-21 08:20:42 -07:00
Bobby Holley
2959d31120 Bug 658909 - Remove unnecessary ccx param. r=mrbkap 2013-03-21 08:20:42 -07:00
Bobby Holley
dace71a951 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
Bobby Holley
98277c3a3f Bug 658909 - Force |this| computation in SandboxCallableProxyHandler::call when using Xrays. r=bz
Comment says it all.
2013-03-21 08:20:41 -07:00
Bobby Holley
da800d21ef Bug 853283 - Grab the window directly from the navigator in nsNavigatorSH::NewResolve. r=mrbkap 2013-03-21 08:20:41 -07:00
Ryan VanderMeulen
24149ccf41 Backed out changeset 55d19e574b86 (bug 853283) for Windows debug bustage on a CLOSED TREE. 2013-03-21 15:25:14 -04:00
Ryan VanderMeulen
318dfacf98 Backed out 22 changesets (bug 658909) for Windows debug bustage. 2013-03-21 15:24:54 -04:00
Ryan VanderMeulen
bc1fb5dbbc Backed out 3 changesets (bug 851895) for Windows debug bustage. 2013-03-21 15:24:04 -04:00
Ryan VanderMeulen
bbc5be3164 Backed out changesets 775abfe4876f and 1b75fab8561b (bug 844783) under suspicion of breaking Windows debug builds on a CLOSED TREE. 2013-03-21 14:15:31 -04:00
Wes Johnston
30a5a7b3d2 Bug 844895 - Avoid using the same db connection for a spawned task. r=lucasr 2013-03-21 10:50:32 -07:00
Mike Shal
e3efc3a646 Bug 852534 - Remove GRE_MODULE from Makefile.in; r=gps 2013-03-21 08:41:00 -07:00
David Zbarsky
b0a6fab2b9 Bug 847120: Convert SVGFEOffsetElement to WebIDL r=Ms2ger 2013-03-21 13:38:28 -04:00
David Zbarsky
c71f2af036 Bug 847120: Move SVGFEOffsetElement to its own file r=Ms2ger
--HG--
rename : content/svg/content/src/nsSVGFilters.cpp => content/svg/content/src/SVGFEOffsetElement.cpp
rename : content/svg/content/src/nsSVGFilters.cpp => content/svg/content/src/SVGFEOffsetElement.h
2013-03-21 13:38:28 -04:00
Ryan VanderMeulen
a0b9ad9084 Bug 853273 - Annotate 456219-1a/1b.html as well. 2013-03-21 13:23:27 -04:00
Bobby Holley
ab9c660667 Bug 848939 - De-field videocontrols.xml. r=dao 2013-03-21 09:34:37 -07:00
Bobby Holley
4b8c3c1f76 Bug 848939 - De-field scale.xml. r=jaws 2013-03-21 09:34:36 -07:00
Bobby Holley
c0126aabe6 Bug 844783 - Tests. r=bz 2013-03-21 09:33:35 -07:00
Bobby Holley
89770792f4 Bug 844783 - Disable XBL scopes for XUL-whitelisted domains. r=bz 2013-03-21 09:33:34 -07:00
Bobby Holley
9b58500952 Bug 851895 - Tests. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
ea6308cde2 Bug 851895 - Expand the this-fixup hack to include Cu. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
002ad43296 Bug 851895 - Don't assert against a failure in CanCallNow. r=mrbkap
This can definitely happen now if the |this| object is wrong. It's possible
that we should be checking this earlier, but as the code stands this assertion
is incorrect.
2013-03-21 08:20:46 -07:00
Bobby Holley
a702987369 Bug 658909 - Tests. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
012ac82802 Bug 658909 - Port tearoff-handling guts of GWNOJO to XPCCallContext and remove GWNOJO. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
97ae3186ae Bug 658909 - Remove GWNOJO from PreserveWrapper. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
3e1161c559 Bug 658909 - Remove GWNOJO from nsDOMClassInfo. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
f89657fd7e Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
96a23fc4f8 Bug 658909 - Remove GWNOJO from nsXPConnect. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
5844094a9c Bug 658909 - Remove GWNOJO from XPCVariant. r=mrbkap
The old code seems to be deciding whether we have a double-wrapped object by
checking _either_ the rv of GWNOJO _or_ the potential slim wrapper. This is
nonsensical, because double-wrapped objects are never slim wrappers.
Furthermore, that variable here is named 'proto', which further suggests
that this code is nonsensical. So let's just check for WNs.

Also, it seems pretty wack to be innerizing here before storing the jsval,
but I'm going to leave that for now.
2013-03-21 08:20:44 -07:00
Bobby Holley
1c4e97a132 Bug 658909 - Remove GWNOJO from XPCJSID. r=mrbkap 2013-03-21 08:20:44 -07:00