[html5] r1200 - /
whatwg at whatwg.org
whatwg at whatwg.org
Sat Feb 9 00:39:27 PST 2008
Author: ianh
Date: 2008-02-09 00:39:25 -0800 (Sat, 09 Feb 2008)
New Revision: 1200
Modified:
index
source
Log:
[w] (2) Redefine how the 'storage' event works. Remove the queueing of events. Add some v2 notes.
Modified: index
===================================================================
--- index 2008-02-09 04:52:26 UTC (rev 1199)
+++ index 2008-02-09 08:39:25 UTC (rev 1200)
@@ -1175,6 +1175,10 @@
<li><a href="#the-storage0"><span class=secno>4.10.5 </span>The <code
title=event-storage>storage</code> event</a>
+ <ul class=toc>
+ <li><a href="#event0"><span class=secno>4.10.5.1. </span>Event
+ definition</a>
+ </ul>
<li><a href="#miscellaneous0"><span class=secno>4.10.6
</span>Miscellaneous implementation requirements for storage
@@ -1434,7 +1438,7 @@
<li><a href="#comms"><span class=secno>6. </span>Communication</a>
<ul class=toc>
- <li><a href="#event0"><span class=secno>6.1 </span>Event definitions</a>
+ <li><a href="#event1"><span class=secno>6.1 </span>Event definitions</a>
<li><a href="#server-sent-events"><span class=secno>6.2
@@ -2791,7 +2795,7 @@
attribute DOMString <a href="#registrationmark0" title=dom-registrationMark>registrationMark</a>;
readonly attribute DocumentFragment <a href="#originalcontent" title=dom-originalContent>originalContent</a>;
- // <a href="#event3">event handler DOM attributes</a>
+ // <a href="#event4">event handler DOM attributes</a>
attribute <span>EventListener</span> <a href="#onabort" title=handler-onabort>onabort</a>;
attribute <span>EventListener</span> <a href="#onbeforeunload" title=handler-onbeforeunload>onbeforeunload</a>;
attribute <span>EventListener</span> <a href="#onblur" title=handler-onblur>onblur</a>;
@@ -6255,7 +6259,7 @@
<dd><code title=attr-title><a href="#title">title</a></code>
</dl>
- <p>In addition, the following <a href="#event2">event handler content
+ <p>In addition, the following <a href="#event3">event handler content
attributes</a> may be specified on any <span>HTML element</span>:
<dl class=element>
@@ -25416,7 +25420,7 @@
// <a href="#cross-document">cross-document messaging</a>
void <a href="#postmessage" title=dom-window-postMessage>postMessage</a>(in DOMString message);
- // <a href="#event3">event handler DOM attributes</a>
+ // <a href="#event4">event handler DOM attributes</a>
attribute <span>EventListener</span> <a href="#onabort" title=handler-onabort>onabort</a>;
attribute <span>EventListener</span> <a href="#onbeforeunload" title=handler-onbeforeunload>onbeforeunload</a>;
attribute <span>EventListener</span> <a href="#onblur" title=handler-onblur>onblur</a>;
@@ -25667,8 +25671,8 @@
rule in a CSS <code><a href="#style">style</a></code> element block).
<li>Event handlers, whether registered through the DOM using <code
- title="">addEventListener()</code>, by explicit <a href="#event2">event
- handler content attributes</a>, by <a href="#event3">event handler DOM
+ title="">addEventListener()</code>, by explicit <a href="#event3">event
+ handler content attributes</a>, by <a href="#event4">event handler DOM
attributes</a>, or otherwise.
<li>Processing of technologies like XBL or SVG that have their own
@@ -25964,13 +25968,13 @@
<h5 id=event-handler-attributes><span class=secno>4.3.6.1. </span>Event
handler attributes</h5>
- <p><a href="#html-elements">HTML elements</a> can have <dfn id=event1>event
+ <p><a href="#html-elements">HTML elements</a> can have <dfn id=event2>event
handler attributes</dfn> specified. These act as bubbling event listeners
for the element on which they are specified.
- <p>Each event handler attribute has two parts, an <a href="#event2"
+ <p>Each event handler attribute has two parts, an <a href="#event3"
title="event handler content attributes">event handler content
- attribute</a> and an <a href="#event3" title="event handler DOM
+ attribute</a> and an <a href="#event4" title="event handler DOM
attributes">event handler DOM attribute</a>. Event handler attributes must
initially be set to null. When their value changes (through the changing
of their event handler content attribute or their event handler DOM
@@ -25978,11 +25982,11 @@
<code>EventListener</code> object assigned to them.
<p>Objects other than <code>Element</code> objects, in particular <code><a
- href="#window">Window</a></code>, only have <a href="#event3" title="event
+ href="#window">Window</a></code>, only have <a href="#event4" title="event
handler DOM attributes">event handler DOM attribute</a> (since they have
no content attributes).
- <p><dfn id=event2>Event handler content attributes</dfn>, when specified,
+ <p><dfn id=event3>Event handler content attributes</dfn>, when specified,
must contain valid ECMAScript code matching the ECMAScript <code
title="">FunctionBody</code> production. <a
href="#refsECMA262">[ECMA262]</a>
@@ -26007,7 +26011,7 @@
<p class=issue>How do we allow non-JS event handlers?
- <p><dfn id=event3>Event handler DOM attributes</dfn>, on setting, must set
+ <p><dfn id=event4>Event handler DOM attributes</dfn>, on setting, must set
the corresponding event handler attribute to their new value, and on
getting, must return whatever the current value of the corresponding event
handler attribute is (possibly null).
@@ -28155,7 +28159,7 @@
cache</var>.
</ol>
- <p>The following are the <a href="#event3">event handler DOM attributes</a>
+ <p>The following are the <a href="#event4">event handler DOM attributes</a>
that must be supported by objects implementing the <code><a
href="#applicationcache">ApplicationCache</a></code> interface:
@@ -30241,7 +30245,15 @@
boolean <a href="#setitem" title=dom-Storage-setItem>setItem</a>(in DOMString key, in DOMString data);
void <a href="#removeitem" title=dom-Storage-removeItem>removeItem</a>(in DOMString key);
};</pre>
+ <!-- XXX v2 ideas:
+ a getInfo() method that returns an object that tells you:
+ - when the key was added
+ - when the key was last modified
+ - which page was the last to modify the key
+ [--Mihai Sucan]
+ -->
+
<p>Each <code><a href="#storage0">Storage</a></code> object provides access
to a list of key/value pairs, which are sometimes called items. Keys and
values are strings. Any string (including the empty string) is a valid
@@ -30462,28 +30474,66 @@
href="#sessionStorageEvent">for session storage</a>, <a
href="#globalStorageEvent">for global storage</a>).
- <p>When this happens, the user agent must <a href="#firing2">fire a simple
- event</a> called <code><a href="#storage0">storage</a></code> on <a
- href="#the-body0">the body element</a>.
+ <p>When this happens, the user agent must dispatch an event with the name
+ <code><a href="#storage0">storage</a></code>, with no namespace, which
+ does not bubble but is cancelable, and which uses the <code><a
+ href="#storageevent">StorageEvent</a></code>, at <a href="#the-body0">the
+ body element</a> of each <a href="#active" title="active
+ document">active</a> <code><a href="#htmldocument">HTMLDocument</a></code>
+ object affected. The event must have its <code
+ title=dom-StorageEvent-key><a href="#key">key</a></code> attribute set to
+ the name of the key in question, its <code
+ title=dom-StorageEvent-oldValue><a href="#oldvalue">oldValue</a></code>
+ attribute set to the old value of the key in question, or null if the key
+ is newly added, its <code title=dom-StorageEvent-newValue>newValue</code>
+ attribute set to the new value of the key in question, or null if the key
+ was removed, its <code title=dom-StorageEvent-uri><a
+ href="#uri">uri</a></code> attribute set to the address of the page whose
+ <code><a href="#storage0">Storage</a></code> object was affected, and its
+ <code title=dom-StorageEvent-source><a href="#source0">source</a></code>
+ attribute set to the <code><a href="#window">Window</a></code> object of
+ hte <span>browsing content</span> that that documents finds is in.</p>
+ <!-- XXX onstorage should be defined -->
- <p>However, it is possible (indeed, for session storage areas, likely) that
- the target's <code><a href="#htmldocument">HTMLDocument</a></code> object
- is not an <a href="#active">active document</a> at that time. In such
- cases, the user agent must instead delay the firing of the event until
- such time as the <code><a href="#htmldocument">HTMLDocument</a></code>
- object in question becomes an <a href="#active">active document</a> again.
+ <h5 id=event0><span class=secno>4.10.5.1. </span>Event definition</h5>
- <p>When there are multiple delayed <code><a
- href="#storage0">storage</a></code> events for the same <code><a
- href="#htmldocument">HTMLDocument</a></code> object, user agents must
- coalesce those events such that only one event fires when the document
- becomes active again.
+ <pre class=idl>interface <dfn id=storageevent>StorageEvent</dfn> : Event {
+ readonly attribute DOMString <a href="#key" title=dom-StorageEvent-key>key</a>;
+ readonly attribute DOMString <a href="#oldvalue" title=dom-StorageEvent-oldValue>oldValue</a>;
+ readonly attribute DOMString <span title=dom-StorageEvent-newValue>newValue</span>;
+ readonly attribute DOMString <a href="#uri" title=dom-StorageEvent-uri>uri</a>;
+ readonly attribute <a href="#window">Window</a> <a href="#source0" title=dom-StorageEvent-source>source</a>;
+ void <a href="#initstorageevent" title=dom-StorageEvent-initStorageEvent>initStorageEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString keyArg, in DOMString oldValueArg, in DOMString newValueArg, in DOMString uriArg, in Window sourceArg);
+ void <a href="#initstorageeventns" title=dom-StorageEvent-initStorageEventNS>initStorageEventNS</a>(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString keyArg, in DOMString oldValueArg, in DOMString newValueArg, in DOMString uriArg, in Window sourceArg);
+};</pre>
- <p>If the DOM of a page that has delayed <code><a
- href="#storage0">storage</a></code> events queued up is <a href="#discard"
- title=discard>discarded</a>, then the delayed events are dropped as well.</p>
- <!-- XXX onstorage should be defined -->
+ <p>The <dfn id=initstorageevent
+ title=dom-StorageEvent-initStorageEvent><code>initStorageEvent()</code></dfn>
+ and <dfn id=initstorageeventns
+ title=dom-StorageEvent-initStorageEventNS><code>initStorageEventNS()</code></dfn>
+ methods must initialise the event in a manner analogous to the
+ similarly-named methods in the DOM3 Events interfaces. <a
+ href="#refsDOM3EVENTS">[DOM3EVENTS]</a>
+ <p>The <dfn id=key title=dom-StorageEvent-key><code>key</code></dfn>
+ attribute represents the key being changed.
+
+ <p>The <dfn id=oldvalue
+ title=dom-StorageEvent-oldValue><code>oldValue</code></dfn> attribute
+ represents the old value of the key being changed.
+
+ <p>The <dfn id=newvalue
+ title=dom-StorageEvent-vnewValue><code>newValue</code></dfn> attribute
+ represents the new value of the key being changed.
+
+ <p>The <dfn id=uri title=dom-StorageEvent-uri><code>uri</code></dfn>
+ attribute represents the address of the document that changed the key.
+
+ <p>The <dfn id=source0
+ title=dom-StorageEvent-source><code>source</code></dfn> attribute
+ represents the <code><a href="#window">Window</a></code> that changed the
+ key.
+
<h4 id=miscellaneous0><span class=secno>4.10.6 </span>Miscellaneous
implementation requirements for storage areas</h4>
@@ -33303,13 +33353,13 @@
<tr>
<td><dfn id=dragstart title=event-dragstart><code>dragstart</code></dfn>
- <td><a href="#source0">Source node</a>
+ <td><a href="#source1">Source node</a>
<td>✓ Bubbles
<td>✓ Cancelable
- <td>Contains <a href="#source0">source node</a> unless a selection is
+ <td>Contains <a href="#source1">source node</a> unless a selection is
being dragged, in which case it is empty
<td><code title="">uninitialized</code>
@@ -33321,7 +33371,7 @@
<tr>
<td><dfn id=drag title=event-drag><code>drag</code></dfn>
- <td><a href="#source0">Source node</a>
+ <td><a href="#source1">Source node</a>
<td>✓ Bubbles
@@ -33413,7 +33463,7 @@
<tr>
<td><dfn id=dragend title=event-dragend><code>dragend</code></dfn>
- <td><a href="#source0">Source node</a>
+ <td><a href="#source1">Source node</a>
<td>✓ Bubbles
@@ -33555,7 +33605,7 @@
<p>If it is not a selection that is being dragged, then the event must be
fired on the element that is being dragged.
- <p>The node on which the event is fired is the <dfn id=source0>source
+ <p>The node on which the event is fired is the <dfn id=source1>source
node</dfn>. Multiple events are fired on this node during the course of
the drag-and-drop operation.
@@ -33563,7 +33613,7 @@
title=dom-DragEvent-dataTransfer><a
href="#datatransfer">dataTransfer</a></code> member of the event must be
created with no nodes. Otherwise, it must be created containing just the
- <a href="#source0">source node</a>. Script can use the <code
+ <a href="#source1">source node</a>. Script can use the <code
title=dom-DataTransfer-addElement><a
href="#addelement">addElement()</a></code> method to add further elements
to the list of what is being dragged.
@@ -33676,7 +33726,7 @@
<ol>
<li>
<p>First, the user agent must fire a <code title=event-drag><a
- href="#drag">drag</a></code> event at the <a href="#source0">source
+ href="#drag">drag</a></code> event at the <a href="#source1">source
node</a>. If this event is canceled, the user agent must set the <a
href="#current2">current drag operation</a> to none (no drag operation).</p>
@@ -33911,7 +33961,7 @@
<li>
<p>Finally, the user agent must fire a <code title=event-dragend><a
href="#dragend">dragend</a></code> event at the <a
- href="#source0">source node</a>, with the <code
+ href="#source1">source node</a>, with the <code
title=dom-DataTransfer-dropEffect><a
href="#dropeffect">dropEffect</a></code> attribute of the event's
<code title=dom-DragEvent-dataTransfer><a
@@ -33971,7 +34021,7 @@
operation starts or ends in another application</h5>
<p>If the drag is initiated in another application, the <a
- href="#source0">source node</a> is not a DOM node, and the user agent must
+ href="#source1">source node</a> is not a DOM node, and the user agent must
use platform-specific conventions instead when the requirements above
involve the source node. User agents in this situation must act as if the
dragged data had been added to the <code><a
@@ -34984,7 +35034,7 @@
<h2 id=comms><span class=secno>6. </span>Communication</h2>
- <h3 id=event0><span class=secno>6.1 </span>Event definitions</h3>
+ <h3 id=event1><span class=secno>6.1 </span>Event definitions</h3>
<p>Messages in <a href="#cross-document">cross-document messaging</a> and,
by default, in <a href="#server-sent">server-sent DOM events</a>, use the
@@ -34995,8 +35045,8 @@
<pre class=idl>interface <dfn id=messageevent>MessageEvent</dfn> : Event {
readonly attribute DOMString <a href="#data4" title=dom-MessageEvent-data>data</a>;
readonly attribute DOMString <a href="#domain1" title=dom-MessageEvent-domain>domain</a>;
- readonly attribute DOMString <a href="#uri" title=dom-MessageEvent-uri>uri</a>;
- readonly attribute <a href="#window">Window</a> <a href="#source1" title=dom-MessageEvent-source>source</a>;
+ readonly attribute DOMString <a href="#uri0" title=dom-MessageEvent-uri>uri</a>;
+ readonly attribute <a href="#window">Window</a> <a href="#source2" title=dom-MessageEvent-source>source</a>;
void <a href="#initmessageevent" title=dom-MessageEvent-initMessageEvent>initMessageEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString dataArg, in DOMString domainArg, in DOMString uriArg, in Window sourceArg);
void <a href="#initmessageeventns" title=dom-MessageEvent-initMessageEventNS>initMessageEventNS</a>(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString dataArg, in DOMString domainArg, in DOMString uriArg, in Window sourceArg);
};</pre>
@@ -35017,11 +35067,11 @@
represents, in <a href="#cross-document">cross-document messaging</a>, the
domain of the document from which the message came.
- <p>The <dfn id=uri title=dom-MessageEvent-uri><code>uri</code></dfn>
+ <p>The <dfn id=uri0 title=dom-MessageEvent-uri><code>uri</code></dfn>
attribute represents, in <a href="#cross-document">cross-document
messaging</a>, the address of the document from which the message came.
- <p>The <dfn id=source1
+ <p>The <dfn id=source2
title=dom-MessageEvent-source><code>source</code></dfn> attribute
represents, in <a href="#cross-document">cross-document messaging</a>, the
<code><a href="#window">Window</a></code> from which the message came.
@@ -35778,7 +35828,7 @@
<pre
class=idl>interface <dfn id=connectionreadevent>ConnectionReadEvent</dfn> : Event {
readonly attribute DOMString <a href="#data5" title=dom-ConnectionReadEvent-data>data</a>;
- readonly attribute DOMString <a href="#source2" title=dom-ConnectionReadEvent-source>source</a>;
+ readonly attribute DOMString <a href="#source3" title=dom-ConnectionReadEvent-source>source</a>;
void <a href="#initconnectionreadevent" title=dom-ConnectionReadEvent-initConnectionReadEvent>initConnectionReadEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString dataArg);
void <a href="#initconnectionreadeventns" title=dom-ConnectionReadEvent-initConnectionReadEventNS>initConnectionReadEventNS</a>(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString dataArg);
};
@@ -35796,7 +35846,7 @@
title=dom-ConnectionReadEvent-data><code>data</code></dfn> attribute
represents the data that was transmitted from the peer.
- <p>The <dfn id=source2
+ <p>The <dfn id=source3
title=dom-ConnectionReadEvent-source><code>source</code></dfn> attribute
represents the name of the peer. This is primarily useful on broadcast
connections; on direct connections it is equal to the <code
@@ -36023,7 +36073,7 @@
title="">s</var>, with the first character removed, must be used as the
<code title=dom-ConnectionReadEvent-data><a href="#data5">data</a></code>,
and the source IP address of the packet as the <code
- title=dom-ConnectionReadEvent-source><a href="#source2">source</a></code>.
+ title=dom-ConnectionReadEvent-source><a href="#source3">source</a></code>.
<p class=big-issue>Making the source IP available means that if two or more
machines in a private network can be made to go to a hostile page
@@ -36468,9 +36518,9 @@
attribute must be set to the <a href="#domain0" title="the document's
domain">domain of the document</a> that the script that invoked the
methods is associated with, the <code title=dom-MessageEvent-uri><a
- href="#uri">uri</a></code> attribute must be set to the URI of that
+ href="#uri0">uri</a></code> attribute must be set to the URI of that
document, and the <code title=dom-MessageEvent-source><a
- href="#source1">source</a></code> attribute must be set to the <code><a
+ href="#source2">source</a></code> attribute must be set to the <code><a
href="#window">Window</a></code> object of the default view of the
browsing context with which that document is associated.
Modified: source
===================================================================
--- source 2008-02-09 04:52:26 UTC (rev 1199)
+++ source 2008-02-09 08:39:25 UTC (rev 1200)
@@ -27735,6 +27735,15 @@
void <span title="dom-Storage-removeItem">removeItem</span>(in DOMString key);
};</pre>
+ <!-- XXX v2 ideas:
+ a getInfo() method that returns an object that tells you:
+ - when the key was added
+ - when the key was last modified
+ - which page was the last to modify the key
+ [--Mihai Sucan]
+
+ -->
+
<p>Each <code>Storage</code> object provides access to a list of
key/value pairs, which are sometimes called items. Keys and values
are strings. Any string (including the empty string) is a valid
@@ -27942,29 +27951,69 @@
href="#sessionStorageEvent">for session storage</a>, <a
href="#globalStorageEvent">for global storage</a>).</p>
- <p>When this happens, the user agent must <span>fire a simple
- event</span> called <code>storage</code> on <span>the body
- element</span>.</p>
+ <p>When this happens, the user agent must dispatch an event with the
+ name <code>storage</code>, with no namespace, which does not bubble
+ but is cancelable, and which uses the <code>StorageEvent</code>, at
+ <span>the body element</span> of each <span title="active
+ document">active</span> <code>HTMLDocument</code> object
+ affected. The event must have its <code
+ title="dom-StorageEvent-key">key</code> attribute set to the name of
+ the key in question, its <code
+ title="dom-StorageEvent-oldValue">oldValue</code> attribute set to
+ the old value of the key in question, or null if the key is newly
+ added, its <code title="dom-StorageEvent-newValue">newValue</code>
+ attribute set to the new value of the key in question, or null if
+ the key was removed, its <code
+ title="dom-StorageEvent-uri">uri</code> attribute set to the address
+ of the page whose <code>Storage</code> object was affected, and its
+ <code title="dom-StorageEvent-source">source</code> attribute set to
+ the <code>Window</code> object of hte <span>browsing content</span>
+ that that documents finds is in.</p>
- <p>However, it is possible (indeed, for session storage areas,
- likely) that the target's <code>HTMLDocument</code> object is not an
- <span>active document</span> at that time. In such cases, the user
- agent must instead delay the firing of the event until such time as
- the <code>HTMLDocument</code> object in question becomes an
- <span>active document</span> again.</p>
+ <!-- XXX onstorage should be defined -->
- <p>When there are multiple delayed <code>storage</code> events for
- the same <code>HTMLDocument</code> object, user agents must coalesce
- those events such that only one event fires when the document
- becomes active again.</p>
- <p>If the DOM of a page that has delayed <code>storage</code> events
- queued up is <span title="discard">discarded</span>, then the
- delayed events are dropped as well.</p>
+ <h5>Event definition</h5>
- <!-- XXX onstorage should be defined -->
+ <pre class="idl">interface <dfn>StorageEvent</dfn> : Event {
+ readonly attribute DOMString <span title="dom-StorageEvent-key">key</span>;
+ readonly attribute DOMString <span title="dom-StorageEvent-oldValue">oldValue</span>;
+ readonly attribute DOMString <span title="dom-StorageEvent-newValue">newValue</span>;
+ readonly attribute DOMString <span title="dom-StorageEvent-uri">uri</span>;
+ readonly attribute <span>Window</span> <span title="dom-StorageEvent-source">source</span>;
+ void <span title="dom-StorageEvent-initStorageEvent">initStorageEvent</span>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString keyArg, in DOMString oldValueArg, in DOMString newValueArg, in DOMString uriArg, in Window sourceArg);
+ void <span title="dom-StorageEvent-initStorageEventNS">initStorageEventNS</span>(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString keyArg, in DOMString oldValueArg, in DOMString newValueArg, in DOMString uriArg, in Window sourceArg);
+};</pre>
+ <p>The <dfn
+ title="dom-StorageEvent-initStorageEvent"><code>initStorageEvent()</code></dfn>
+ and <dfn
+ title="dom-StorageEvent-initStorageEventNS"><code>initStorageEventNS()</code></dfn>
+ methods must initialise the event in a manner analogous to the
+ similarly-named methods in the DOM3 Events interfaces. <a
+ href="#refsDOM3EVENTS">[DOM3EVENTS]</a></p>
+ <p>The <dfn title="dom-StorageEvent-key"><code>key</code></dfn>
+ attribute represents the key being changed.</p>
+
+ <p>The <dfn
+ title="dom-StorageEvent-oldValue"><code>oldValue</code></dfn>
+ attribute represents the old value of the key being changed.</p>
+
+ <p>The <dfn
+ title="dom-StorageEvent-vnewValue"><code>newValue</code></dfn>
+ attribute represents the new value of the key being changed.</p>
+
+ <p>The <dfn title="dom-StorageEvent-uri"><code>uri</code></dfn>
+ attribute represents the address of the document that changed the
+ key.</p>
+
+ <p>The <dfn
+ title="dom-StorageEvent-source"><code>source</code></dfn> attribute
+ represents the <code>Window</code> that changed the key.</p>
+
+
+
<h4>Miscellaneous implementation requirements for storage areas</h4>
<h5>Disk space</h5>
More information about the Commit-Watchers
mailing list