- From: Ian Hickson <ian@hixie.ch>
- Date: Sun, 18 Oct 2009 03:20:38 +0000 (UTC)
On Thu, 15 Oct 2009, Jeremy Orlow wrote: > > I'd like to propose we remove the "source" attribute from storage > events. ( http://dev.w3.org/html5/webstorage/#the-storage-event) In > Chrome, we cannot provide access to a window object unless it's in the > same process. Since there's no way to guarantee that two windows in the > same origin are in the same process, Chrome would need to always set it > to null in order to avoid confusing developers (since what process a > page is in is really an implementation detail). > > But, as far as I can tell, Safari is the only browser that currently > provides this. I suspect that as other multi-process implementations > are developed, they'll run into the same issue. And, even if they can > technically provide synchronous access to another processes Window > object, there are _very_ strong arguments against it. So, can we please > remove the source attribute from storage events? On Thu, 15 Oct 2009, Jo?o Eiras wrote: > > The specification tells source is a WindowProxy, so if the underlying > window is deleted, or inaccessible, accessing any member of source could > just throw an INVALID_STATE_ERR. The problem is there also if a storage > event is queued and the originating window is deleted meanwhile, or the > document with the listener keeps a reference to the originating window > for a long time, and that window is closed, unless the user agent keeps > the originating window live while it's WindowPRoxy is not garbage > collected, which is not desirable. I've removed the 'source' attribute. On Thu, 15 Oct 2009, Maciej Stachowiak wrote: > > I would guess the main use case for this is to distinguish changes from > *this* window (the one receiving the event) and changes from other > windows. Perhaps a boolean flag to that effect could replace source. I haven't added this currently, but we may add this in the future if it turns out to be useful. On Thu, 15 Oct 2009, Jeremy Orlow wrote: > > One other question: is the URL attribute supposed to be the same as > documentURI or location.href? I ask because WebKit currently uses the > documentURI but if this were the correct behavior, I would have expected > the spec to make that more clear. The spec is completely explicit about what it should be set to -- it says: # the event must have its url attribute set to the address of the document # whose Storage object was affected -- http://www.whatwg.org/specs/web-apps/current-work/complete.html#event-storage ...where "the address of the document" is defined as being the same as the value returned by document.URL (which is different than the value returned by location.href -- that's "the document's current address"). If you follow the hyperlinks from the link above, and click on the bold <dfn> text to find where the terms are used, you should find it to be unambiguous. On Thu, 15 Oct 2009, Darin Fisher wrote: > > This is interesting since documentURI is a read/write property: > http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI I assume that is a mistake. Does anyone support documentURI? It seems completely redundant with document.URL. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Saturday, 17 October 2009 20:20:38 UTC