- From: David Bruant <bruant.d@gmail.com>
- Date: Mon, 24 Dec 2012 19:39:13 +0100
- To: Anne van Kesteren <annevk@annevk.nl>
- CC: Boris Zbarsky <bzbarsky@mit.edu>, www-dom@w3.org, Cameron McCormack <cam@mcc.id.au>, Bobby Holley <bholley@mozilla.com>
Le 24/12/2012 11:58, Anne van Kesteren a écrit : > On Mon, Dec 24, 2012 at 11:53 AM, David Bruant <bruant.d@gmail.com> wrote: >> One thing to keep in mind is that in ES6, it won't be possible to change the >> [[Prototype]] of an object with [[Extensible]]:false (it's currently the >> case in Firefox, I haven't tested others). >> It means that nodes (and anything that can have its *associated object* >> changed) must throw on Object.preventExtensions/seal/freeze (I don't know >> what WebIDL currently says about that). > Given the document.open() scenario this might potentially be > everything in the platform... I see. I'm reading step 14 of the document.open: "Replace the Document's singleton objects with new instances of those objects. (This includes in particular the Window, Location, History, ApplicationCache, and Navigator, objects, the various BarProp objects, the two Storage objects, the various HTMLCollection objects, and objects defined by other specifications, like Selection and the document's UndoManager. It also includes all the Web IDL prototypes in the JavaScript binding, including the Document object's prototype.)" I see even Object.prototype doesn't survive in Gecko. What does observably survive to document.open? Could it be possible to pretend that document.open is like a navigation instead of the complicated algorithm removing everything? Since even the Window doesn't survive document.open, > The alternative would be to not garbage > collect the previous Window ever, which would be sad :-( That's an understatement. David
Received on Monday, 24 December 2012 18:39:44 UTC