- From: CVS User ihickson <cvsmail@w3.org>
- Date: Sat, 03 Aug 2013 16:05:14 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/webstorage In directory roscoe:/tmp/cvs-serv1857 Modified Files: Overview.html Log Message: Cleanup (whatwg r8125) --- /sources/public/html5/webstorage/Overview.html 2013/07/26 00:13:05 1.224 +++ /sources/public/html5/webstorage/Overview.html 2013/08/03 16:05:14 1.225 @@ -215,7 +215,7 @@ <p><a href="http://www.w3.org/"><img width="72" src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48"></a></p> <h1>Web Storage</h1> - <h2 class="no-num no-toc" id="editor-s-draft-26-july-2013">Editor's Draft 26 July 2013</h2> + <h2 class="no-num no-toc" id="editor-s-draft-3-august-2013">Editor's Draft 3 August 2013</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> @@ -351,7 +351,7 @@ </dl><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 26 July 2013 Editor's Draft. + This specification is the 3 August 2013 Editor's Draft. </p> @@ -673,66 +673,51 @@ }; <span>Window</span> implements <a href="#windowsessionstorage">WindowSessionStorage</a>;</pre> - <p>The <dfn id="dom-sessionstorage" title="dom-sessionStorage"><code>sessionStorage</code></dfn> - attribute represents the set of storage areas specific to the - current <span>top-level browsing context</span>.</p> - - <p>Each <span>top-level browsing context</span> has a unique set of - session storage areas, one for each <span>origin</span>.</p> - - <p>User agents should not expire data from a browsing context's - session storage areas, but may do so when the user requests that - such data be deleted, or when the UA detects that it has limited - storage space, or for security reasons. User agents should always - avoid deleting data while a script that could access that data is - running. When a top-level browsing context is destroyed (and - therefore permanently inaccessible to the user) the data stored in - its session storage areas can be discarded with it, as the API - described in this specification provides no way for that data to + <p>The <dfn id="dom-sessionstorage" title="dom-sessionStorage"><code>sessionStorage</code></dfn> attribute represents the + set of storage areas specific to the current <span>top-level browsing context</span>.</p> + + <p>Each <span>top-level browsing context</span> has a unique set of session storage areas, one for + each <span>origin</span>.</p> + + <p>User agents should not expire data from a browsing context's session storage areas, but may do + so when the user requests that such data be deleted, or when the UA detects that it has limited + storage space, or for security reasons. User agents should always avoid deleting data while a + script that could access that data is running. When a top-level browsing context is destroyed (and + therefore permanently inaccessible to the user) the data stored in its session storage areas can + be discarded with it, as the API described in this specification provides no way for that data to ever be subsequently retrieved.</p> - <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> - - <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>.</p> - - <p class="note">In the case of an <code>iframe</code> being moved to - another <code>Document</code>, the nested browsing context is - destroyed and a new one created.</p> - - <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> - - <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 - separate, not affecting each other in any way.</p> - - <p>When a new <span>top-level browsing context</span> is created by - 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>Document</code>, and the creation is not <span>a - new start for session storage</span>, 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> + <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> + + <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>.</p> + + <p class="note">In the case of an <code>iframe</code> being moved to another + <code>Document</code>, the nested browsing context is destroyed and a new one created.</p> + + <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> + + <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 separate, not + affecting each other in any way.</p> + + <p>When a new <span>top-level browsing context</span> is created by 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>Document</code>, and the creation is not <span>a new start for session storage</span>, 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> <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 not throw an exception or "do nothing" as defined above, then for every <code>Document</code> object whose @@ -748,58 +733,47 @@ }; <span>Window</span> implements <a href="#windowlocalstorage">WindowLocalStorage</a>;</pre> - - <p>The <dfn id="dom-localstorage" title="dom-localStorage"><code>localStorage</code></dfn> - object provides a <code><a href="#storage-0">Storage</a></code> object for an - <span>origin</span>. + <p>The <dfn id="dom-localstorage" title="dom-localStorage"><code>localStorage</code></dfn> object provides a + <code><a href="#storage-0">Storage</a></code> object for an <span>origin</span>. <span class="fingerprint" title="fingerprinting vector"><img src="http://dev.w3.org/html5/spec/images/fingerprint.png" width="46" alt="(This is a fingerprinting vector.)" height="64"></span> </p> - <p>User agents must have a set of local storage areas, one for each - <span>origin</span>.</p> + <p>User agents must have a set of local storage areas, one for each <span>origin</span>.</p> + + <p>User agents should expire data from the local storage areas only for security reasons or when + requested to do so by the user. User agents should always avoid deleting data while a script that + could access that data is running.</p> - <p>User agents should expire data from the local storage areas only - for security reasons or when requested to do so by the user. User - agents should always avoid deleting data while a script that could - access that data is running.</p> - - <p>When the <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> - attribute is accessed, the user agent must run the following steps, - which are known as the <dfn id="storage-object-initialization-steps"><code>Storage</code> object + <p>When the <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute is accessed, the user + agent must run the following steps, which are known as the <dfn id="storage-object-initialization-steps"><code>Storage</code> object initialization steps</dfn>:</p> - <ol><li><p>The user agent may throw a <code>SecurityError</code> - exception and abort these steps instead of returning a <code><a href="#storage-0">Storage</a></code> object if the - request violates a policy decision (e.g. if the user agent is - configured to not allow the page to persist data).</li> - - <li><p>If the <code>Document</code>'s <span>origin</span> is not a - scheme/host/port tuple, then throw a <code>SecurityError</code> - exception and abort these steps.</li> - - <li><p>Check to see if the user agent has allocated a local storage - area for the <span>origin</span> of the <code>Document</code> of - the <code>Window</code> object on which the attribute was accessed. - If it has not, create a new storage area for that + <ol><li><p>The user agent may throw a <code>SecurityError</code> exception and abort these steps + instead of returning a <code><a href="#storage-0">Storage</a></code> object if the request violates a policy decision + (e.g. if the user agent is configured to not allow the page to persist data).</li> + + <li><p>If the <code>Document</code>'s <span>origin</span> is not a scheme/host/port tuple, then + throw a <code>SecurityError</code> exception and abort these steps.</li> + + <li><p>Check to see if the user agent has allocated a local storage area for the + <span>origin</span> of the <code>Document</code> of the <code>Window</code> object on which the + attribute was accessed. If it has not, create a new storage area for that <span>origin</span>.</li> - <li><p>Return the <code><a href="#storage-0">Storage</a></code> object associated with that - origin's local storage area. Each <code>Document</code> object must - have a separate object for its <code>Window</code>'s <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute.</p> + <li><p>Return the <code><a href="#storage-0">Storage</a></code> object associated with that origin's local storage area. + Each <code>Document</code> object must have a separate object for its <code>Window</code>'s <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute.</p> </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 not throw an exception or "do nothing" as defined above, then for 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 href="#send-a-storage-notification">send a storage notification</a>. - <p id="localStorageMutex">Whenever the properties of a <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute's - <code><a href="#storage-0">Storage</a></code> object are to be examined, returned, set, or - deleted, whether as part of a direct property access, when checking - for the presence of a property, during property enumeration, when - determining the number of properties present, or as part of the - execution of any of the methods or attributes defined on the - <code><a href="#storage-0">Storage</a></code> interface, the user agent must first - <span>obtain the storage mutex</span>.</p> + <p id="localStorageMutex">Whenever the properties of a <code title="dom-localStorage"><a href="#dom-localstorage">localStorage</a></code> attribute's <code><a href="#storage-0">Storage</a></code> object are to be + examined, returned, set, or deleted, whether as part of a direct property access, when checking + for the presence of a property, during property enumeration, when determining the number of + properties present, or as part of the execution of any of the methods or attributes defined on the + <code><a href="#storage-0">Storage</a></code> interface, the user agent must first <span>obtain the storage + mutex</span>.</p> <h3 id="the-storage-event"><span class="secno">4.4 </span>The <code title="event-storage"><a href="#event-storage">storage</a></code> event</h3>
Received on Saturday, 3 August 2013 16:05:15 UTC