- From: David Bruant <bruant.d@gmail.com>
- Date: Wed, 06 Feb 2013 11:36:03 +0100
- To: Boris Zbarsky <bzbarsky@MIT.EDU>
- CC: Erik Arvidsson <arv@chromium.org>, public-webapps <public-webapps@w3.org>, Dimitri Glazkov <dglazkov@google.com>, Daniel Buchner <daniel@mozilla.com>
Le 06/02/2013 11:27, Boris Zbarsky a écrit : > On 2/5/13 10:28 PM, Boris Zbarsky wrote: >> And the point is that document.register changes the [[Construct]] of >> MyButton but does nothing else with it? > > Note that I'm still checking how feasible this is in SpiderMonkey on > any sort of finite timeframe, if we do decide to do this. Functions > right now don't have a [[Construct]] member in spidermonkey that's > stored on a function directly; it's stored on a shared data > structure. So it's impossible to change the [[Construct]] of a single > function as things stand... As a band-aid short-term type of solution, the exposed function could be a proxy to the actual function with a specific construct trap. I've just tried the following on Firefox Aurora and it does what you'd expect: function f(){ console.log('f call') } var pf = new Proxy(f, { construct: function(target){ console.log('pf construct'); target(); } }) pf(); new pf(); David
Received on Wednesday, 6 February 2013 10:36:32 UTC