webstorage; hixie: Update localStorage to handle regrafting nested browsing contexts (whatwg r5701)

webstorage; hixie: Update localStorage to handle regrafting nested
browsing contexts (whatwg r5701)

http://dev.w3.org/cvsweb/html5/webstorage/Overview.html?r1=1.152&r2=1.153&f=h
http://html5.org/tools/web-apps-tracker?from=5700&to=5701

===================================================================
RCS file: /sources/public/html5/webstorage/Overview.html,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -d -r1.152 -r1.153
--- Overview.html 1 Nov 2010 23:02:14 -0000 1.152
+++ Overview.html 4 Dec 2010 01:32:42 -0000 1.153
@@ -191,7 +191,7 @@
   </style><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><div class="head">
    <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
    <h1>Web Storage</h1>
-   <h2 class="no-num no-toc" id="editor-s-draft-1-november-2010">Editor's Draft 1 November 2010</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-4-december-2010">Editor's Draft 4 December 2010</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/webstorage/">http://www.w3.org/TR/webstorage/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -262,7 +262,7 @@
   </ul><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING LIST TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- status of document, group responsible (required) --><p>The W3C <a href="http://www.w3.org/2008/webapps/">Web Applications
   Working Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation track.
-  This specification is the 1 November 2010 Editor's Draft.
+  This specification is the 4 December 2010 Editor's Draft.
   </p><!-- required patent boilerplate --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
   February 2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/42538/status" rel="disclosure">public list of
   any patent disclosures</a> made in connection with the deliverables
@@ -531,14 +531,23 @@
   described in this specification provides no way for that data to
   ever be subsequently retrieved.<p class="note">The lifetime of a browsing context can be unrelated
   to the lifetime of the actual user agent process itself, as the user
-  agent may support resuming sessions after a restart.<p>When a new <code>HTMLDocument</code> is created, the user agent
-  must check to see if the document's <span>top-level browsing
-  context</span> has allocated a session storage area for that
-  document's <span>origin</span>. If it has not, a new storage area
-  for that document's <span>origin</span> must be created.<p>The <code title="dom-sessionStorage"><a href="#dom-sessionstorage">sessionStorage</a></code>
-  attribute must return the <code><a href="#storage-0">Storage</a></code> object associated
-  with that session storage area. Each <code>Document</code> object
-  must have a separate object for its <code>Window</code>'s <code title="dom-sessionStorage"><a href="#dom-sessionstorage">sessionStorage</a></code> attribute.<p>When a new <span>top-level browsing context</span> is created by
+  agent may support resuming sessions after a restart.<p>When a new <code>Document</code> is created in a <span>browsing
+  context</span> which has a <span>top-level browsing context</span>,
+  the user agent must check to see if that <span>top-level browsing
+  context</span> has a session storage area for that document's
+  <span>origin</span>. If it does, then that is the
+  <code>Document</code>'s assigned session storage area. If it does
+  not, a new storage area for that document's <span>origin</span> must
+  be created, and then <em>that</em> is the <code>Document</code>'s
+  assigned session storage area. A <code>Document</code>'s assigned
+  storage area does not change during the lifetime of a
+  <code>Document</code>, even in the case of a <span>nested browsing
+  context</span> (e.g. in an <code>iframe</code>) being moved to
+  another <span>parent browsing context</span>.<p>The <code title="dom-sessionStorage"><a href="#dom-sessionstorage">sessionStorage</a></code>
+  attribute must return a <code><a href="#storage-0">Storage</a></code> object associated with
+  the <code>Document</code>'s assigned session storage area, if any,
+  or null if there isn't one. Each <code>Document</code> object must
+  have a separate object for its <code>Window</code>'s <code title="dom-sessionStorage"><a href="#dom-sessionstorage">sessionStorage</a></code> attribute.<p>When a new <span>top-level browsing context</span> is created by
   cloning an existing <span>browsing context</span>, the new browsing
   context must start with the same session storage areas as the
   original, but the two sets must from that point on be considered
@@ -546,14 +555,14 @@
   a <span title="concept-script">script</span> in an existing
   <span>browsing context</span>, or by the user following a link in an
   existing browsing context, or in some other way related to a
-  specific <code>HTMLDocument</code>, then the session storage area of
-  the <span>origin</span> of that <code>HTMLDocument</code> must be
-  copied into the new browsing context when it is created. From that
-  point on, however, the two session storage areas must be considered
+  specific <code>Document</code>, then the session storage area of the
+  <span>origin</span> of that <code>Document</code> must be copied
+  into the new browsing context when it is created. From that point
+  on, however, the two session storage areas must be considered
   separate, not affecting each other in any way.<p id="sessionStorageEvent">When the <code title="dom-Storage-setItem"><a href="#dom-storage-setitem">setItem()</a></code>, <code title="dom-Storage-removeItem"><a href="#dom-storage-removeitem">removeItem()</a></code>, and <code title="dom-Storage-clear"><a href="#dom-storage-clear">clear()</a></code> methods are called on a
   <code><a href="#storage-0">Storage</a></code> object <var title="">x</var> that is associated
   with a session storage area, if the methods did something, then in
-  every <code>HTMLDocument</code> object whose <code>Window</code>
+  every <code>Document</code> object whose <code>Window</code>
   object's <code title="dom-sessionStorage"><a href="#dom-sessionstorage">sessionStorage</a></code>
   attribute's <code><a href="#storage-0">Storage</a></code> object is associated with the same
   storage area, other than <var title="">x</var>, a <code title="event-storage"><a href="#event-storage">storage</a></code> event must be fired, as <a href="#event-storage" title="event-storage">described below</a>.<h3 id="the-localstorage-attribute"><span class="secno">4.3 </span>The <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute</h3><pre class="idl">[Supplemental, NoInterfaceObject]
@@ -589,7 +598,7 @@
   </ol><p id="localStorageEvent">When the <code title="dom-Storage-setItem"><a href="#dom-storage-setitem">setItem()</a></code>, <code title="dom-Storage-removeItem"><a href="#dom-storage-removeitem">removeItem()</a></code>, and <code title="dom-Storage-clear"><a href="#dom-storage-clear">clear()</a></code> methods are called on a
   <code><a href="#storage-0">Storage</a></code> object <var title="">x</var> that is associated
   with a local storage area, if the methods did something, then in
-  every <code>HTMLDocument</code> object whose <code>Window</code>
+  every <code>Document</code> object whose <code>Window</code>
   object's <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code>
   attribute's <code><a href="#storage-0">Storage</a></code> object is associated with the same
   storage area, other than <var title="">x</var>, a <code title="event-storage"><a href="#event-storage">storage</a></code> event must be fired, as <a href="#event-storage" title="event-storage">described below</a>.<p id="localStorageMutex">Whenever the properties of a <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute's

Received on Saturday, 4 December 2010 01:35:22 UTC