<?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>15102</bug_id>
          
          <creation_ts>2007-08-28 12:02:05 -0700</creation_ts>
          <short_desc>XMLHttpRequests.onreadystatechange and XMLHttpRequests.addEventListener(readystatechange, ...) should have the same behavior</short_desc>
          <delta_ts>2015-01-03 04:02:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>roland</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1330</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-08-28 12:02:05 -0700</bug_when>
    <thetext>For XMLHttpRequests, setting an EventListener using the the shortcut notation (XHR.onreadystatechange = function()) or the addEventListener method should have the same behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331</commentid>
    <comment_count>1</comment_count>
      <attachid>16144</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-08-28 12:03:41 -0700</bug_when>
    <thetext>Created attachment 16144
shortcut testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332</commentid>
    <comment_count>2</comment_count>
      <attachid>16145</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-08-28 12:04:16 -0700</bug_when>
    <thetext>Created attachment 16145
addEventListener testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227</commentid>
    <comment_count>3</comment_count>
      <attachid>16158</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-08-29 13:15:42 -0700</bug_when>
    <thetext>Created attachment 16158
proposed fix

I couldn&apos;t recall why I didn&apos;t implement readystatechange originally, then Sam found out that it was because Gecko 1.8 didn&apos;t support it yet, and even raised an exception when trying to add a listener for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208</commentid>
    <comment_count>4</comment_count>
      <attachid>16158</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-08-29 17:12:03 -0700</bug_when>
    <thetext>Comment on attachment 16158
proposed fix

It&apos;s be better to say evt.release() in the first call to dispatchEvent to avoid reference count churn since we don&apos;t have to use the event again after the dispatch.

If we&apos;re going to keep dispatching the same event to multiple objects, should stopPropagation on the event make us stop?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196</commentid>
    <comment_count>5</comment_count>
      <attachid>16162</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-08-29 21:54:02 -0700</bug_when>
    <thetext>Created attachment 16162
proposed fix

(In reply to comment #4)
&gt; It&apos;s be better to say evt.release() in the first call to dispatchEvent

  Done.

&gt; If we&apos;re going to keep dispatching the same event to multiple objects, should
&gt; stopPropagation on the event make us stop?

My understanding is that stopPropagation() only prevents traversing the DOM hierarchy, but listeners registered on the same node are invoked anyway. I&apos;ve extended the test to check for this - it passes in yesterday&apos;s Firefox nightly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57632</commentid>
    <comment_count>6</comment_count>
      <attachid>16162</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-10-02 03:34:38 -0700</bug_when>
    <thetext>Comment on attachment 16162
proposed fix

r=me for feature-branch or when trunk reopens.

Your interpretation of the DOM is correct, stopPropagation only prevents the event from continuing to the next DOM Node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57693</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-10-02 22:08:22 -0700</bug_when>
    <thetext>Committed revision 25959 (feature branch).
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16144</attachid>
            <date>2007-08-28 12:03:41 -0700</date>
            <delta_ts>2007-08-28 12:03:41 -0700</delta_ts>
            <desc>shortcut testcase</desc>
            <filename>xhr-shortcut.html</filename>
            <type>text/html</type>
            <size>326</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5PgogICAgPHA+SWYgdGhpcyBwYXNzZXMgeW91IHNob3VsZCBzZWUgYW4gYWxl
cnQgdGhhdCBzYXlzICJyZWFkeXN0YXRlY2hhbmdlIGNhbGxlZCIuPC9wPgogICAgPHNjcmlwdD4K
ICAgICAgICBmdW5jdGlvbiBjYWxsZWQoKSB7IGFsZXJ0KCJyZWFkeXN0YXRlY2hhbmdlIGNhbGxl
ZCIpOyB9CgogICAgICAgIHZhciBYSFIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICBY
SFIub25yZWFkeXN0YXRlY2hhbmdlID0gY2FsbGVkOwogICAgICAgIFhIUi5vcGVuKG51bGwsIG51
bGwsIGZhbHNlKTsKICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16145</attachid>
            <date>2007-08-28 12:04:16 -0700</date>
            <delta_ts>2007-08-28 12:04:16 -0700</delta_ts>
            <desc>addEventListener testcase</desc>
            <filename>xhr-addEventListener.html</filename>
            <type>text/html</type>
            <size>350</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5PgogICAgPHA+SWYgdGhpcyBwYXNzZXMgeW91IHNob3VsZCBzZWUgYW4gYWxl
cnQgdGhhdCBzYXlzICJyZWFkeXN0YXRlY2hhbmdlIGNhbGxlZCIuPC9wPgogICAgPHNjcmlwdD4K
ICAgICAgICBmdW5jdGlvbiBjYWxsZWQoKSB7IGFsZXJ0KCJyZWFkeXN0YXRlY2hhbmdlIGNhbGxl
ZCIpOyB9CgogICAgICAgIHZhciBYSFIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICBY
SFIuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsIGNhbGxlZCwgZmFsc2UpOwog
ICAgICAgIFhIUi5vcGVuKG51bGwsIG51bGwsIGZhbHNlKTsKICAgIDwvc2NyaXB0Pgo8L2JvZHk+
CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16158</attachid>
            <date>2007-08-29 13:15:42 -0700</date>
            <delta_ts>2007-08-29 21:54:02 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>15102r1_patch.txt</filename>
            <type>text/plain</type>
            <size>5450</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTI5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDctMDgtMjkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTAyCisgICAgICAgIFhN
TEh0dHBSZXF1ZXN0cyBzaG91bGQgZGlzcGF0Y2ggYSByZWFkeXN0YXRlY2hhbmdlIGV2ZW50Lgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVhZHlzdGF0ZWNoYW5n
ZS5odG1sCisKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNhbGxSZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIpOiBBZGRl
ZCByZWFkeXN0YXRlY2hhbmdlCisgICAgICAgIGV2ZW50IHN1cHBvcnQuIEZpeGVkIHRoZSBmdW5j
dGlvbiB0byBkaXNwYXRjaCB0aGUgc2FtZSBldmVudCB0byBhbGwgbGlzdGVuZXJzCisgICAgICAg
IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgY29weSBmb3IgZWFjaCBvbmUuIENoYW5nZWQgYnVi
YmxpbmcvY2FuY2VsYWJpbGl0eSBvZgorICAgICAgICBsb2FkIGFuZCByZWFkeXN0YXRlY2hhbmdl
IGV2ZW50cyB0byBtYXRjaCBGaXJlZm94LgorCiAyMDA3LTA4LTI5ICBEYXZpZCBIeWF0dCAgPGh5
YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZm9yIDU0NDEyODEsIHJlbW92ZSBvdXIgZGVw
ZW5kZW5jeSBvbiBjdXJzb3IgcmVjdHMgYW5kIGRyYWcgbWFyZ2lucwpJbmRleDogV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAkocmV2aXNpb24gMjUyOTcpCisrKyBXZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NiwyOCArMjc2LDMwIEBAIHZvaWQgWE1MSHR0cFJl
cXVlc3Q6OmNoYW5nZVN0YXRlKFhNTEh0dHAKIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y2FsbFJl
YWR5U3RhdGVDaGFuZ2VMaXN0ZW5lcigpCiB7Ci0gICAgaWYgKG1fZG9jICYmIG1fZG9jLT5mcmFt
ZSgpICYmIG1fb25SZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIpIHsKLSAgICAgICAgUmVmUHRyPEV2
ZW50PiBldnQgPSBuZXcgRXZlbnQocmVhZHlzdGF0ZWNoYW5nZUV2ZW50LCB0cnVlLCB0cnVlKTsK
KyAgICBpZiAoIW1fZG9jIHx8ICFtX2RvYy0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgUmVmUHRyPEV2ZW50PiBldnQgPSBuZXcgRXZlbnQocmVhZHlzdGF0ZWNoYW5nZUV2ZW50LCBm
YWxzZSwgZmFsc2UpOworICAgIGlmIChtX29uUmVhZHlTdGF0ZUNoYW5nZUxpc3RlbmVyKSB7CiAg
ICAgICAgIGV2dC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgICAgICBldnQtPnNldEN1cnJlbnRUYXJn
ZXQodGhpcyk7CiAgICAgICAgIG1fb25SZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXItPmhhbmRsZUV2
ZW50KGV2dC5nZXQoKSwgZmFsc2UpOwogICAgIH0KKworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OworICAgIGRpc3BhdGNoRXZlbnQoZXZ0LCBlYywgZmFsc2UpOworICAgIEFTU0VSVCghZWMpOwog
ICAgIAotICAgIGlmIChtX2RvYyAmJiBtX2RvYy0+ZnJhbWUoKSAmJiBtX3N0YXRlID09IExvYWRl
ZCkgeworICAgIGlmIChtX3N0YXRlID09IExvYWRlZCkgeworICAgICAgICBldnQgPSBuZXcgRXZl
bnQobG9hZEV2ZW50LCBmYWxzZSwgZmFsc2UpOwogICAgICAgICBpZiAobV9vbkxvYWRMaXN0ZW5l
cikgewotICAgICAgICAgICAgUmVmUHRyPEV2ZW50PiBldnQgPSBuZXcgRXZlbnQobG9hZEV2ZW50
LCB0cnVlLCB0cnVlKTsKICAgICAgICAgICAgIGV2dC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgICAg
ICAgICAgZXZ0LT5zZXRDdXJyZW50VGFyZ2V0KHRoaXMpOwogICAgICAgICAgICAgbV9vbkxvYWRM
aXN0ZW5lci0+aGFuZGxlRXZlbnQoZXZ0LmdldCgpLCBmYWxzZSk7CiAgICAgICAgIH0KICAgICAg
ICAgCi0gICAgICAgIExpc3RlbmVyVmVjdG9yIGxpc3RlbmVyc0NvcHkgPSBtX2V2ZW50TGlzdGVu
ZXJzLmdldChsb2FkRXZlbnQuaW1wbCgpKTsKLSAgICAgICAgZm9yIChMaXN0ZW5lclZlY3Rvcjo6
Y29uc3RfaXRlcmF0b3IgbGlzdGVuZXJJdGVyID0gbGlzdGVuZXJzQ29weS5iZWdpbigpOyBsaXN0
ZW5lckl0ZXIgIT0gbGlzdGVuZXJzQ29weS5lbmQoKTsgKytsaXN0ZW5lckl0ZXIpIHsKLSAgICAg
ICAgICAgIFJlZlB0cjxFdmVudD4gZXZ0ID0gbmV3IEV2ZW50KGxvYWRFdmVudCwgdHJ1ZSwgdHJ1
ZSk7Ci0gICAgICAgICAgICBldnQtPnNldFRhcmdldCh0aGlzKTsKLSAgICAgICAgICAgIGV2dC0+
c2V0Q3VycmVudFRhcmdldCh0aGlzKTsKLSAgICAgICAgICAgIGxpc3RlbmVySXRlci0+Z2V0KCkt
PmhhbmRsZUV2ZW50KGV2dC5nZXQoKSwgZmFsc2UpOwotICAgICAgICB9CisgICAgICAgIGRpc3Bh
dGNoRXZlbnQoZXZ0LCBlYywgZmFsc2UpOworICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9CiB9
CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Mjk5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDctMDgtMjkgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MTAyCisgICAgICAgIFhNTEh0dHBSZXF1ZXN0cyBzaG91bGQgZGlzcGF0Y2ggYSByZWFkeXN0YXRl
Y2hhbmdlIGV2ZW50LgorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWFk
eXN0YXRlY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9yZWFkeXN0YXRlY2hhbmdlLmh0bWw6IEFkZGVkLgorCiAyMDA3LTA4LTI4
ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4uCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlYWR5c3Rh
dGVjaGFuZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvcmVhZHlzdGF0ZWNoYW5nZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlYWR5c3RhdGVj
aGFuZ2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK0FMRVJUOiBv
bnJlYWR5c3RhdGVjaGFuZ2UgY2FsbGVkCitBTEVSVDogcmVhZHlzdGF0ZWNoYW5nZSBsaXN0ZW5l
ciBjYWxsZWQKK1Rlc3RzIGZvciBidWcgMTUxMDIgLSBYTUxIdHRwUmVxdWVzdCBzaG91bGQgZGlz
cGF0Y2ggcmVhZHlzdGF0ZWNoYW5nZSBldmVudC4KKworSWYgdGhpcyBwYXNzZXMgeW91IHNob3Vs
ZCBzZWUgYWxlcnRzIGZvciBvbnJlYWR5c3RhdGVjaGFuZ2UgYW5kIGZvciBhIHJlYWR5c3RhdGVj
aGFuZ2UgbGlzdGVuZXIuCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3JlYWR5c3RhdGVjaGFuZ2UtZXhwZWN0ZWQudHh0Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHls
ZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVhZHlzdGF0ZWNoYW5nZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVhZHlzdGF0ZWNoYW5nZS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWFkeXN0YXRlY2hhbmdl
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGJvZHk+Cis8cD5U
ZXN0cyBmb3IgPGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTEwMiI+YnVnIDE1MTAyPC9hPiAtIAorWE1MSHR0cFJlcXVlc3Qgc2hvdWxkIGRp
c3BhdGNoIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQuPC9wPgorPHA+SWYgdGhpcyBwYXNzZXMgeW91
IHNob3VsZCBzZWUgYWxlcnRzIGZvciBvbnJlYWR5c3RhdGVjaGFuZ2UgYW5kIGZvciBhIHJlYWR5
c3RhdGVjaGFuZ2UgbGlzdGVuZXIuPC9wPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisKKyAgICBmdW5jdGlvbiBjYWxsZWQxKCkgeyBhbGVydCgib25yZWFkeXN0YXRlY2hhbmdl
IGNhbGxlZCIpOyB9CisgICAgZnVuY3Rpb24gY2FsbGVkMigpIHsgYWxlcnQoInJlYWR5c3RhdGVj
aGFuZ2UgbGlzdGVuZXIgY2FsbGVkIik7IH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBYSFIg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgWEhSLm9ucmVhZHlzdGF0ZWNoYW5nZSA9
IGNhbGxlZDE7CisgICAgICAgIFhIUi5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdl
IiwgY2FsbGVkMiwgZmFsc2UpOworICAgICAgICBYSFIub3BlbihudWxsLCBudWxsLCBmYWxzZSk7
CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgYWxlcnQoZXgpOworICAgIH0KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWFkeXN0YXRlY2hhbmdlLmh0bWwKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO
YW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9odG1sCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16162</attachid>
            <date>2007-08-29 21:54:02 -0700</date>
            <delta_ts>2007-10-02 03:34:38 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>15102r2_patch.txt</filename>
            <type>text/plain</type>
            <size>5944</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTI5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDctMDgtMjkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTAyCisgICAgICAgIFhN
TEh0dHBSZXF1ZXN0cyBzaG91bGQgZGlzcGF0Y2ggYSByZWFkeXN0YXRlY2hhbmdlIGV2ZW50Lgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVhZHlzdGF0ZWNoYW5n
ZS5odG1sCisKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNhbGxSZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIpOiBBZGRl
ZCByZWFkeXN0YXRlY2hhbmdlCisgICAgICAgIGV2ZW50IHN1cHBvcnQuIEZpeGVkIHRoZSBmdW5j
dGlvbiB0byBkaXNwYXRjaCB0aGUgc2FtZSBldmVudCB0byBhbGwgbGlzdGVuZXJzCisgICAgICAg
IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgY29weSBmb3IgZWFjaCBvbmUuIENoYW5nZWQgYnVi
YmxpbmcvY2FuY2VsYWJpbGl0eSBvZgorICAgICAgICBsb2FkIGFuZCByZWFkeXN0YXRlY2hhbmdl
IGV2ZW50cyB0byBtYXRjaCBGaXJlZm94LgorCiAyMDA3LTA4LTI5ICBEYXZpZCBIeWF0dCAgPGh5
YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZm9yIDU0NDEyODEsIHJlbW92ZSBvdXIgZGVw
ZW5kZW5jeSBvbiBjdXJzb3IgcmVjdHMgYW5kIGRyYWcgbWFyZ2lucwpJbmRleDogV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAkocmV2aXNpb24gMjUyOTcpCisrKyBXZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NiwyOCArMjc2LDMwIEBAIHZvaWQgWE1MSHR0cFJl
cXVlc3Q6OmNoYW5nZVN0YXRlKFhNTEh0dHAKIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y2FsbFJl
YWR5U3RhdGVDaGFuZ2VMaXN0ZW5lcigpCiB7Ci0gICAgaWYgKG1fZG9jICYmIG1fZG9jLT5mcmFt
ZSgpICYmIG1fb25SZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIpIHsKLSAgICAgICAgUmVmUHRyPEV2
ZW50PiBldnQgPSBuZXcgRXZlbnQocmVhZHlzdGF0ZWNoYW5nZUV2ZW50LCB0cnVlLCB0cnVlKTsK
KyAgICBpZiAoIW1fZG9jIHx8ICFtX2RvYy0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgUmVmUHRyPEV2ZW50PiBldnQgPSBuZXcgRXZlbnQocmVhZHlzdGF0ZWNoYW5nZUV2ZW50LCBm
YWxzZSwgZmFsc2UpOworICAgIGlmIChtX29uUmVhZHlTdGF0ZUNoYW5nZUxpc3RlbmVyKSB7CiAg
ICAgICAgIGV2dC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgICAgICBldnQtPnNldEN1cnJlbnRUYXJn
ZXQodGhpcyk7CiAgICAgICAgIG1fb25SZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXItPmhhbmRsZUV2
ZW50KGV2dC5nZXQoKSwgZmFsc2UpOwogICAgIH0KKworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OworICAgIGRpc3BhdGNoRXZlbnQoZXZ0LnJlbGVhc2UoKSwgZWMsIGZhbHNlKTsKKyAgICBBU1NF
UlQoIWVjKTsKICAgICAKLSAgICBpZiAobV9kb2MgJiYgbV9kb2MtPmZyYW1lKCkgJiYgbV9zdGF0
ZSA9PSBMb2FkZWQpIHsKKyAgICBpZiAobV9zdGF0ZSA9PSBMb2FkZWQpIHsKKyAgICAgICAgZXZ0
ID0gbmV3IEV2ZW50KGxvYWRFdmVudCwgZmFsc2UsIGZhbHNlKTsKICAgICAgICAgaWYgKG1fb25M
b2FkTGlzdGVuZXIpIHsKLSAgICAgICAgICAgIFJlZlB0cjxFdmVudD4gZXZ0ID0gbmV3IEV2ZW50
KGxvYWRFdmVudCwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICBldnQtPnNldFRhcmdldCh0aGlz
KTsKICAgICAgICAgICAgIGV2dC0+c2V0Q3VycmVudFRhcmdldCh0aGlzKTsKICAgICAgICAgICAg
IG1fb25Mb2FkTGlzdGVuZXItPmhhbmRsZUV2ZW50KGV2dC5nZXQoKSwgZmFsc2UpOwogICAgICAg
ICB9CiAgICAgICAgIAotICAgICAgICBMaXN0ZW5lclZlY3RvciBsaXN0ZW5lcnNDb3B5ID0gbV9l
dmVudExpc3RlbmVycy5nZXQobG9hZEV2ZW50LmltcGwoKSk7Ci0gICAgICAgIGZvciAoTGlzdGVu
ZXJWZWN0b3I6OmNvbnN0X2l0ZXJhdG9yIGxpc3RlbmVySXRlciA9IGxpc3RlbmVyc0NvcHkuYmVn
aW4oKTsgbGlzdGVuZXJJdGVyICE9IGxpc3RlbmVyc0NvcHkuZW5kKCk7ICsrbGlzdGVuZXJJdGVy
KSB7Ci0gICAgICAgICAgICBSZWZQdHI8RXZlbnQ+IGV2dCA9IG5ldyBFdmVudChsb2FkRXZlbnQs
IHRydWUsIHRydWUpOwotICAgICAgICAgICAgZXZ0LT5zZXRUYXJnZXQodGhpcyk7Ci0gICAgICAg
ICAgICBldnQtPnNldEN1cnJlbnRUYXJnZXQodGhpcyk7Ci0gICAgICAgICAgICBsaXN0ZW5lckl0
ZXItPmdldCgpLT5oYW5kbGVFdmVudChldnQuZ2V0KCksIGZhbHNlKTsKLSAgICAgICAgfQorICAg
ICAgICBkaXNwYXRjaEV2ZW50KGV2dCwgZWMsIGZhbHNlKTsKKyAgICAgICAgQVNTRVJUKCFlYyk7
CiAgICAgfQogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTI5OSkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDA3LTA4LTI5ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTEwMgorICAgICAgICBYTUxIdHRwUmVxdWVzdHMgc2hvdWxkIGRpc3BhdGNoIGEg
cmVhZHlzdGF0ZWNoYW5nZSBldmVudC4KKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmVhZHlzdGF0ZWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVhZHlzdGF0ZWNoYW5nZS5odG1sOiBBZGRlZC4KKwog
MjAwNy0wOC0yOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZWFkeXN0YXRlY2hhbmdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlYWR5c3RhdGVjaGFuZ2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9y
ZWFkeXN0YXRlY2hhbmdlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBA
CitBTEVSVDogb25yZWFkeXN0YXRlY2hhbmdlIGNhbGxlZAorQUxFUlQ6IHJlYWR5c3RhdGVjaGFu
Z2UgbGlzdGVuZXIgY2FsbGVkCitUZXN0cyBmb3IgYnVnIDE1MTAyIC0gWE1MSHR0cFJlcXVlc3Qg
c2hvdWxkIGRpc3BhdGNoIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQuCisKK0lmIHRoaXMgcGFzc2Vz
IHlvdSBzaG91bGQgc2VlIGFsZXJ0cyBmb3Igb25yZWFkeXN0YXRlY2hhbmdlIGFuZCBmb3IgYSBy
ZWFkeXN0YXRlY2hhbmdlIGxpc3RlbmVyLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWFkeXN0YXRlY2hhbmdlLWV4cGVjdGVkLnR4
dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2
bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3JlYWR5c3RhdGVjaGFuZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlYWR5c3RhdGVjaGFuZ2UuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVhZHlz
dGF0ZWNoYW5nZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBACis8aHRtbD4KKzxi
b2R5PgorPHA+VGVzdHMgZm9yIDxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDIiPmJ1ZyAxNTEwMjwvYT4gLSAKK1hNTEh0dHBSZXF1ZXN0
IHNob3VsZCBkaXNwYXRjaCByZWFkeXN0YXRlY2hhbmdlIGV2ZW50LjwvcD4KKzxwPklmIHRoaXMg
cGFzc2VzIHlvdSBzaG91bGQgc2VlIGFsZXJ0cyBmb3Igb25yZWFkeXN0YXRlY2hhbmdlIGFuZCBm
b3IgYSByZWFkeXN0YXRlY2hhbmdlIGxpc3RlbmVyLjwvcD4KKzxzY3JpcHQ+CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworCisgICAgZnVuY3Rpb24gY2FsbGVkMShldnQpIHsKKyAgICAgICAgYWxl
cnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSBjYWxsZWQiKTsKKyAgICAgICAgZXZ0LmZvbyA9ICJiYXIi
OworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbGxlZDIoZXZ0KSB7CisgICAgICAgIGV2dC5zdG9w
UHJvcGFnYXRpb24oKTsgLy8gc3RvcFByb3BhZ2F0aW9uIHNob3VsZG4ndCBoYXZlIGFueSBlZmZl
Y3QsIGFzIHdlIGRvbid0IGhhdmUgYW4gaGllcmFyY2h5IHRvIHRyYXZlcnNlCisgICAgfQorCisg
ICAgZnVuY3Rpb24gY2FsbGVkMyhldnQpIHsKKyAgICAgICAgaWYgKGV2dC5mb28gPT0gImJhciIp
CisgICAgICAgICAgICBhbGVydCgicmVhZHlzdGF0ZWNoYW5nZSBsaXN0ZW5lciBjYWxsZWQiKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgYWxlcnQoIkVSUk9SOiByZWFkeXN0YXRlY2hhbmdl
IGxpc3RlbmVyIGNhbGxlZCwgYnV0IHRoZSBldmVudCBvYmplY3QgaXMgbm90IHRoZSBzYW1lIGFz
IGluIG9ucmVhZHlzdGF0ZWNoYW5nZSEiKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICB2
YXIgWEhSID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIFhIUi5vbnJlYWR5c3RhdGVj
aGFuZ2UgPSBjYWxsZWQxOworICAgICAgICBYSFIuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0
ZWNoYW5nZSIsIGNhbGxlZDIsIGZhbHNlKTsKKyAgICAgICAgWEhSLmFkZEV2ZW50TGlzdGVuZXIo
InJlYWR5c3RhdGVjaGFuZ2UiLCBjYWxsZWQzLCBmYWxzZSk7CisKKyAgICAgICAgWEhSLm9wZW4o
IkdFVCIsICJyZWFkeXN0YXRlY2hhbmdlLmh0bWwiLCB0cnVlKTsKKyAgICB9IGNhdGNoIChleCkg
eworICAgICAgICBhbGVydChleCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3JlYWR5c3RhdGVjaGFuZ2UuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUK
ICAgKyB0ZXh0L2h0bWwKCg==
</data>
<flag name="review"
          id="6790"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>