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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>46949</bug_id>
          
          <creation_ts>2010-09-30 18:02:56 -0700</creation_ts>
          <short_desc>Event names should always match the registered handler</short_desc>
          <delta_ts>2010-09-30 20:37:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>42580</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>darin</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>287973</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-09-30 18:02:56 -0700</bug_when>
    <thetext>When firing DOM Level 3 focusin/focusout events, we also fire DOM Level 2 DOMFocusIn/DOMFocusOut, but we fail to reflect it in the event object.
The breaks any client who checks event.type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287976</commentid>
    <comment_count>1</comment_count>
      <attachid>69407</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-09-30 18:11:07 -0700</bug_when>
    <thetext>Created attachment 69407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287978</commentid>
    <comment_count>2</comment_count>
      <attachid>69407</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-09-30 18:17:11 -0700</bug_when>
    <thetext>Comment on attachment 69407
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69407&amp;action=review

&gt; WebCore/dom/EventTarget.cpp:310
&gt; +            event-&gt;useAliasedType();

Would it make sense to have event-&gt;type() have this logic?  Are there any other places where using the regular type for an event with an aliased type would cause problems?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287984</commentid>
    <comment_count>3</comment_count>
      <attachid>69407</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-30 18:22:44 -0700</bug_when>
    <thetext>Comment on attachment 69407
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69407&amp;action=review

&gt; WebCore/dom/EventTarget.cpp:310
&gt; +        if (result != d-&gt;eventListenerMap.end()) {
&gt; +            // When firing the event listener for the aliased event, the event type should
&gt; +            // match the registered handler.
&gt; +            event-&gt;useAliasedType();

It seems like alias is only used for focusin / focusout right now but are we sure we want to use the aliased type whenever an event is aliased?  i.e. if we are adding another aliased event in the future, do we also want to use the aliased type for that?

&gt; LayoutTests/fast/events/focusinout.html:15
&gt; -    writePass(&apos;result1&apos;);
&gt; +    if (event.type == &quot;focusin&quot;)
&gt; +        writePass(&apos;result1&apos;);

Would it be possible to rename result1...result4 to something more meaningful?  It&apos;ll be also nice if we could print out what failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287989</commentid>
    <comment_count>4</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-09-30 18:33:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 69407 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69407&amp;action=review
&gt; 
&gt; &gt; WebCore/dom/EventTarget.cpp:310
&gt; &gt; +            event-&gt;useAliasedType();
&gt; 
&gt; Would it make sense to have event-&gt;type() have this logic?  Are there any other places where using the regular type for an event with an aliased type would cause problems?

I don&apos;t believe it is possible. Where we call useAliasedType is the only place we know we are firing an aliased type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287990</commentid>
    <comment_count>5</comment_count>
      <attachid>69407</attachid>
    <who name="">mitz</who>
    <bug_when>2010-09-30 18:36:23 -0700</bug_when>
    <thetext>Comment on attachment 69407
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69407&amp;action=review

&gt;&gt;&gt; WebCore/dom/EventTarget.cpp:310
&gt;&gt;&gt; +            event-&gt;useAliasedType();
&gt;&gt; 
&gt;&gt; Would it make sense to have event-&gt;type() have this logic?  Are there any other places where using the regular type for an event with an aliased type would cause problems?
&gt; 
&gt; It seems like alias is only used for focusin / focusout right now but are we sure we want to use the aliased type whenever an event is aliased?  i.e. if we are adding another aliased event in the future, do we also want to use the aliased type for that?

I think it is wrong for the first target to change the event’s reported type for all subsequent targets that might handle the same event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287992</commentid>
    <comment_count>6</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-09-30 18:42:13 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 69407 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69407&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; WebCore/dom/EventTarget.cpp:310
&gt; &gt;&gt;&gt; +            event-&gt;useAliasedType();
&gt; &gt;&gt; 
&gt; &gt;&gt; Would it make sense to have event-&gt;type() have this logic?  Are there any other places where using the regular type for an event with an aliased type would cause problems?
&gt; &gt; 
&gt; &gt; It seems like alias is only used for focusin / focusout right now but are we sure we want to use the aliased type whenever an event is aliased?  i.e. if we are adding another aliased event in the future, do we also want to use the aliased type for that?
&gt; 
&gt; I think it is wrong for the first target to change the event’s reported type for all subsequent targets that might handle the same event.

I&apos;m not sure I understand your concern. We are always firing the Level 3 event with its name for all the targets, then we change to the name to the aliased and we fire the aliased handlers with the aliased name.
I apologize if I&apos;m missing the point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287999</commentid>
    <comment_count>7</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-09-30 18:55:37 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 69407 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69407&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; WebCore/dom/EventTarget.cpp:310
&gt; &gt; &gt;&gt;&gt; +            event-&gt;useAliasedType();
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; Would it make sense to have event-&gt;type() have this logic?  Are there any other places where using the regular type for an event with an aliased type would cause problems?
&gt; &gt; &gt; 
&gt; &gt; &gt; It seems like alias is only used for focusin / focusout right now but are we sure we want to use the aliased type whenever an event is aliased?  i.e. if we are adding another aliased event in the future, do we also want to use the aliased type for that?
&gt; &gt; 
&gt; &gt; I think it is wrong for the first target to change the event’s reported type for all subsequent targets that might handle the same event.
&gt; 
&gt; I&apos;m not sure I understand your concern. We are always firing the Level 3 event with its name for all the targets, then we change to the name to the aliased and we fire the aliased handlers with the aliased name.
&gt; I apologize if I&apos;m missing the point.

The concept of aliasedType was introduced to continue to support old style events even when using the DOM Level 3 ones. I believe it is correct for the event type to match the name of the registered handler.
If a client registers a generic handler function and relies on the event.type  to distinguish which event was received, it will fail if we don&apos;t have handler and event type in sync.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288005</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-30 19:08:21 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; &gt; I think it is wrong for the first target to change the event’s reported type for all subsequent targets that might handle the same event.
&gt; &gt; 
&gt; &gt; I&apos;m not sure I understand your concern. We are always firing the Level 3 event with its name for all the targets, then we change to the name to the aliased and we fire the aliased handlers with the aliased name.
&gt; &gt; I apologize if I&apos;m missing the point.
&gt; 
&gt; The concept of aliasedType was introduced to continue to support old style events even when using the DOM Level 3 ones. I believe it is correct for the event type to match the name of the registered handler.
&gt; If a client registers a generic handler function and relies on the event.type  to distinguish which event was received, it will fail if we don&apos;t have handler and event type in sync.

I think Dan is more concerned about the timing in which we change the event type.  Maybe we can do this where we call the first fireEventListeners?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288038</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-30 20:35:12 -0700</bug_when>
    <thetext>Longer term we definitely need to eliminate this concept of aliased types. I think it was not the right solution for the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288039</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-30 20:35:38 -0700</bug_when>
    <thetext>There was another bug where we were trying to fix this same issue, and I had made a lot of comments there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288040</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-30 20:37:02 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 42580 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69407</attachid>
            <date>2010-09-30 18:11:07 -0700</date>
            <delta_ts>2010-09-30 18:36:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug8107311.txt</filename>
            <type>text/plain</type>
            <size>4342</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODg1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDktMzAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
dmVudCBuYW1lcyBzaG91bGQgYWx3YXlzIG1hdGNoIHRoZSByZWdpc3RlcmVkIGhhbmRsZXIuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njk0OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODEwNzMxMT4KKyAgICAgICAgCisgICAgICAgIFdoZW4gZmly
aW5nIERPTSBMZXZlbCAzIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzLCB3ZSBhbHNvIGZpcmUKKyAg
ICAgICAgRE9NIExldmVsIDIgRE9NRm9jdXNJbi9ET01Gb2N1c091dCwgYnV0IHdlIGZhaWwgdG8g
cmVmbGVjdCBpdAorICAgICAgICBpbiB0aGUgZXZlbnQgb2JqZWN0LgorICAgICAgICBUaGlzIGJy
ZWFrcyBhbnkgY2xpZW50IHdobyBjaGVja3MgZXZlbnQudHlwZS4KKyAgICAgICAgCisgICAgICAg
IFRlc3Q6IHVwZGF0ZWQgZmFzdC9ldmVudHMvZm9jdXNpbm91dC5odG1sIHRvIGFkZCB0aGUgY2hl
Y2sKKyAgICAgICAgb250aGUgZXZlbnQgdHlwZS4KKyAgICAgICAgCisgICAgICAgICogZG9tL0V2
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojp1c2VBbGlhc2VkVHlwZSk6IEFkZGVk
LgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6ZmlyZUV2ZW50TGlzdGVuZXJzKTogTW9k
aWZpZWQgdG8KKyAgICAgICAgY2hhbmdlIHRoZSBldmVudCB0eXBlIGluIHRoZSBldmVudCBvYmpl
Y3QuCisKIDIwMTAtMDktMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuY3BwCShyZXZpc2lvbiA2ODgxOCkKKysr
IFdlYkNvcmUvZG9tL0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsMTIgQEAg
dm9pZCBFdmVudDo6aW5pdEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZwogICAgIG1fY2FuY2VsYWJs
ZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK3ZvaWQgRXZlbnQ6OnVzZUFsaWFzZWRUeXBlKCkKK3sK
KyAgICBpZiAoaGFzQWxpYXNlZFR5cGUoKSkKKyAgICAgICAgbV90eXBlID0gYWxpYXNlZFR5cGUo
KTsKK30KKyAgICAKIGJvb2wgRXZlbnQ6OmlzQ3VzdG9tRXZlbnQoKSBjb25zdAogewogICAgIHJl
dHVybiBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRXZlbnQuaAkocmV2aXNpb24gNjg4MTgpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC03OCw2ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgCiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYWxpYXNlZFR5cGUoKSBjb25zdDsK
ICAgICAgICAgYm9vbCBoYXNBbGlhc2VkVHlwZSgpIGNvbnN0OworICAgICAgICB2b2lkIHVzZUFs
aWFzZWRUeXBlKCk7CiAKICAgICAgICAgRXZlbnRUYXJnZXQqIHRhcmdldCgpIGNvbnN0IHsgcmV0
dXJuIG1fdGFyZ2V0LmdldCgpOyB9CiAgICAgICAgIHZvaWQgc2V0VGFyZ2V0KFBhc3NSZWZQdHI8
RXZlbnRUYXJnZXQ+KTsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAJKHJldmlzaW9uIDY4ODE4KQorKysg
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDQsOCArMzA0
LDEyIEBAIGJvb2wgRXZlbnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVycyhFdmUKICAgICAvLyBu
YW1lcyBpbiB0aGUgZnV0dXJlIGFuZCBzdGlsbCBtYWtlIHRoZW0gYmUgaW50ZXJvcGVyYWJsZS4K
ICAgICBpZiAoZXZlbnQtPmhhc0FsaWFzZWRUeXBlKCkgJiYgIWV2ZW50LT5pbW1lZGlhdGVQcm9w
YWdhdGlvblN0b3BwZWQoKSkgewogICAgICAgICBFdmVudExpc3RlbmVyTWFwOjppdGVyYXRvciBy
ZXN1bHQgPSBkLT5ldmVudExpc3RlbmVyTWFwLmZpbmQoZXZlbnQtPmFsaWFzZWRUeXBlKCkpOwot
ICAgICAgICBpZiAocmVzdWx0ICE9IGQtPmV2ZW50TGlzdGVuZXJNYXAuZW5kKCkpCisgICAgICAg
IGlmIChyZXN1bHQgIT0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5lbmQoKSkgeworICAgICAgICAgICAg
Ly8gV2hlbiBmaXJpbmcgdGhlIGV2ZW50IGxpc3RlbmVyIGZvciB0aGUgYWxpYXNlZCBldmVudCwg
dGhlIGV2ZW50IHR5cGUgc2hvdWxkCisgICAgICAgICAgICAvLyBtYXRjaCB0aGUgcmVnaXN0ZXJl
ZCBoYW5kbGVyLgorICAgICAgICAgICAgZXZlbnQtPnVzZUFsaWFzZWRUeXBlKCk7CiAgICAgICAg
ICAgICBmaXJlRXZlbnRMaXN0ZW5lcnMoZXZlbnQsIGQsICpyZXN1bHQtPnNlY29uZCk7CisgICAg
ICAgIH0KICAgICB9CiAgICAgcmV0dXJuICFldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogfQpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gNjg4NTUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOS0zMCAgRW5yaWNhIENhc3VjY2kgIDxl
bnJpY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEV2ZW50IG5hbWVzIHNob3VsZCBhbHdheXMgbWF0Y2ggdGhlIHJlZ2lzdGVyZWQg
aGFuZGxlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ2OTQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTA3MzExPgorCisgICAgICAgICogZmFz
dC9ldmVudHMvZm9jdXNpbm91dC5odG1sOiBBZGRlZCBjaGVjayBvbiB0aGUgZXZlbnQgdHlwZS4K
KwogMjAxMC0wOS0zMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZm9jdXNpbm91dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2ZvY3VzaW5vdXQuaHRtbAkocmV2aXNpb24gNjg4MTgpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9mb2N1c2lub3V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDIyICsxMSwy
NiBAQCBmdW5jdGlvbiB3cml0ZVBhc3MoaWQpCiAKIGZ1bmN0aW9uIGZvY3VzSGFuZGxlcihldmVu
dCkKIHsKLSAgICB3cml0ZVBhc3MoJ3Jlc3VsdDEnKTsKKyAgICBpZiAoZXZlbnQudHlwZSA9PSAi
Zm9jdXNpbiIpCisgICAgICAgIHdyaXRlUGFzcygncmVzdWx0MScpOwogfQogCiBmdW5jdGlvbiBi
bHVySGFuZGxlcihldmVudCkKIHsKLSAgICB3cml0ZVBhc3MoJ3Jlc3VsdDInKTsKKyAgICBpZiAo
ZXZlbnQudHlwZSA9PSAiZm9jdXNvdXQiKQorICAgICAgICB3cml0ZVBhc3MoJ3Jlc3VsdDInKTsK
IH0KIAogZnVuY3Rpb24gZm9jdXNIYW5kbGVyVHdvKGV2ZW50KQogewotICAgIHdyaXRlUGFzcygn
cmVzdWx0MycpOworICAgIGlmIChldmVudC50eXBlID09ICJET01Gb2N1c0luIikKKyAgICAgICAg
d3JpdGVQYXNzKCdyZXN1bHQzJyk7CiB9CiAKIGZ1bmN0aW9uIGJsdXJIYW5kbGVyVHdvKGV2ZW50
KQogewotICAgIHdyaXRlUGFzcygncmVzdWx0NCcpOworICAgIGlmIChldmVudC50eXBlID09ICJE
T01Gb2N1c091dCIpCisgICAgICAgIHdyaXRlUGFzcygncmVzdWx0NCcpOwogfQogPC9zY3JpcHQ+
CiA8L2hlYWQ+Cg==
</data>
<flag name="review"
          id="59103"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>