- From: Olli Pettay <Olli.Pettay@helsinki.fi>
- Date: Fri, 29 Jan 2010 01:38:55 +0200
- To: Jared Morse <jarcoal@gmail.com>
- CC: public-webapps@w3.org
On 1/29/10 12:22 AM, Jared Morse wrote:
> Perhaps I am mistaken, but I believe you would still have to go around
> and add that trigger to all the places the value is changed from.
Well you could do something like
Storage.prototype.setItemAndNotify =
function (key, data) {
this.setItem(key, data);
var e = document.createEvent("StorageEvent");
e.initStorageEvent(...);
window.dispatchEvent(e);
}
and use that when you set some item.
Or just replace setItem method using prototype.
That way you get the behavior you want, but still allow the
other behavior.
-Olli
>
> -J
>
> On Thu, Jan 28, 2010 at 2:06 PM, Olli Pettay <Olli.Pettay@helsinki.fi
> <mailto:Olli.Pettay@helsinki.fi>> wrote:
>
> On 1/28/10 11:57 PM, Jared Morse wrote:
>
> Even though it occurs on the same document, doesn't mean loosely
> coupled
> code can't benefit from it.
>
> Imagine if each time you added a feature to a web app that
> depended on
> knowing a current value from the storage, you'd have to go
> around to all
> the places that value is changed and add some code to alert your new
> code. If storage events triggered on the same document, all you
> would
> have to do is set a listener.
>
>
> If you really need this behavior, you can always dispatch your own event
> to the window when you change the data.
>
>
> -Olli
>
>
>
> -J
>
> On Thu, Jan 28, 2010 at 1:41 PM, Olli Pettay
> <Olli.Pettay@helsinki.fi <mailto:Olli.Pettay@helsinki.fi>
> <mailto:Olli.Pettay@helsinki.fi
> <mailto:Olli.Pettay@helsinki.fi>>> wrote:
>
> On 1/28/10 9:34 PM, Jared Morse wrote:
>
> Hi, I have a concern about the web storage event spec
> (http://dev.w3.org/html5/webstorage/).
>
> The spec states:
> "When the setItem(), removeItem(), and clear() methods are
> called on a
> Storage object x that is associated with a local storage
> area,
> if the
> methods did something, then in every HTMLDocument object
> whose
> Window
> object's localStorage attribute's Storage object is
> associated
> with the
> same storage area, other than x, a storage event must be
> fired..."
>
> My concern lies with the "other than x" part. Unless
> I'm missing
> something, these events would be even more useful if
> they also
> fired in
> the HTMLDocument that initially made the storage call.
>
>
> The page which is changing storage object knows already that the
> storage object is being changed. Why would it need explicit
> notification (event) about that?
>
>
> -Olli
>
>
>
>
>
> Thanks for your time.
>
> -Jared
>
>
>
>
>
Received on Thursday, 28 January 2010 23:39:32 UTC