<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>16332</bug_id>
          
          <creation_ts>2012-03-12 20:41:32 +0000</creation_ts>
          <short_desc>stop propagation and canceled flags</short_desc>
          <delta_ts>2012-04-20 00:31:24 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebAppsWG</product>
          <component>HISTORICAL - DOM3 Events</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lists.w3.org/Archives/Public/www-dom/2011JanMar/0054.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>LC, needsReview</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Travis Leithead [MSFT]">travil</reporter>
          <assigned_to name="Travis Leithead [MSFT]">travil</assigned_to>
          <cc>annevk</cc>
    
    <cc>mike</cc>
    
    <cc>www-dom</cc>
          
          <qa_contact>public-webapps-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65384</commentid>
    <comment_count>0</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-03-12 20:41:32 +0000</bug_when>
    <thetext>PORTING separate issues from TRACKER, issue 186...
[Copied from http://lists.w3.org/Archives/Public/www-dom/2011JanMar/0054.html]

http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#event-flow  
says &quot;As the final step of the event dispatch, for reasons of backwards  
compatibility, the implementation must reset the event object&apos;s  
internal-propagation and default-action-prevention states.&quot;

As far as I can tell this is not implemented this way. Propagation is not  
reset in either Opera or WebKit (it is in Gecko).

Load the following in  
http://software.hixie.ch/utilities/js/live-dom-viewer/ to test:

&lt;!DOCTYPE html&gt;
...&lt;script&gt;
   var e = document.createEvent(&quot;Event&quot;)
   e.initEvent(&quot;test&quot;, false, true)
   document.addEventListener(&quot;test&quot;, function() { w(&quot;invoked&quot;) }, false)
   e.stopPropagation();
   w(&quot;d1: &quot; + document.dispatchEvent(e))
   w(&quot;d2: &quot; + document.dispatchEvent(e))
&lt;/script&gt;

Similarly, in Opera, WebKit or Gecko the canceled flag does not appear to  
be reset. Load the following in the same viewer to test:

&lt;!DOCTYPE html&gt;
...&lt;script&gt;
   function callback(ev) {
     if(&quot;defaultPrevented&quot; in ev)
       w(&quot;ev: &quot; + ev.defaultPrevented)
     else
       w(&quot;ev: &quot; + ev.getPreventDefault())
   }
   var e = document.createEvent(&quot;Event&quot;)
   e.initEvent(&quot;test&quot;, false, true)
   document.addEventListener(&quot;test&quot;, callback, false)
   e.preventDefault();
   w(&quot;d1: &quot; + document.dispatchEvent(e))
   w(&quot;d2: &quot; + document.dispatchEvent(e))
&lt;/script&gt;

So it appears that there is no backwards compatibility issue here.

Having said that, something to reset these flags might be nice so event  
objects can be reused. Or do we always want people to create new event  
objects? Maybe invoking initEvent() should reset these flags? As invoking  
initEvent() can also change the nature of it being cancelable.

Kind regards,


-- 
Anne van Kesteren
http://annevankesteren.nl/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65388</commentid>
    <comment_count>1</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-03-12 20:48:14 +0000</bug_when>
    <thetext>[see http://lists.w3.org/Archives/Public/www-dom/2011JanMar/0063.html]

Tue, 01 Mar 2011 21:01:04 +0100, Bjoern Hoehrmann &lt;derhoermi@gmx.net&gt;  
wrote:
&gt; * Anne van Kesteren wrote:
&gt;&gt; http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#event-flow
&gt;&gt; says &quot;As the final step of the event dispatch, for reasons of backwards
&gt;&gt; compatibility, the implementation must reset the event object&apos;s
&gt;&gt; internal-propagation and default-action-prevention states.&quot;
&gt;
&gt; This is the result of issues 20 and 35 in the former WebAPI Working
&gt; Group where you will find test cases and data and opinions on this.

http://www.w3.org/2006/webapi/track/issues/35 has a public view and does  
seem to reach a similar conclusion. Namely that behavior is not very much  
the same and we can probably do &quot;whatever&quot;. It does not explain, as far as  
I can tell, &quot;for reasons of backwards compatibility&quot;.

I have also read through  
http://www.w3.org/2005/06/tracker/webapi/issues/20 and  
http://www.w3.org/2005/06/tracker/webapi/issues/35 and the few emails  
associated with them. They also seem to reach similar conclusions.


&gt; I do note that in order to adequately test this you would also have
&gt; to check, say, implementation-generated events versus synthesized
&gt; ones, and modifying these states from within handlers rather than
&gt; before dispatching them the first time. Feel free to be inspired by
&gt; the member-only test code I submitted for these issues if they are
&gt; useful.

Both Glenn and I have played around with that as well, getting much the  
same result as you back then.


&gt;&gt; As far as I can tell this is not implemented this way. Propagation is  
&gt;&gt; not reset in either Opera or WebKit (it is in Gecko).
&gt;
&gt;&gt; So it appears that there is no backwards compatibility issue here.
&gt;
&gt; Clearly if Firefox behaves in a certain way here then doing some-
&gt; thing else might break deployed code that works today in Firefox,
&gt; so it would seem there is indeed a compatibility issue there.

Between browsers, yes. But &quot;backwards compatibility&quot; is generally used as  
a term meaning the &quot;wider web relies on this behavior&quot; which I do not  
think is established here, especially since Gecko does not do this for the  
&quot;canceled flag&quot;.

The &quot;canceled flag&quot; is the most problematic I think. I would prefer it if  
defaultPrevented remains to make sense after the event is dispatched. But  
given that most browsers do not reset these flags it seems we can get away  
with only unsetting them when initEvent() is invoked.


&gt;&gt; Having said that, something to reset these flags might be nice so event
&gt;&gt; objects can be reused. Or do we always want people to create new event
&gt;&gt; objects? Maybe invoking initEvent() should reset these flags? As  
&gt;&gt; invoking initEvent() can also change the nature of it being cancelable.
&gt;
&gt; I would regard it as a bad practise to use the same event object
&gt; multiple times; semantically event objects are event instances,
&gt; and an instance of an event is unique. And you would be relying on
&gt; hidden state, which is unreliable, as you can see here. Do note
&gt; that these questions have also been discussed in the issues above,
&gt; at least as I recall them.

Unsetting these flags would not just be for re-dispatching, but would also  
allow you to reconfigure it before dispatching has taken place at all. I  
agree re-dispatching is dubious, but we have to define how it works.


I think based on the information in the older issues that we should change  
the model so that these three flags are only ever reset for initEvent()  
and otherwise never. I will change DOM Core to match that. I hope that  
works for everyone.


-- 
Anne van Kesteren
http://annevankesteren.nl/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66002</commentid>
    <comment_count>2</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-03-24 00:12:24 +0000</bug_when>
    <thetext>(In reply to comment #0)

&gt; Load the following in  
&gt; http://software.hixie.ch/utilities/js/live-dom-viewer/ to test:
&gt; 
&gt; &lt;!DOCTYPE html&gt;
&gt; ...&lt;script&gt;
&gt;    var e = document.createEvent(&quot;Event&quot;)
&gt;    e.initEvent(&quot;test&quot;, false, true)
&gt;    document.addEventListener(&quot;test&quot;, function() { w(&quot;invoked&quot;) }, false)
&gt;    e.stopPropagation();
&gt;    w(&quot;d1: &quot; + document.dispatchEvent(e))
&gt;    w(&quot;d2: &quot; + document.dispatchEvent(e))
&gt; &lt;/script&gt;

Consistent in all browsrs but Firefox...

&gt; 
&gt; Similarly, in Opera, WebKit or Gecko the canceled flag does not appear to  
&gt; be reset. Load the following in the same viewer to test:
&gt; 
&gt; &lt;!DOCTYPE html&gt;
&gt; ...&lt;script&gt;
&gt;    function callback(ev) {
&gt;      if(&quot;defaultPrevented&quot; in ev)
&gt;        w(&quot;ev: &quot; + ev.defaultPrevented)
&gt;      else
&gt;        w(&quot;ev: &quot; + ev.getPreventDefault())
&gt;    }
&gt;    var e = document.createEvent(&quot;Event&quot;)
&gt;    e.initEvent(&quot;test&quot;, false, true)
&gt;    document.addEventListener(&quot;test&quot;, callback, false)
&gt;    e.preventDefault();
&gt;    w(&quot;d1: &quot; + document.dispatchEvent(e))
&gt;    w(&quot;d2: &quot; + document.dispatchEvent(e))
&gt; &lt;/script&gt;

IE has true/false values flipped, all other browsers are the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66860</commentid>
    <comment_count>3</comment_count>
      <attachid>1120</attachid>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-04-19 18:39:30 +0000</bug_when>
    <thetext>Created attachment 1120
Tests re-dispatching a trusted event and whether the stop-propagation flags are reset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66861</commentid>
    <comment_count>4</comment_count>
      <attachid>1121</attachid>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-04-19 18:49:53 +0000</bug_when>
    <thetext>Created attachment 1121
Tests re-dispatching a trusted event and whether the default-action-prevention state flags are reset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66862</commentid>
    <comment_count>5</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-04-19 18:50:21 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #0)
&gt; 
&gt; &gt; Load the following in  
&gt; &gt; http://software.hixie.ch/utilities/js/live-dom-viewer/ to test:
&gt; &gt; 
&gt; &gt; &lt;!DOCTYPE html&gt;
&gt; &gt; ...&lt;script&gt;
&gt; &gt;    var e = document.createEvent(&quot;Event&quot;)
&gt; &gt;    e.initEvent(&quot;test&quot;, false, true)
&gt; &gt;    document.addEventListener(&quot;test&quot;, function() { w(&quot;invoked&quot;) }, false)
&gt; &gt;    e.stopPropagation();
&gt; &gt;    w(&quot;d1: &quot; + document.dispatchEvent(e))
&gt; &gt;    w(&quot;d2: &quot; + document.dispatchEvent(e))
&gt; &gt; &lt;/script&gt;
&gt; 
&gt; Consistent in all browsrs but Firefox...

Meaning that in all browsers but Firefox, the object&apos;s &quot;internal-propagation&quot; flag is _not_ reset between dispatches, contrary to what DOM3 Events states. It also means that stopPropagation() can take effect before the event has been initially dispatched.

Note: When re-dispatching trusted events (see attached &quot;TestingTrustedDispatchAndStopPropagation&quot;) I see the following results:
IE: (untestable) since it throws NotSupportedError as required by DOM3 Events under &quot;dispatchEvent&quot; (the Event was not created using document.createEvent).
Chrome/Safari/Opera: dispatches the event, and the state was not reset, just like the un-trusted scenario.
Firefox: dispatches the event, and the state is reset (just as it behaved before).

&gt; &gt; Similarly, in Opera, WebKit or Gecko the canceled flag does not appear to  
&gt; &gt; be reset. Load the following in the same viewer to test:
&gt; &gt; 
&gt; &gt; &lt;!DOCTYPE html&gt;
&gt; &gt; ...&lt;script&gt;
&gt; &gt;    function callback(ev) {
&gt; &gt;      if(&quot;defaultPrevented&quot; in ev)
&gt; &gt;        w(&quot;ev: &quot; + ev.defaultPrevented)
&gt; &gt;      else
&gt; &gt;        w(&quot;ev: &quot; + ev.getPreventDefault())
&gt; &gt;    }
&gt; &gt;    var e = document.createEvent(&quot;Event&quot;)
&gt; &gt;    e.initEvent(&quot;test&quot;, false, true)
&gt; &gt;    document.addEventListener(&quot;test&quot;, callback, false)
&gt; &gt;    e.preventDefault();
&gt; &gt;    w(&quot;d1: &quot; + document.dispatchEvent(e))
&gt; &gt;    w(&quot;d2: &quot; + document.dispatchEvent(e))
&gt; &gt; &lt;/script&gt;
&gt; 
&gt; IE has true/false values flipped, all other browsers are the same.

(Meaning that in all browsers the &quot;default-action-prevention&quot; state is _not_ reset between dispatches, contrary to what is stated by DOM3 Events. It also means that IE has a bug wherein it does not honor preventDefault() prior to dispatching an event.)

[The &quot;true&quot; return value for dispatchEvent in IE can be partially explained by a critical reading of the prose under &quot;Return Value&quot; for dispatch event (** emphasis mine**):

| &quot;Indicates whether **any of the listeners which handled the event**
|  called Event.preventDefault(). If Event.preventDefault() was called
|  the returned value must be false, else it must be true.&quot;

...however, the value of defaultPrevented inside of the handler being &quot;false&quot; is clearly a bug without any backing from existing prose in DOM3 Events. :-)]

Note: When re-dispatching trusted events (see attached &quot;TestingTrustedDispatchAndPreventDefault&quot;) I see the following results:
IE: (untestable) since it throws NotSupportedError as required by DOM3 Events under &quot;dispatchEvent&quot; (the Event was not created using document.createEvent).
Firefox/Chrome/Safari/Opera: dispatches the event, and the state was not reset, just like the un-trusted scenario.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66863</commentid>
    <comment_count>6</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-04-19 18:56:26 +0000</bug_when>
    <thetext>Based on the result from Comment 5, DOM3 Events needs to be updated in two places for clarification:

(In reply to comment #0)
&gt; says &quot;As the final step of the event dispatch, for reasons of backwards  
&gt; compatibility, the implementation must reset the event object&apos;s  
&gt; internal-propagation and default-action-prevention states.&quot;
&gt; 
&gt; As far as I can tell this is not implemented this way. Propagation is not  
&gt; reset in either Opera or WebKit (it is in Gecko).

The above spec comment needs to be removed from the event dispatch algorithm. Something to its effect should be placed in the requirements for initEvent which will be the only time that these internal state values will be reset.

(In reply to comment #5)
&gt; [The &quot;true&quot; return value for dispatchEvent in IE can be partially explained by
&gt; a critical reading of the prose under &quot;Return Value&quot; for dispatch event (**
&gt; emphasis mine**):
&gt; 
&gt; | &quot;Indicates whether **any of the listeners which handled the event**
&gt; |  called Event.preventDefault(). If Event.preventDefault() was called
&gt; |  the returned value must be false, else it must be true.&quot;
&gt; 
&gt; ...however, the value of defaultPrevented inside of the handler being &quot;false&quot;
&gt; is clearly a bug without any backing from existing prose in DOM3 Events. :-)]

The prose under the Return Value for dispatchEvent will be tweaked to indicate that preventDefault should be honored even if the caller used preventDefault _before_ the event was dispatched (which is what implementations allow).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66871</commentid>
    <comment_count>7</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2012-04-19 22:57:50 +0000</bug_when>
    <thetext>Do you know what the new text will be like relative to DOM4? The same effect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66876</commentid>
    <comment_count>8</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-04-20 00:31:24 +0000</bug_when>
    <thetext>I&apos;ve made the changes. I updated initEvent to describe the process of resetting the internal flags. This should match DOM4&apos;s behavior.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1120</attachid>
            <date>2012-04-19 18:39:30 +0000</date>
            <delta_ts>2012-04-19 18:39:30 +0000</delta_ts>
            <desc>Tests re-dispatching a trusted event and whether the stop-propagation flags are reset</desc>
            <filename>TestingTrustedDispatchAndStopPropagation.htm</filename>
            <type>text/html</type>
            <size>1019</size>
            <attacher name="Travis Leithead [MSFT]">travil</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+DQoNCjxodG1sIGxhbmc9ImVuIiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4N
CiAgICA8dGl0bGU+VGVzdGluZyBUcnVzdGVkIERpc3BhdGNoIGFuZCBTdG9wIFByb3BhZ2F0aW9u
PC90aXRsZT4NCiAgICA8c3R5bGU+dGV4dGFyZWF7d2lkdGg6OTAlO2hlaWdodDo1MDBweDt9PC9z
dHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KICAgIDxidXR0b24gaWQ9InByaW1hcnlUZXN0Ij5DbGlj
ayBtZSB0byB0ZXN0PC9idXR0b24+DQogICAgPGRpdiBpZD0ic2Vjb25kYXJ5VGVzdCI+PC9kaXY+
DQogICAgPHRleHRhcmVhIGlkPSJvdXQiPjwvdGV4dGFyZWE+DQogICAgPHNjcmlwdD4NCiAgICAg
ICAgZnVuY3Rpb24gY2FsbFN0b3BQcm9wYWdhdGlvbkFuZENhY2hlKGUpIHsgZS5zdG9wUHJvcGFn
YXRpb24oKTsgZG9jdW1lbnQuY2FjaGVkRXZlbnRPYmplY3QgPSBlOyBzZXRUaW1lb3V0KHJlRGlz
cGF0Y2gsIDEwMCk7IH0NCiAgICAgICAgZnVuY3Rpb24gaXNJbnZva2VkKGUpIHsgdygiaW52b2tl
ZCIpOyB9DQogICAgICAgIGZ1bmN0aW9uIHJlRGlzcGF0Y2goKSB7IHcoImQyOiAiICsgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInNlY29uZGFyeVRlc3QiKS5kaXNwYXRjaEV2ZW50KGRvY3VtZW50
LmNhY2hlZEV2ZW50T2JqZWN0KSk7IH0NCiAgICAgICAgZnVuY3Rpb24gdyh4KSB7IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJvdXQiKS52YWx1ZSArPSAibG9nOiAiICsgeCArICJcbiI7IH0NCiAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByaW1hcnlUZXN0IikuYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBjYWxsU3RvcFByb3BhZ2F0aW9uQW5kQ2FjaGUpOw0KICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic2Vjb25kYXJ5VGVzdCIpLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgaXNJbnZva2VkKTsNCiAgICA8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1121</attachid>
            <date>2012-04-19 18:49:53 +0000</date>
            <delta_ts>2012-04-19 18:49:53 +0000</delta_ts>
            <desc>Tests re-dispatching a trusted event and whether the default-action-prevention state flags are reset</desc>
            <filename>TestingTrustedDispatchAndPreventDefault.htm</filename>
            <type>text/html</type>
            <size>1104</size>
            <attacher name="Travis Leithead [MSFT]">travil</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+DQoNCjxodG1sIGxhbmc9ImVuIiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4N
CiAgICA8dGl0bGU+VGVzdGluZyBUcnVzdGVkIERpc3BhdGNoIGFuZCBQcmV2ZW50IERlZmF1bHQ8
L3RpdGxlPg0KICAgIDxzdHlsZT50ZXh0YXJlYXt3aWR0aDo5MCU7aGVpZ2h0OjUwMHB4O308L3N0
eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPGJ1dHRvbiBpZD0icHJpbWFyeVRlc3QiPkNsaWNr
IG1lIHRvIHRlc3Q8L2J1dHRvbj4NCiAgICA8ZGl2IGlkPSJzZWNvbmRhcnlUZXN0Ij48L2Rpdj4N
CiAgICA8dGV4dGFyZWEgaWQ9Im91dCI+PC90ZXh0YXJlYT4NCiAgICA8c2NyaXB0Pg0KICAgICAg
ICBmdW5jdGlvbiBjYWxsU3RvcFByb3BhZ2F0aW9uQW5kQ2FjaGUoZSkgeyBlLnByZXZlbnREZWZh
dWx0KCk7IGRvY3VtZW50LmNhY2hlZEV2ZW50T2JqZWN0ID0gZTsgc2V0VGltZW91dChyZURpc3Bh
dGNoLCAxMDApOyB9DQogICAgICAgIGZ1bmN0aW9uIGlzSW52b2tlZChlKSB7IGlmICgiZGVmYXVs
dFByZXZlbnRlZCIgaW4gZSkgdygiZXY6ICIgKyBlLmRlZmF1bHRQcmV2ZW50ZWQpOyBlbHNlIHco
ImV2OiAiICsgZS5nZXRQcmV2ZW50RGVmYXVsdCgpKTsgfQ0KICAgICAgICBmdW5jdGlvbiByZURp
c3BhdGNoKCkgeyB3KCJkMjogIiArIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWNvbmRhcnlU
ZXN0IikuZGlzcGF0Y2hFdmVudChkb2N1bWVudC5jYWNoZWRFdmVudE9iamVjdCkpOyB9DQogICAg
ICAgIGZ1bmN0aW9uIHcoeCkgeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0IikudmFsdWUg
Kz0gImxvZzogIiArIHggKyAiXG4iOyB9DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwcmltYXJ5VGVzdCIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgY2FsbFN0b3BQcm9wYWdh
dGlvbkFuZENhY2hlKTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlY29uZGFy
eVRlc3QiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGlzSW52b2tlZCk7DQogICAgPC9zY3Jp
cHQ+DQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
      

    </bug>

</bugzilla>