b2391af8fecb4f421536cf31f7494b5dc60996c9: Bug 851895 - Don't assert against a failure in CanCallNow. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:46 -0700 - rev 125823
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
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.
d4dbfc5c23a3bc36b10fdfecfc497ef5303b6b31: Bug 658909 - Tests. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:45 -0700 - rev 125822
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Tests. r=mrbkap
bffc0252a6279df802f523fa48f2f03bac13900f: Bug 658909 - Port tearoff-handling guts of GWNOJO to XPCCallContext and remove GWNOJO. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:45 -0700 - rev 125821
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Port tearoff-handling guts of GWNOJO to XPCCallContext and remove GWNOJO. r=mrbkap
bebb8e1a11b4c9c9173548c13a6a660559e8ec2b: Bug 658909 - Remove GWNOJO from PreserveWrapper. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:45 -0700 - rev 125820
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from PreserveWrapper. r=mrbkap
d1ced1c166d9ff59f468ebb2b652042071c07904: Bug 658909 - Remove GWNOJO from nsDOMClassInfo. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:45 -0700 - rev 125819
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from nsDOMClassInfo. r=mrbkap
3e01a4e680724c120a4315b1cd99be9dd387918a: Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:45 -0700 - rev 125818
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap
10c92bbb5f74535e4dc0f42c586ed9c33bb3e6a1: Bug 658909 - Remove GWNOJO from nsXPConnect. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:44 -0700 - rev 125817
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from nsXPConnect. r=mrbkap
d8ac57d4452f8e0e77dbd6deba4b9607200a3c7e: Bug 658909 - Remove GWNOJO from XPCVariant. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:44 -0700 - rev 125816
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
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.
ddd198e0e288a9ed7f0c12cb009f4a3a0e2af09c: Bug 658909 - Remove GWNOJO from XPCJSID. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:44 -0700 - rev 125815
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from XPCJSID. r=mrbkap
7149b64f78c974429d95822528634933eadaf7e0: Bug 658909 - Remove GWNOJO from JSValToXPCException. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:44 -0700 - rev 125814
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from JSValToXPCException. r=mrbkap
7bccfe486f988984f85d4a162b15c6d35b74e73b: Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:44 -0700 - rev 125813
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap
b2716f274a9484004e681cb8e68d8312c95749ec: Bug 658909 - Remove GWNOJO for helper stubs. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:43 -0700 - rev 125812
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO for helper stubs. r=mrbkap
a5d11e2a9602cf238be5fd4df98a8d60cb3b812a: Bug 658909 - Remove GWNOJO from MarkWrappedNative. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:43 -0700 - rev 125811
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Remove GWNOJO from MarkWrappedNative. r=mrbkap
52f0155a3c43359d51c88028959c2fb00aede8dd: Bug 658909 - Add a new, much simpler API for getting WNs from JS objects. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:43 -0700 - rev 125810
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Add a new, much simpler API for getting WNs from JS objects. r=mrbkap
d673018a09153a5f6bbd94b2f197e3e530e3d991: Bug 658909 - Stop doing all the crazy stuff in GetWrappedNativeOfJSObject. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:43 -0700 - rev 125809
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Stop doing all the crazy stuff in GetWrappedNativeOfJSObject. r=mrbkap
71a9b2c9e9836361317d3a318882040085ba68b0: Bug 658909 - Add a hack to support calling nohelper XPCWN methods without the proper |this|. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:43 -0700 - rev 125808
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Add a hack to support calling nohelper XPCWN methods without the proper |this|. r=mrbkap
7360b1c433008f1825328b2f7a7dfbd2842e9e15: Bug 658909 - Use JS_{,Strict}PropertyOp instead of null when defining value props in nsDOMClassInfo. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:42 -0700 - rev 125807
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
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
ac4b41b1020d86c3ec92b94c5854619197ce87a0: Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:42 -0700 - rev 125806
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap
b20ec46f32c6da6a038f75b8d9558ede4b86333b: Bug 658909 - Set args at XPCCallContext construct time in XPC_WN_GetterSetter. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:42 -0700 - rev 125805
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
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).
2b4be35b1837eaa59bbf7c2dedd535b89cb2c451: Bug 658909 - Initialize the same fields in both XPCCallContext constructors. r=mrbkap
Bobby Holley <bobbyholley@gmail.com> - Thu, 21 Mar 2013 08:20:42 -0700 - rev 125804
Push 24464 by emorley@mozilla.com at Fri, 22 Mar 2013 14:00:12 +0000
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.
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip