gecko-dev/js/xpconnect/wrappers
Jan de Mooij f480e9ecdf Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco
The patch makes the following proxy changes:

* The number of slots in ProxyValueArray is now dynamic and depends on the number of reserved slots we get from the Class.
* "Extra slots" was renamed to "Reserved slots" to make this clearer.
* All proxy Classes now have 2 reserved slots, but it should be easy to change that for proxy Classes that need more than 2 slots.
* Proxies now store a pointer to these slots and this means GetReservedSlot and SetReservedSlot can be used on proxies as well. We no longer need GetReservedOrProxyPrivateSlot and SetReservedOrProxyPrivateSlot.

And some changes to make DOM Proxies work with this:

* We now store the C++ object in the first reserved slot (DOM_OBJECT_SLOT) instead of in the proxy's private slot. This is pretty nice because it matches what we do for non-proxy DOM objects.
* We now store the expando in the proxy's private slot so I removed GetDOMProxyExpandoSlot and changed the IC code to get the expando from the private slot instead.
2017-04-28 14:12:28 +02:00
..
AccessCheck.cpp Bug 1338272 - Require that the return value of MaybeSetPendingException is used. r=bz 2017-02-14 16:17:02 -08:00
AccessCheck.h Bug 1319773 - Part 3: Making the WrapperFactory ignores the First Party Domain of the originAttributes when rewrapping the wrapper. r=mrbkap 2017-01-18 20:34:31 +08:00
AddonWrapper.cpp Bug 1306538 - Move js::ReportASCIIErrorWithId to AddonWrapper.cpp. r=arai 2016-12-13 14:57:21 +05:30
AddonWrapper.h Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
ChromeObjectWrapper.cpp Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor in js. r=sstangl 2016-01-28 11:28:04 +01:00
ChromeObjectWrapper.h Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
FilteringWrapper.cpp Bug 1347706. Update to spec change for [[SetPrototypeOf]] on cross-origin objects. It should return true if null is passed. r=bholley 2017-03-16 17:43:49 -04:00
FilteringWrapper.h Bug 1344443. Fix [[SetPrototypeOf]] on cross-origin objects to follow the spec. r=bholley,waldo 2017-03-08 03:14:38 -05:00
moz.build Revert "Bug 1340719 - Throw an exception if accessing Xray from wrong docgroup (r=bholley)" 2017-04-07 14:23:06 -07:00
WaiveXrayWrapper.cpp Bug 888969 - Make the getPrototypeOf/setPrototypeOf traps scriptable. r=efaust, r=bholley 2016-02-23 13:42:30 -08:00
WaiveXrayWrapper.h Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
WrapperFactory.cpp Revert "Bug 1340719 - Throw an exception if accessing Xray from wrong docgroup (r=bholley)" 2017-04-07 14:23:06 -07:00
WrapperFactory.h Bug 1288870, part 3 - Root the return value of the prewrap callback. r=mrbkap,terrence 2016-08-23 05:59:57 -07:00
XrayWrapper.cpp Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco 2017-04-28 14:12:28 +02:00
XrayWrapper.h Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco 2017-04-28 14:12:28 +02:00