removed event groups
authorbjoern
Sat, 18 Nov 2006 01:49:31 +0900
changeset 31 7377ace5b91a
parent 30 700edbe3cedb
child 32 18766bb2097d
removed event groups
source/xml-source.xml
--- 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"/&gt;</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 @@
 &lt;/form&gt;</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.