[html5] r3878 - [giow] (2) Setting document.domain has to make localStorage unusable because oth [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Sep 16 15:22:18 PDT 2009


Author: ianh
Date: 2009-09-16 15:22:17 -0700 (Wed, 16 Sep 2009)
New Revision: 3878

Modified:
   source
Log:
[giow] (2) Setting document.domain has to make localStorage unusable because otherwise you can cause deadlocks with per-origin localStorage locks

Modified: source
===================================================================
--- source	2009-09-16 11:11:31 UTC (rev 3877)
+++ source	2009-09-16 22:22:17 UTC (rev 3878)
@@ -62483,18 +62483,28 @@
   access that data is running.</p>
 
   <p>When the <code title="dom-localStorage">localStorage</code>
-  attribute is accessed, the user agent must check to see if it 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
-  method was invoked. If it has not, a new storage area for that
-  <span>origin</span> must be created.</p>
+  attribute is accessed, the user agent must run the following steps:</p>
 
-  <p>The user agent must then return the <code>Storage</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">localStorage</code> attribute.</p>
+  <ol>
 
+   <li><p>If the <code>Document</code>'s <span>effective script
+   origin</span> is not the <span>same origin</span> as the
+   <code>Document</code>'s <span>origin</span>, then throw a
+   <code>SECURITY_ERR</code> exception and abort these steps.</p></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 method was invoked. If
+   it has not, create a new storage area for that
+   <span>origin</span>.</p></li>
+
+   <li><p>Return the <code>Storage</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">localStorage</code> attribute.</p>
+
+  </ol>
+
   <p id="localStorageEvent">When the <code
   title="dom-Storage-setItem">setItem()</code>, <code
   title="dom-Storage-removeItem">removeItem()</code>, and <code




More information about the Commit-Watchers mailing list