Commit Graph

125548 Commits

Author SHA1 Message Date
Bobby Holley
d4b32e491e Bug 844783 - Disable XBL scopes for XUL-whitelisted domains. r=bz 2013-03-21 09:33:34 -07:00
Bobby Holley
bd2b1b8144 Bug 851895 - Tests. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
151e14ccd2 Bug 851895 - Expand the this-fixup hack to include Cu. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
90b3cbf144 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
918afcbf90 Bug 658909 - Tests. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
aa9f2fe81e 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
10c3ceca4a Bug 658909 - Remove GWNOJO from PreserveWrapper. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
d2b5bb6b3b Bug 658909 - Remove GWNOJO from nsDOMClassInfo. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
643b7ac570 Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
192ef9fe65 Bug 658909 - Remove GWNOJO from nsXPConnect. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
cb8898b884 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
6f7077ab27 Bug 658909 - Remove GWNOJO from XPCJSID. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
d8e3fbb2cc Bug 658909 - Remove GWNOJO from JSValToXPCException. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
997097c4b3 Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
c74ea6642b Bug 658909 - Remove GWNOJO for helper stubs. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
4483147fa3 Bug 658909 - Remove GWNOJO from MarkWrappedNative. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
1ab135cdf4 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
a5a70136e6 Bug 658909 - Stop doing all the crazy stuff in GetWrappedNativeOfJSObject. r=mrbkap 2013-03-21 08:20:43 -07:00
Bobby Holley
96f901c63a 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
48fec961ea 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
7f358d03d2 Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap 2013-03-21 08:20:42 -07:00
Bobby Holley
23505d75ea 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
4df5fa5f43 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
b25c1dc9f9 Bug 658909 - Remove unnecessary ccx param. r=mrbkap 2013-03-21 08:20:42 -07:00
Bobby Holley
de62f63ad7 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
adf6253c6e 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
d095bf8d04 Bug 853283 - Grab the window directly from the navigator in nsNavigatorSH::NewResolve. r=mrbkap 2013-03-21 08:20:41 -07:00
Ryan VanderMeulen
5a1f305fec Backed out changeset 55d19e574b86 (bug 853283) for Windows debug bustage on a CLOSED TREE. 2013-03-21 15:25:14 -04:00
Ryan VanderMeulen
0d64a1ef2b Backed out 22 changesets (bug 658909) for Windows debug bustage. 2013-03-21 15:24:54 -04:00
Ryan VanderMeulen
edebf68dc5 Backed out 3 changesets (bug 851895) for Windows debug bustage. 2013-03-21 15:24:04 -04:00
Ryan VanderMeulen
ec432af374 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
172ce4c7a3 Bug 844895 - Avoid using the same db connection for a spawned task. r=lucasr 2013-03-21 10:50:32 -07:00
Mike Shal
f290401a73 Bug 852534 - Remove GRE_MODULE from Makefile.in; r=gps 2013-03-21 08:41:00 -07:00
David Zbarsky
3388894ed3 Bug 847120: Convert SVGFEOffsetElement to WebIDL r=Ms2ger 2013-03-21 13:38:28 -04:00
David Zbarsky
5dfb97f676 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
ad2c69e858 Bug 853273 - Annotate 456219-1a/1b.html as well. 2013-03-21 13:23:27 -04:00
Bobby Holley
e17b2e5eed Bug 848939 - De-field videocontrols.xml. r=dao 2013-03-21 09:34:37 -07:00
Bobby Holley
451d39dc39 Bug 848939 - De-field scale.xml. r=jaws 2013-03-21 09:34:36 -07:00
Bobby Holley
f3567fa8ba Bug 844783 - Tests. r=bz 2013-03-21 09:33:35 -07:00
Bobby Holley
2df1609d2d Bug 844783 - Disable XBL scopes for XUL-whitelisted domains. r=bz 2013-03-21 09:33:34 -07:00
Bobby Holley
fd364afa79 Bug 851895 - Tests. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
938ba8175a Bug 851895 - Expand the this-fixup hack to include Cu. r=mrbkap 2013-03-21 08:20:46 -07:00
Bobby Holley
f171eeb152 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
160946d7c4 Bug 658909 - Tests. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
ccc62eefea 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
3f5b7f583a Bug 658909 - Remove GWNOJO from PreserveWrapper. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
b88af0ec37 Bug 658909 - Remove GWNOJO from nsDOMClassInfo. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
472fb50da0 Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley
b3797df126 Bug 658909 - Remove GWNOJO from nsXPConnect. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley
6142a3fd1c 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