--- a/source/xml-source.xml Sat Nov 18 01:32:49 2006 +0900
+++ b/source/xml-source.xml Sat Nov 18 01:49:31 2006 +0900
@@ -831,8 +831,8 @@
<p>
Event listeners can be registered on all nodes in the tree for a
specific type of event (<specref ref="Event-types"/>) or event
- category (<specref ref="Events-EventTypes-category"/>), phase,
- and group (<specref ref="Event-groups"/>).
+ category (<specref ref="Events-EventTypes-category"/>), and
+ phase.
</p>
<p>
@@ -844,88 +844,17 @@
</p>
</div4>
- <div4 id="Event-groups">
+ <div4 id="Event-listener-ordering">
<head>
- Event groups
+ Event listener ordering
</head>
<p>
- An event listener is always part of a group. It is either
- explicitly in a group if a group has been specified at the
- registration or implicitly in the default group if no group has
- been specified. Within a group, event listeners are ordered
- according to their order of registration. If two event listeners
- {A1, A2}, which are part of the same group, are registered one
+ Event listeners are ordered according to their order of
+ registration. If two event listeners {A1, A2} are registered one
after the other (A1, then A2) for the same phase, the DOM event
- flow guarantees their triggering order (A1, then A2). If the two
- listeners are not part of the same group, no specification is
- made as to the order in which they will be triggered.
- </p>
-
- <p>
- In general, a DOM application does not need to define and use a
- separate group unless other event listeners, external to the DOM
- application, may change the event propagation (e.g. from a
- concurrent DOM application, from imported functionalities that
- rely on the event system, etc.).
+ flow guarantees their triggering order (A1, then A2).
</p>
-
- <note>
- <p>
- While this specification does not specify a full ordering (i.e.
- groups are still unordered), it does specify ordering within a
- group. This implies that if the event listeners {A1, A2, B1,
- B2}, with A and B being two different groups, are registered for
- the same phase in the order A1, A2, B1, and B2, the following
- triggering orders are possible and conform to the DOM event
- flow:
- </p>
-
- <ulist>
- <item>
- <p>
- {A1, A2, B1, B2}
- </p>
- </item>
-
- <item>
- <p>
- {A1, B1, A2, B2}
- </p>
- </item>
-
- <item>
- <p>
- {B1, A1, A2, B2}
- </p>
- </item>
-
- <item>
- <p>
- {A1, B1, B2, A2}
- </p>
- </item>
-
- <item>
- <p>
- {B1, A1, B2, A2}
- </p>
- </item>
-
- <item>
- <p>
- {B1, B2, A1, A2}
- </p>
- </item>
- </ulist>
-
- <p>
- DOM Events implementations may impose priorities on groups but
- DOM applications must not rely on it. Unlike this specification,
- <bibref ref="DOM2Events"/> did not specify any triggering order
- for event listeners.
- </p>
- </note>
</div4>
<div4 id="Events-listeners-activation">
@@ -955,7 +884,7 @@
<item>
<p>
- the event propagation has not been stopped for the group.
+ the event propagation has not been stopped.
</p>
</item>
</olist>
@@ -996,41 +925,33 @@
</p>
</div4>
- <div4 id="Events-propagation-and-groups">
+ <div4 id="Events-propagation">
<head>
- Event propagation and event groups
+ Event propagation
</head>
<p>
- All event listeners are part of a group (see
- <specref ref="Events-listeners-registration"/>). An event
- listener may prevent event listeners that are part of the same
- group from being triggered. The effect can be:
+ An event listener may prevent other event listeners from being
+ triggered. The effect can be:
</p>
<ulist>
<item>
<p>
- immediate: no more event listeners from the same group will be
- triggered by the event object (see
+ immediate: no more event listeners will be triggered by the
+ event object (see
<code>Event.stopImmediatePropagation()</code>);
</p>
</item>
<item>
<p>
- deferred: all event listeners from the same group on the
- current node will be triggered, but event listeners from the
- same group attached on other nodes will not be triggered (see
- <code>Event.stopPropagation()</code>).
+ deferred: all event listeners on the current node will be
+ triggered, but event listeners attached on other nodes will not
+ be triggered (see <code>Event.stopPropagation()</code>).
</p>
</item>
</ulist>
-
- <p>
- If two event listeners are registered for two different groups,
- one cannot prevent the other from being triggered.
- </p>
</div4>
</div3>
</div2>
@@ -2134,9 +2055,7 @@
phase="default" propagate="stop"/></eg>
<p>
Event listeners can only be registered on <code>Element</code>
- nodes, other <code>Node</code> types are not addressable, and
- cannot be registered for a specific group either, they are always
- attached to the default group. The
+ nodes, other <code>Node</code> types are not addressable. The
<termref def="dt-target-phase">target phase</termref> and the
<termref def="dt-bubbling-phase">bubbling phase</termref> are
coupled during the registration.
@@ -2173,9 +2092,7 @@
</form></eg>
<p>
Event listeners can only be registered on <code>Element</code>
- nodes, other <code>Node</code> types are not addressable, and
- cannot be registered for a specific group either, they are always
- attached to the default group. The
+ nodes, other <code>Node</code> types are not addressable. The
<termref def="dt-target-phase">target phase</termref> and the
<termref def="dt-bubbling-phase">bubbling phase</termref> are
coupled during the registration.
@@ -2213,9 +2130,7 @@
<termref def="dt-bubbling-phase">bubbling phase</termref>, other
<code>Node</code> types and the
<termref def="dt-capture-phase">capture phase</termref> are not
- addressable with these languages. Event listeners cannot be
- registered for a specific group either, they are always attached
- to the default group.
+ addressable with these languages.
</p>
</div3>
</div2>
@@ -2370,12 +2285,11 @@
<method name="stopPropagation" id="Events-Event-stopPropagation">
<descr>
<p>
- Prevents event listeners of the same group from being triggered
- but its effect is deferred until all event listeners attached
- on the <code>Event.currentTarget</code> have been triggered
- (see <specref ref="Events-propagation-and-groups"/>). Once it
- has been called, further calls to this method have no
- additional effect.
+ Prevents other event listeners from being triggered but its
+ effect is deferred until all event listeners attached on the
+ <code>Event.currentTarget</code> have been triggered (see
+ <specref ref="Events-propagation"/>). Once it has been called,
+ further calls to this method have no additional effect.
</p>
<note>
@@ -2521,11 +2435,10 @@
<method name="stopImmediatePropagation" id="Events-Event-stopImmediatePropagation" since="DOM Level 3">
<descr>
<p>
- Prevents event listeners of the same group from being triggered
- and, unlike <code>Event.stopPropagation()</code> its effect is
- immediate (see <specref ref="Events-propagation-and-groups"/>).
- Once it has been called, further calls to this method have no
- additional effect.
+ Prevents other event listeners from being triggered and, unlike
+ <code>Event.stopPropagation()</code> its effect is immediate
+ (see <specref ref="Events-propagation"/>). Once it has been
+ called, further calls to this method have no additional effect.
</p>
<note>
@@ -2748,24 +2661,21 @@
<code>listener</code>, and <code>useCapture</code> has no
effect. Doing so does not cause the <code>EventListener</code>
to be called more than once and does not cause a change in the
- triggering order. In order to register a listener for a
- different event group (<specref ref="Event-groups"/>) the
- previously registered listener has to be removed first.
+ triggering order.
</p>
</descr>
<method name="addEventListener" id="Events-EventTarget-addEventListener">
<descr>
<p>
- Registers an event listener in the default group and, depending
- on the <code>useCapture</code> parameter, on the capture phase
- of the DOM event flow or its target and bubbling phases.
- Invoking this method is equivalent to invoking
+ Registers an event listener, depending on the
+ <code>useCapture</code> parameter, on the capture phase of the
+ DOM event flow or its target and bubbling phases. Invoking this
+ method is equivalent to invoking
<code>addEventListenerNS</code> with the same values for the
parameters <code>type</code>, <code>listener</code>, and
<code>useCapture</code>, and the value <code>null</code> for
- the parameters <code>namespaceURI</code> and
- <code>evtGroup</code>.
+ the parameter <code>namespaceURI</code>.
</p>
</descr>
@@ -2822,22 +2732,13 @@
<method name="removeEventListener" id="Events-EventTarget-removeEventListener">
<descr>
<p>
- Removes an event listener from the default group. Calling
+ Removes an event listener. Calling
<code>removeEventListener</code> with arguments which do not
identify any currently registered <code>EventListener</code> on
the <code>EventTarget</code> has no effect. The
<code>Event.namespaceURI</code> for which the user registered
the event listener is implied and is <code>null</code>.
</p>
-
- <note>
- <p>
- Event listeners registered for other event groups than the
- default group cannot be removed using this method; see
- <code>EventTarget.removeEventListenerNS()</code> for that
- effect.
- </p>
- </note>
</descr>
<parameters>
@@ -2959,10 +2860,9 @@
<method name="addEventListenerNS" id="Events-EventTargetGroup-addEventListenerNS" since="DOM Level 3">
<descr>
<p>
- Registers an event listener in a specified group or the default
- group and, depending on the <code>useCapture</code> parameter,
- on the capture phase of the DOM event flow or its target and
- bubbling phases.
+ Registers an event listener, depending on the
+ <code>useCapture</code> parameter, on the capture phase of the
+ DOM event flow or its target and bubbling phases.
</p>
</descr>
@@ -3002,18 +2902,6 @@
</p>
</descr>
</param>
-
- <param name="evtGroup" type="DOMObject" attr="in">
- <descr>
- <p>
- The object that represents the event group to associate with
- the <code>EventListener</code> (see also
- <specref ref="Events-propagation-and-groups"/>). Use
- <code>null</code> to attach the event listener to the default
- group.
- </p>
- </descr>
- </param>
</parameters>
<returns type="void">
@@ -3028,11 +2916,10 @@
<method name="removeEventListenerNS" id="Events-EventTargetGroup-removeEventListenerNS" since="DOM Level 3">
<descr>
<p>
- Removes an event listener, independently of the associated
- event group. Calling <code>removeEventListenerNS</code> with
- arguments which do not identify any currently registered
- <code>EventListener</code> on the <code>EventTarget</code> has
- no effect.
+ Removes an event listener. Calling
+ <code>removeEventListenerNS</code> with arguments which do not
+ identify any currently registered <code>EventListener</code> on
+ the <code>EventTarget</code> has no effect.
</p>
</descr>
@@ -12106,25 +11993,15 @@
</head>
<p>
- This new specification introduced two new concepts in the event
+ This new specification introduced one new concept in the event
flow:
</p>
<ulist>
<item>
<p>
- event groups: unlike DOM Level 2 Events,
- <code>Event.stopPropagation()</code> does no longer stop the
- event propagation entirely. It only stops it for a given event
- group.
- </p>
- </item>
-
- <item>
- <p>
- partial ordering of event listeners: within an event group,
- event listeners are now ordered while ordering was unspecified
- in DOM Level 2 Events.
+ ordering of event listeners: event listeners are now ordered
+ while ordering was unspecified in DOM Level 2 Events.
</p>
</item>
</ulist>
@@ -12185,7 +12062,7 @@
<p>
The <code>EventTarget</code> interface has two new methods:
<code>EventTarget.addEventListenerNS(namespaceURI, type,
- listener, useCapture, evtGroup)</code> and
+ listener, useCapture)</code> and
<code>EventTarget.removeEventListenerNS(namespaceURI, type,
listener, useCapture)</code>. The method
<code>EventTarget.dispatchEvent(evt)</code> was modified.