- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 1 Jul 2009 22:09:41 +0000 (UTC)
- To: Boris Zbarsky <bzbarsky@MIT.EDU>
- Cc: Sam Weinig <weinig@apple.com>, WebApps WG <public-webapps@w3.org>
On Fri, 5 Jun 2009, Boris Zbarsky wrote: > Ian Hickson wrote: > > On Thu, 30 Apr 2009, Boris Zbarsky wrote: > > > Sam Weinig wrote: > > > > I am not sure this always holds. In the case of the the transition from > > > > the > > > > initial ("about:blank") document to a loaded document, the window needs > > > > to > > > > be reused at times. Take for instance, > > > > > > > > w = window.open("testForProperties.html"); > > > > w.customWindowProperty = "1"; > > > > w.document.customDocumentProperty = "2"; > > > > > > > > when testForProperties.html is done loading, customWindowProperty will > > > > still > > > > be there, but document.customDocumentProperty will not. > > > Yep. In this case, that's exactly what Gecko does: puts the new document > > > in > > > the old inner window. > > > > Is this the case only when the new document is from the same origin? That > > is, when the new document has a different origin than the about:blank > > document, does a new Window get created instead of reusing the old one? Or > > do the properties get cleaned out somehow? > > That's correct. The precise set of conditions that must be met for web > content for the inner window to be reused is: > > 1) It already has a document. > 2) This document is its "initial document". A document is flagged > as an "initial document" in two cases: > i) It's present in the window after the window has been opened > but before window.open() has returned (typically due to the > browser UI forcing its creation). > ii) It's created because someone asks for a document on a > window that doesn't have one yet. > I don't recall why (i) is needed at this point, but I could > probably look it up if necessary. In any case, it would be > some artifact of the exact order of document/window setup > in Gecko. There is an assertion in the code that the URI > of any "initial document" is about:blank. > 3) The origin of the old document is the same as that of the > new document. I've attempted to specify this exception to the 1:1 mapping of Windows and Documents. http://www.whatwg.org/specs/web-apps/current-work/#create-a-document-object (r3351) -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 1 July 2009 22:10:18 UTC