<?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>58765</bug_id>
          
          <creation_ts>2011-04-18 00:44:33 -0700</creation_ts>
          <short_desc>WebSocket: Add assertion for SocketStreamError::failingURL.</short_desc>
          <delta_ts>2011-04-19 21:51:33 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Yuta Kitamura">yutak</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ukai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387570</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-18 00:44:33 -0700</bug_when>
    <thetext>Currently SocketStreamError holds &quot;failingURL&quot; but it is not necessary; SocketStreamHandleClient (== WebSocketChannel) should be aware of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387572</commentid>
    <comment_count>1</comment_count>
      <attachid>90000</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-18 01:00:08 -0700</bug_when>
    <thetext>Created attachment 90000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387613</commentid>
    <comment_count>2</comment_count>
      <attachid>90000</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2011-04-18 03:28:05 -0700</bug_when>
    <thetext>Comment on attachment 90000
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387751</commentid>
    <comment_count>3</comment_count>
      <attachid>90000</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-18 08:52:04 -0700</bug_when>
    <thetext>Comment on attachment 90000
Patch

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

&gt; Source/WebCore/websockets/WebSocketChannel.cpp:222
&gt; +        m_context-&gt;addMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, 0, m_handshake.url(), 0);

What if the error happened before handshake (e.g. DNS resolution failed)? What guarantees that m_handshake.url() will be already set (and that we won&apos;t break that in the future)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388315</commentid>
    <comment_count>4</comment_count>
      <attachid>90000</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-18 23:16:21 -0700</bug_when>
    <thetext>Comment on attachment 90000
Patch

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

&gt;&gt; Source/WebCore/websockets/WebSocketChannel.cpp:222
&gt;&gt; +        m_context-&gt;addMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, 0, m_handshake.url(), 0);
&gt; 
&gt; What if the error happened before handshake (e.g. DNS resolution failed)? What guarantees that m_handshake.url() will be already set (and that we won&apos;t break that in the future)?

WebSocketHandshake::m_url is initialized in the constructor, and m_handshake persists for the same duration as WebSocketChannel, so &quot;m_handshake.url()&quot; will always return the right URL.

An existing test http/tests/inspector/console-websocket-error.html checks the exact case you mentioned (DNS resolution failure), so I think we can guarantee the validness of this statement as long as the test passes.

However, I agree that the usage of &quot;m_handshake.url()&quot; is a bit confusing. Do you think it&apos;s okay to add a m_url member variable to WebSocketChannel to make the code clearer? It adds small amount of memory usage for each WS connection, but I assume it is negligible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388316</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-18 23:23:53 -0700</bug_when>
    <thetext>I didn&apos;t think about it a lot, but the current solution seems the most straightforward to me. Having a failing URL member in SocketStreamError matches what we have in HTTP, so it&apos;s easiest to grasp and remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388320</commentid>
    <comment_count>6</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-18 23:34:48 -0700</bug_when>
    <thetext>I&apos;m also OK with keeping failingURL in SocketStreamError (abondoning this change).

Ukai-san, do you have any comments on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388322</commentid>
    <comment_count>7</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2011-04-18 23:37:23 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I&apos;m also OK with keeping failingURL in SocketStreamError (abondoning this change).
&gt; 
&gt; Ukai-san, do you have any comments on this?

For now, websocket doesn&apos;t support redirection, so requesting URL should be the same as failing URL.  Is there any plan to add redirection support in WebSocket protocol?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388333</commentid>
    <comment_count>8</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-18 23:57:08 -0700</bug_when>
    <thetext>No, redirection will not happen anytime soon.

Then, how about adding an ASSERT that checks if m_handshake.url() is equal to error.failingURL(), instead of removing failingURL? This adds another sanity check, and we&apos;ll be able to drop it happily when redirection is implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388336</commentid>
    <comment_count>9</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2011-04-19 00:08:33 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; No, redirection will not happen anytime soon.
&gt; 
&gt; Then, how about adding an ASSERT that checks if m_handshake.url() is equal to error.failingURL(), instead of removing failingURL? This adds another sanity check, and we&apos;ll be able to drop it happily when redirection is implemented.

Sounds good to me to adding an ASSERT.

When redirection is implemented, I think we&apos;ll need failingURL to know on which connection the error is occurred.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388423</commentid>
    <comment_count>10</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-19 05:14:29 -0700</bug_when>
    <thetext>OK, changing the bug summary to reflect the discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388451</commentid>
    <comment_count>11</comment_count>
      <attachid>90188</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-19 06:25:36 -0700</bug_when>
    <thetext>Created attachment 90188
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389008</commentid>
    <comment_count>12</comment_count>
      <attachid>90188</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2011-04-19 19:36:41 -0700</bug_when>
    <thetext>Comment on attachment 90188
Patch v2

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389050</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-19 21:49:17 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 90188:

http/tests/appcache/credential-url.html bug 58962 (author: jchaffraix@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389051</commentid>
    <comment_count>14</comment_count>
      <attachid>90188</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-19 21:51:28 -0700</bug_when>
    <thetext>Comment on attachment 90188
Patch v2

Clearing flags on attachment: 90188

Committed r84340: &lt;http://trac.webkit.org/changeset/84340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389052</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-19 21:51:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90000</attachid>
            <date>2011-04-18 01:00:08 -0700</date>
            <delta_ts>2011-04-19 06:25:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58765-20110418170004.patch</filename>
            <type>text/plain</type>
            <size>5816</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwNDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYjEyYzNkZWUyY2ZjYTUw
M2FmOTZkZTQ0YmM1MWVmZDQ0M2NjNmUyLi5mODUyZDQ2NGZhNzBhMjViYTg4MDhjNzllMDhiMjY1
YzA0YWRjOWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDQtMTggIFl1dGEg
S2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0OiBSZW1vdmUgU29ja2V0U3RyZWFtRXJy
b3I6OmZhaWxpbmdVUkwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01ODc2NQorCisgICAgICAgIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCBzaG91bGQg
YmUgYXdhcmUgb2YgdGhlIFVSTCB3aGljaCBpdCBpcyBjb25uZWN0aW5nIHRvLAorICAgICAgICB0
aHVzIHdlIGRvbid0IGhhdmUgdG8gc3RvcmUgZmFpbGluZ1VSTCBpbiBTb2NrZXRTdHJlYW1FcnJv
ci4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlLgorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1FcnJvckJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtRXJyb3JCYXNlOjpjb21wYXJlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6U29ja2V0U3RyZWFtRXJyb3JCYXNlOjpTb2NrZXRTdHJlYW1FcnJvckJhc2UpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtRXJyb3IuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNvY2tldFN0cmVhbUVycm9yOjpTb2NrZXRTdHJlYW1FcnJvcik6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJlcG9ydEVycm9yVG9DbGllbnQpOgor
ICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWlsKToKKwogMjAxMS0wNC0xNSAgS2VubmV0aCBS
dXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQ2hyb21pdW0g
TGludXggUmVsZWFzZSBidWlsZCBmaXggZHVlIHRvIHVudXNlZCB2YXJpYWJsZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUVycm9yQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUVycm9y
QmFzZS5jcHAKaW5kZXggYmJiNWQ1NTNmNWIwMDBjZDRkNTNkNTAxYTU5OGRlZGYyOGQzOWZjZC4u
NzY4MjkyNWVhNDZhNGQ4N2IyMGIwN2VjZTZiNTE3YzkxOTQyNTBiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1FcnJvckJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtRXJyb3JCYXNl
LmNwcApAQCAtNTEsOSArNTEsNiBAQCBib29sIFNvY2tldFN0cmVhbUVycm9yQmFzZTo6Y29tcGFy
ZShjb25zdCBTb2NrZXRTdHJlYW1FcnJvciYgYSwgY29uc3QgU29ja2V0U3RyZQogICAgIGlmIChh
LmVycm9yQ29kZSgpICE9IGIuZXJyb3JDb2RlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGlmIChhLmZhaWxpbmdVUkwoKSAhPSBiLmZhaWxpbmdVUkwoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCiAgICAgaWYgKGEubG9jYWxpemVkRGVzY3JpcHRpb24oKSAhPSBiLmxvY2FsaXpl
ZERlc2NyaXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1FcnJvckJhc2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtRXJyb3JCYXNlLmgKaW5k
ZXggZTZjYzU2N2QyNTBjMmQ0NTYxMzYxMmZiYWY5ZjljODQ1ZmM1OTRkMi4uZDk4OGVlODA3MDYx
YTExOWQxMjdiZTgwZmIyYmM2NmM3YzY1MDdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1FcnJvckJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUVycm9yQmFzZS5oCkBAIC00Niw3ICs0
Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7
IHJldHVybiBtX2lzTnVsbDsgfQogCiAgICAgICAgIGludCBlcnJvckNvZGUoKSBjb25zdCB7IHJl
dHVybiBtX2Vycm9yQ29kZTsgfQotICAgICAgICBjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwoKSBj
b25zdCB7IHJldHVybiBtX2ZhaWxpbmdVUkw7IH0KICAgICAgICAgY29uc3QgU3RyaW5nJiBsb2Nh
bGl6ZWREZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxpemVkRGVzY3JpcHRpb247
IH0KIAogICAgICAgICBzdGF0aWMgYm9vbCBjb21wYXJlKGNvbnN0IFNvY2tldFN0cmVhbUVycm9y
JiwgY29uc3QgU29ja2V0U3RyZWFtRXJyb3ImKTsKQEAgLTY0LDE2ICs2MywxNCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIFNvY2tldFN0cmVh
bUVycm9yQmFzZShpbnQgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwsIGNvbnN0
IFN0cmluZyYgbG9jYWxpemVkRGVzY3JpcHRpb24pCisgICAgICAgIFNvY2tldFN0cmVhbUVycm9y
QmFzZShpbnQgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGxvY2FsaXplZERlc2NyaXB0aW9uKQog
ICAgICAgICAgICAgOiBtX2Vycm9yQ29kZShlcnJvckNvZGUpCi0gICAgICAgICAgICAsIG1fZmFp
bGluZ1VSTChmYWlsaW5nVVJMKQogICAgICAgICAgICAgLCBtX2xvY2FsaXplZERlc2NyaXB0aW9u
KGxvY2FsaXplZERlc2NyaXB0aW9uKQogICAgICAgICAgICAgLCBtX2lzTnVsbChmYWxzZSkKICAg
ICAgICAgewogICAgICAgICB9CiAKICAgICAgICAgaW50IG1fZXJyb3JDb2RlOwotICAgICAgICBT
dHJpbmcgbV9mYWlsaW5nVVJMOwogICAgICAgICBTdHJpbmcgbV9sb2NhbGl6ZWREZXNjcmlwdGlv
bjsKICAgICAgICAgYm9vbCBtX2lzTnVsbDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1FcnJvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1FcnJvci5oCmluZGV4IDVhMGNh
MDdmZDlhNjQwNjBjNWQyZjM5NmU5NDhlNmI4ZTVkMDA3Y2IuLjA0MjEyZDkwN2M4OGJiMmM4YzZi
ZmUzMzVmOWFmNjBiZWJiMzQ4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvU29ja2V0U3RyZWFtRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUVycm9yLmgKQEAgLTQyLDggKzQyLDggQEAgcHVi
bGljOgogICAgICAgICA6IFNvY2tldFN0cmVhbUVycm9yQmFzZShlcnJvckNvZGUpCiAgICAgewog
ICAgIH0KLSAgICBTb2NrZXRTdHJlYW1FcnJvcihpbnQgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcm
IGZhaWxpbmdVUkwsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAg
IDogU29ja2V0U3RyZWFtRXJyb3JCYXNlKGVycm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVk
RGVzY3JpcHRpb24pCisgICAgU29ja2V0U3RyZWFtRXJyb3IoaW50IGVycm9yQ29kZSwgY29uc3Qg
U3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKKyAgICAgICAgOiBTb2NrZXRTdHJlYW1FcnJv
ckJhc2UoZXJyb3JDb2RlLCBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICB7CiAgICAgfQogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3Ry
ZWFtSGFuZGxlQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9T
b2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKaW5kZXggZWUwNmM2ODkzNmFiNDk3ZmZlZmUyYjFi
NmMyNThmMTU5OTQzZjA5YS4uMGExMmI1YTFlOTNlZGYwNGJjMDU2M2ZlNjI0N2UzMzFlYWZmMzRi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRT
dHJlYW1IYW5kbGVDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKQEAgLTYxMiw3ICs2MTIsNyBAQCB2b2lk
IFNvY2tldFN0cmVhbUhhbmRsZTo6cmVwb3J0RXJyb3JUb0NsaWVudChDRkVycm9yUmVmIGVycm9y
KQogICAgICAgICBkZXNjcmlwdGlvbiA9IFN0cmluZyhkZXNjcmlwdGlvbkNGLmdldCgpKTsKICAg
ICB9CiAKLSAgICBtX2NsaWVudC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihzdGF0
aWNfY2FzdDxpbnQ+KGVycm9yQ29kZSksIG1fdXJsLnN0cmluZygpLCBkZXNjcmlwdGlvbikpOwor
ICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKHN0YXRpY19jYXN0
PGludD4oZXJyb3JDb2RlKSwgZGVzY3JpcHRpb24pKTsKIH0KICNlbmRpZiAvLyBCVUlMRElOR19P
Tl9USUdFUgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAppbmRleCBjNGNiMmUyMDQzOTM0NDI2ZTI2OWZkMjY3Y2QzYzE2YmZjMTRhNjMzLi40NDhm
MWUxNTcwMjU2MWNiYmZiMDdmNWQ1MzNiMDgxNDM1MzdmNjg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTIxOSw3ICsyMTksNyBAQCB2
b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWwoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUs
IGNvbnN0IFNvY2tldFN0cmVhbUVycgogICAgICAgICAgICAgbWVzc2FnZSA9IG1ha2VTdHJpbmco
IldlYlNvY2tldCBuZXR3b3JrIGVycm9yOiBlcnJvciBjb2RlICIsIFN0cmluZzo6bnVtYmVyKGVy
cm9yLmVycm9yQ29kZSgpKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1lc3NhZ2UgPSBt
YWtlU3RyaW5nKCJXZWJTb2NrZXQgbmV0d29yayBlcnJvcjogIiwgZXJyb3IubG9jYWxpemVkRGVz
Y3JpcHRpb24oKSk7Ci0gICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIE5ldHdvcmtFcnJvck1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSwgMCwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNz
YWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTmV0d29ya0Vycm9yTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCBtZXNzYWdlLCAwLCBtX2hhbmRzaGFrZS51cmwoKSwgMCk7CiAgICAgfQogICAg
IG1fc2hvdWxkRGlzY2FyZFJlY2VpdmVkRGF0YSA9IHRydWU7CiAgICAgaGFuZGxlLT5jbG9zZSgp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90188</attachid>
            <date>2011-04-19 06:25:36 -0700</date>
            <delta_ts>2011-04-19 21:51:28 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-58765-20110419222534.patch</filename>
            <type>text/plain</type>
            <size>2335</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwNDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYjEyYzNkZWUyY2ZjYTUw
M2FmOTZkZTQ0YmM1MWVmZDQ0M2NjNmUyLi42MDczYzE2NmE5YTBjYTVmMzNlZTY3NTIzZjA4NzQ0
MTVhMjIxMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMTkgIFl1dGEg
S2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0OiBBZGQgYXNzZXJ0aW9uIGZvciBTb2Nr
ZXRTdHJlYW1FcnJvcjo6ZmFpbGluZ1VSTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU4NzY1CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNl
IGFuIGV4aXN0aW5nIHRlc3QgaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS13ZWJzb2NrZXQt
ZXJyb3IuaHRtbCBzaG91bGQgY292ZXIgdGhpcy4KKworICAgICAgICAqIHdlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpk
aWRGYWlsKTogSWYgZXJyb3IuZmFpbGluZ1VSTCgpIGlzIHByb3ZpZGVkLCBpdCBtdXN0IGJlIHRo
ZSBzYW1lIGFzCisgICAgICAgIG1faGFuZHNoYWtlLnVybCgpLiBmYWlsaW5nVVJMIG1heSBiZSBu
dWxsIGlmIFNvY2tldFN0cmVhbUhhbmRsZSBoYXMgY3JlYXRlZCBhIFNvY2tldFN0cmVhbUVycm9y
CisgICAgICAgIHVzaW5nIHplcm8tIG9yIG9uZS1hcmd1bWVudCBjb25zdHJ1Y3RvciAod2hpY2gg
aXMgb2xkIHZlcnNpb24gYnV0IHNvbWUgcG9ydHMgYXJlIHN0aWxsIHVzaW5nIGl0KS4KKyAgICAg
ICAgSW4gdGhhdCBjYXNlLCBtX2hhbmRzaGFrZS51cmwoKSBpcyBwYXNzZWQgdG8gYWRkTWVzc2Fn
ZSgpLgorCiAyMDExLTA0LTE1ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiBDaHJvbWl1bSBMaW51eCBSZWxlYXNlIGJ1aWxkIGZpeCBkdWUg
dG8gdW51c2VkIHZhcmlhYmxlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuY3BwCmluZGV4IGM0Y2IyZTIwNDM5MzQ0MjZlMjY5ZmQyNjdjZDNjMTZiZmMx
NGE2MzMuLjU5MGE5YTY4N2Q1OTdlMWUxNzVmMThmMWQ0Mzc1YmJlMGU0N2U0ZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMjE5LDcg
KzIxOSwxMSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWwoU29ja2V0U3RyZWFtSGFu
ZGxlKiBoYW5kbGUsIGNvbnN0IFNvY2tldFN0cmVhbUVycgogICAgICAgICAgICAgbWVzc2FnZSA9
IG1ha2VTdHJpbmcoIldlYlNvY2tldCBuZXR3b3JrIGVycm9yOiBlcnJvciBjb2RlICIsIFN0cmlu
Zzo6bnVtYmVyKGVycm9yLmVycm9yQ29kZSgpKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJXZWJTb2NrZXQgbmV0d29yayBlcnJvcjogIiwgZXJyb3Iu
bG9jYWxpemVkRGVzY3JpcHRpb24oKSk7Ci0gICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShP
dGhlck1lc3NhZ2VTb3VyY2UsIE5ldHdvcmtFcnJvck1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSwgMCwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwKTsKKyAgICAgICAgU3RyaW5n
IGZhaWxpbmdVUkwgPSBlcnJvci5mYWlsaW5nVVJMKCk7CisgICAgICAgIEFTU0VSVChmYWlsaW5n
VVJMLmlzTnVsbCgpIHx8IG1faGFuZHNoYWtlLnVybCgpLnN0cmluZygpID09IGZhaWxpbmdVUkwp
OworICAgICAgICBpZiAoZmFpbGluZ1VSTC5pc051bGwoKSkKKyAgICAgICAgICAgIGZhaWxpbmdV
UkwgPSBtX2hhbmRzaGFrZS51cmwoKS5zdHJpbmcoKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRN
ZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTmV0d29ya0Vycm9yTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCAwLCBmYWlsaW5nVVJMLCAwKTsKICAgICB9CiAgICAgbV9z
aG91bGREaXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmNsb3NlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>