@@ -138,15 +138,18 @@ allow for different storage policies. And lastly, a <a>storage bucket</a> consis
138
138
<h3 id=storage-endpoints>Storage endpoints</h3>
139
139
140
140
<p> A <dfn export>storage endpoint</dfn> is a <a lt="local storage">local</a> or
141
- <a>session storage</a> API that uses the infrastructure defined by this standard to keep track of
142
- its storage needs.
141
+ <a>session storage</a> API that uses the infrastructure defined by this standard, most notably
142
+ <a for=/>storage bottles</a> , to keep track of its storage needs.
143
143
144
144
<p> A <a>storage endpoint</a> has an <dfn for="storage endpoint">identifier</dfn> , which is a
145
145
<a>storage identifier</a> .
146
146
147
147
<p> A <a>storage endpoint</a> also has <dfn for="storage endpoint">types</dfn> , which is a
148
148
<a for=/>set</a> of <a>storage types</a> .
149
149
150
+ <p> A <a>storage endpoint</a> also has a <dfn for="storage endpoint">quota</dfn> , which is a number
151
+ representing a recommended <a for=/>storage bottle</a> 's <a for="storage bottle">quota</a> .
152
+
150
153
<p> A <dfn>storage identifier</dfn> is an <a for=/>ASCII string</a> .
151
154
152
155
<p> A <dfn>storage type</dfn> is "<code> local</code> " or "<code> session</code> ".
@@ -160,23 +163,29 @@ defined by the following table:
160
163
161
164
<table>
162
165
<tr>
163
- <th> <a>Storage identifier</a>
164
- <th> <a>Storage types</a>
166
+ <th> <a for="storage endpoint">Identifier</a>
167
+ <th> <a for="storage endpoint">Type</a>
168
+ <th> <a for="storage endpoint">Quota</a>
165
169
<tr>
166
170
<td> "<code> caches</code> "
167
171
<td> « "<code> local</code> " »
172
+ <td> null
168
173
<tr>
169
174
<td> "<code> indexedDB</code> "
170
175
<td> « "<code> local</code> " »
176
+ <td> null
171
177
<tr>
172
178
<td> "<code> localStorage</code> "
173
179
<td> « "<code> local</code> " »
180
+ <td> 5 × 2<sup> 20</sup> (i.e., 5 mebibytes)
174
181
<tr>
175
182
<td> "<code> serviceWorkerRegistrations</code> "
176
183
<td> « "<code> local</code> " »
184
+ <td> null
177
185
<tr>
178
186
<td> "<code> sessionStorage</code> "
179
187
<td> « "<code> session</code> " »
188
+ <td> 5 × 2<sup> 20</sup> (i.e., 5 mebibytes)
180
189
</table>
181
190
182
191
<p class=note> As mentioned, standards can use these <a>storage identifiers</a> with
@@ -300,7 +309,8 @@ steps:
300
309
<li><p> <a for=set>For each</a> <var> endpoint</var> of <a>registered storage endpoints</a> whose
301
310
<a for="storage endpoint">types</a> <a for=set>contain</a> <var> type</var> , set <var> bucket</var> 's
302
311
<a>bottle map</a> [<var>endpoint</var>'s <a for="storage endpoint">identifier</a>] to a new
303
- <a>storage bottle</a> .
312
+ <a>storage bottle</a> whose <a for="storage bottle">quota</a> is <var> endpoint</var> 's
313
+ <a for="storage endpoint">quota</a> .
304
314
305
315
<li><p> Return <var> bucket</var> .
306
316
</ol>
@@ -312,7 +322,10 @@ steps:
312
322
<a>storage endpoint</a> . A <a>storage bottle</a> has a <dfn for="storage bottle">map</dfn> , which is
313
323
initially an empty <a for=/>map</a> . A <a>storage bottle</a> also has a
314
324
<dfn for="storage bottle">proxy map reference set</dfn> , which is initially an empty
315
- <a for=/>set</a> .
325
+ <a for=/>set</a> . A <a>storage bottle</a> also has a <dfn for="storage bottle">quota</dfn> , which is
326
+ null or a number representing a conservative estimate of the amount of bytes available to it. Null
327
+ indicates the lack of a limit. <span class=note> It is still bound by the <a>storage quota</a> of its
328
+ encompassing <a for=/>storage shelf</a> .
316
329
317
330
<p> A <a>storage bottle</a> 's <a for="storage bottle">map</a> is where the actual data meant to be
318
331
stored lives. User agents are expected to store this data, and make it available across <a>agent</a>
0 commit comments