<?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>28954</bug_id>
          
          <creation_ts>2009-09-03 13:47:14 -0700</creation_ts>
          <short_desc>hostname and host are mixed up when manipulating anchor elements</short_desc>
          <delta_ts>2009-09-06 22:25:13 -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>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="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>vladimir.olexa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144588</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-09-03 13:47:14 -0700</bug_when>
    <thetext>From http://dev.w3.org/html5/spec/infrastructure.html#interfaces-for-url-manipulation:

o . host [ = value ]
    Returns the current host and port (if it&apos;s not the default port) in the underlying URL.
    Can be set, to change the underlying URL&apos;s host and port.
    The host and the port are separated by a colon. The port part, if omitted, will be assumed to be the current scheme&apos;s default port.
o . hostname [ = value ]
    Returns the current host in the underlying URL.
    Can be set, to change the underlying URL&apos;s host.


In the current implementation of HTMLAnchorElement, they are mixed up.
FireFox and IE are following the spec while WebKit, Safari and Opera are not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144603</commentid>
    <comment_count>1</comment_count>
      <attachid>39012</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-09-03 14:37:01 -0700</bug_when>
    <thetext>Created attachment 39012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144604</commentid>
    <comment_count>2</comment_count>
      <attachid>39012</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-03 14:47:56 -0700</bug_when>
    <thetext>Comment on attachment 39012
Patch

Change looks good. This needs a regression test. You should be able to test it with a test in the &quot;http&quot; part of the LayoutTests directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144821</commentid>
    <comment_count>3</comment_count>
      <attachid>39064</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-09-04 09:09:39 -0700</bug_when>
    <thetext>Created attachment 39064
Patch

Added a test as requested in #2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144868</commentid>
    <comment_count>4</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-09-04 10:53:55 -0700</bug_when>
    <thetext>Landed in r48063.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144870</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-04 10:58:23 -0700</bug_when>
    <thetext>What about a port number of 0? This code seems to do the wrong thing in that case. Maybe you could do a separate patch that adds test cases for that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144877</commentid>
    <comment_count>6</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-09-04 11:26:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; What about a port number of 0? This code seems to do the wrong thing in that
&gt; case. Maybe you could do a separate patch that adds test cases for that case.

You are right, when the href includes port 0, my patch does not handle it correctly. I will fix it shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144899</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-09-04 12:41:47 -0700</bug_when>
    <thetext>*** Bug 20608 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144921</commentid>
    <comment_count>8</comment_count>
      <attachid>39089</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-09-04 14:07:24 -0700</bug_when>
    <thetext>Created attachment 39089
Patch

Added handling for when port is 0, including a new test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144922</commentid>
    <comment_count>9</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-09-04 14:08:08 -0700</bug_when>
    <thetext>Due to additional comments, I am reopening this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145032</commentid>
    <comment_count>10</comment_count>
      <attachid>39089</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-05 21:12:35 -0700</bug_when>
    <thetext>Comment on attachment 39089
Patch

&gt; +    if (url.hostEnd() == url.pathStart())

I think it&apos;s slightly unclear to code it this way. I&apos;d prefer to have a hasPort() function on KURL. In fact, at one point these hostEnd() and pathStart() functions didn&apos;t exist, and I&apos;m not sure we&apos;ll want to keep them in the long run.

But I guess this is OK as-is for now. I won&apos;t insist on changing KURL.h.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145097</commentid>
    <comment_count>11</comment_count>
      <attachid>39089</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-06 22:25:08 -0700</bug_when>
    <thetext>Comment on attachment 39089
Patch

Clearing flags on attachment: 39089

Committed r48107: &lt;http://trac.webkit.org/changeset/48107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145098</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-06 22:25:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39012</attachid>
            <date>2009-09-03 14:37:01 -0700</date>
            <delta_ts>2009-09-04 09:09:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>28954.patch</filename>
            <type>text/plain</type>
            <size>2945</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODAzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDktMDMgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGhvc3RuYW1lIGFuZCBob3N0IGFyZSBtaXhlZCB1cCB3aGVuIG1hbmlwdWxhdGluZyBhbmNob3Ig
ZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yODk1NAorCisgICAgICAgIFN3YXBwZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIGhvc3QgYW5k
IGhvc3RuYW1lLCBhbmQgbWFkZSBzdXJlIG5vdCB0byByZXR1cm4KKyAgICAgICAgdGhlIHBvcnQg
bnVtYmVyIGlmIGl0IGlzIGRlZmF1bHQgZm9yIHRoZSBnaXZlbiBwcm90b2NvbC4gCisgICAgICAg
IEZpcmVGb3ggYWxzbyBhdm9pZHMgcmV0dXJuaW5nIHRoZSBwcm90b2NvbCBudW1iZXIgaWYgaXQg
aXMgZGVmYXVsdC4KKworICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6Omhvc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFuY2hvckVsZW1lbnQ6Omhvc3RuYW1lKToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5
T3JpZ2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjppc0RlZmF1bHRQ
b3J0Rm9yUHJvdG9jb2wpOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKKwogMjAw
OS0wOS0wMyAgS2V2aW4gV2F0dGVycyAgPGtldmlud2F0dGVyc0BnbWFpbC5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgS2V2aW4gT2xsaXZpZXIuCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2VjdXJp
dHlPcmlnaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5j
cHAJKHJldmlzaW9uIDQ4MDMwKQorKysgV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQAogICAgIHJldHVybiBub0FjY2Vzc1NjaGVt
ZXM7CiB9CiAKLXN0YXRpYyBib29sIGlzRGVmYXVsdFBvcnRGb3JQcm90b2NvbCh1bnNpZ25lZCBz
aG9ydCBwb3J0LCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQorYm9vbCBTZWN1cml0eU9yaWdpbjo6
aXNEZWZhdWx0UG9ydEZvclByb3RvY29sKHVuc2lnbmVkIHNob3J0IHBvcnQsIGNvbnN0IFN0cmlu
ZyYgcHJvdG9jb2wpCiB7CiAgICAgaWYgKHByb3RvY29sLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpJbmRleDogV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgJKHJldmlzaW9uIDQ4MDMwKQorKysg
V2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsx
NDQsOCBAQAogICAgICAgICBzdGF0aWMgdm9pZCB3aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFN0cmluZyYgZGVzdGluYXRp
b25Qcm90b2NvbCwgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvbkRvbWFpbnMsIGJvb2wgYWxsb3dE
ZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgICAgICBzdGF0aWMgdm9pZCByZXNldE9yaWdpbkFj
Y2Vzc1doaXRlTGlzdHMoKTsKIAorICAgICAgICBzdGF0aWMgYm9vbCBpc0RlZmF1bHRQb3J0Rm9y
UHJvdG9jb2wodW5zaWduZWQgc2hvcnQgcG9ydCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CisK
ICAgICBwcml2YXRlOgogICAgICAgICBleHBsaWNpdCBTZWN1cml0eU9yaWdpbihjb25zdCBLVVJM
Jik7CiAgICAgICAgIGV4cGxpY2l0IFNlY3VyaXR5T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2lu
Kik7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAJKHJldmlzaW9uIDQ4MDMwKQor
KysgV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzUyLDE3ICszNTIsMTkgQEAKIAogU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50Ojpob3N0KCkgY29u
c3QKIHsKLSAgICByZXR1cm4gaHJlZigpLmhvc3QoKTsKLX0KLQotU3RyaW5nIEhUTUxBbmNob3JF
bGVtZW50Ojpob3N0bmFtZSgpIGNvbnN0Ci17CiAgICAgY29uc3QgS1VSTCYgdXJsID0gaHJlZigp
OwogICAgIGlmICh1cmwucG9ydCgpID09IDApCiAgICAgICAgIHJldHVybiB1cmwuaG9zdCgpOwor
ICAgIGlmIChTZWN1cml0eU9yaWdpbjo6aXNEZWZhdWx0UG9ydEZvclByb3RvY29sKHVybC5wb3J0
KCksIHVybC5wcm90b2NvbCgpKSkKKyAgICAgICAgcmV0dXJuIHVybC5ob3N0KCk7CiAgICAgcmV0
dXJuIHVybC5ob3N0KCkgKyAiOiIgKyBTdHJpbmc6Om51bWJlcih1cmwucG9ydCgpKTsKIH0KIAor
U3RyaW5nIEhUTUxBbmNob3JFbGVtZW50Ojpob3N0bmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGhyZWYoKS5ob3N0KCk7Cit9CisKIFN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cGF0aG5hbWUo
KSBjb25zdAogewogICAgIHJldHVybiBocmVmKCkucGF0aCgpOwo=
</data>
<flag name="review"
          id="20028"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39064</attachid>
            <date>2009-09-04 09:09:39 -0700</date>
            <delta_ts>2009-09-04 14:07:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>28954.patch</filename>
            <type>text/plain</type>
            <size>6445</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODA1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMDktMDQgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGhvc3RuYW1lIGFuZCBob3N0IGFyZSBtaXhlZCB1cCB3aGVuIG1hbmlwdWxhdGluZyBhbmNob3Ig
ZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yODk1NAorCisgICAgICAgIFN3YXBwZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIGhvc3QgYW5k
IGhvc3RuYW1lLCBhbmQgbWFkZSBzdXJlIG5vdCB0byByZXR1cm4KKyAgICAgICAgdGhlIHBvcnQg
bnVtYmVyIGlmIGl0IGlzIGRlZmF1bHQgZm9yIHRoZSBnaXZlbiBwcm90b2NvbC4gCisgICAgICAg
IEZpcmVGb3ggYWxzbyBhdm9pZHMgcmV0dXJuaW5nIHRoZSBwcm90b2NvbCBudW1iZXIgaWYgaXQg
aXMgZGVmYXVsdC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1lLWhv
c3QuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aG9zdCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MQW5jaG9yRWxlbWVudDo6aG9zdG5hbWUpOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmln
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmlzRGVmYXVsdFBvcnRG
b3JQcm90b2NvbCk6CisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5oOgorCiAyMDA5LTA5
LTA0ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBHdXN0YXZvIE5vcm9uaGEuCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAJKHJldmlzaW9u
IDQ4MDMwKQorKysgV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzMsNyArNzMsNyBAQAogICAgIHJldHVybiBub0FjY2Vzc1NjaGVtZXM7CiB9CiAKLXN0
YXRpYyBib29sIGlzRGVmYXVsdFBvcnRGb3JQcm90b2NvbCh1bnNpZ25lZCBzaG9ydCBwb3J0LCBj
b25zdCBTdHJpbmcmIHByb3RvY29sKQorYm9vbCBTZWN1cml0eU9yaWdpbjo6aXNEZWZhdWx0UG9y
dEZvclByb3RvY29sKHVuc2lnbmVkIHNob3J0IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wp
CiB7CiAgICAgaWYgKHByb3RvY29sLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJ
bmRleDogV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgJKHJldmlzaW9uIDQ4MDMwKQorKysgV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsOCBAQAogICAg
ICAgICBzdGF0aWMgdm9pZCB3aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNvbnN0IFNlY3VyaXR5
T3JpZ2luJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25Qcm90b2NvbCwg
Y29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvbkRvbWFpbnMsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1
YmRvbWFpbnMpOwogICAgICAgICBzdGF0aWMgdm9pZCByZXNldE9yaWdpbkFjY2Vzc1doaXRlTGlz
dHMoKTsKIAorICAgICAgICBzdGF0aWMgYm9vbCBpc0RlZmF1bHRQb3J0Rm9yUHJvdG9jb2wodW5z
aWduZWQgc2hvcnQgcG9ydCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CisKICAgICBwcml2YXRl
OgogICAgICAgICBleHBsaWNpdCBTZWN1cml0eU9yaWdpbihjb25zdCBLVVJMJik7CiAgICAgICAg
IGV4cGxpY2l0IFNlY3VyaXR5T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luKik7CkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAJKHJldmlzaW9uIDQ4MDMwKQorKysgV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUyLDE3ICszNTIs
MTkgQEAKIAogU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50Ojpob3N0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gaHJlZigpLmhvc3QoKTsKLX0KLQotU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50Ojpob3N0
bmFtZSgpIGNvbnN0Ci17CiAgICAgY29uc3QgS1VSTCYgdXJsID0gaHJlZigpOwogICAgIGlmICh1
cmwucG9ydCgpID09IDApCiAgICAgICAgIHJldHVybiB1cmwuaG9zdCgpOworICAgIGlmIChTZWN1
cml0eU9yaWdpbjo6aXNEZWZhdWx0UG9ydEZvclByb3RvY29sKHVybC5wb3J0KCksIHVybC5wcm90
b2NvbCgpKSkKKyAgICAgICAgcmV0dXJuIHVybC5ob3N0KCk7CiAgICAgcmV0dXJuIHVybC5ob3N0
KCkgKyAiOiIgKyBTdHJpbmc6Om51bWJlcih1cmwucG9ydCgpKTsKIH0KIAorU3RyaW5nIEhUTUxB
bmNob3JFbGVtZW50Ojpob3N0bmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhyZWYoKS5ob3N0
KCk7Cit9CisKIFN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cGF0aG5hbWUoKSBjb25zdAogewog
ICAgIHJldHVybiBocmVmKCkucGF0aCgpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDgwNTIpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAw
OS0wOS0wNCAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaG9zdG5hbWUgYW5kIGhvc3Qg
YXJlIG1peGVkIHVwIHdoZW4gbWFuaXB1bGF0aW5nIGFuY2hvciBlbGVtZW50cy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTU0CisKKyAgICAgICAg
KiBmYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1lLWhvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1lLWhvc3QuaHRtbDogQWRkZWQuCisKIDIw
MDktMDktMDQgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgog
CiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0Lmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1lLWhvc3QuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+DQorPGhlYWQ+DQorPHNjcmlwdD4N
CitmdW5jdGlvbiBsb2FkKCkgew0KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQ0KKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICBzdHIg
PSAiIjsNCisgICAgZm9yIChpPTA7aTw5O2krKykNCisgICAgICBzdHIgKz0gIkhvc3RuYW1lIGlz
ICIgKyBkb2N1bWVudC5saW5rc1tpXS5ob3N0bmFtZSArICIuIEhvc3QgaXMgIiArIGRvY3VtZW50
LmxpbmtzW2ldLmhvc3QgKyAiPGJyPiI7DQorCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
bmFtZV9ob3N0IikuaW5uZXJIVE1MID0gc3RyOw0KK30NCis8L3NjcmlwdD4NCis8L2hlYWQ+DQor
PGJvZHkgb25sb2FkPSJsb2FkKCkiPg0KKzxhICBocmVmPSJodHRwOi8vZGV2LnczLm9yZzo4MC9o
dG1sNS9zcGVjL2luZnJhc3RydWN0dXJlLmh0bWwjaW50ZXJmYWNlcy1mb3ItdXJsLW1hbmlwdWxh
dGlvbiI+aHR0cCB3aXRoIGRlZmF1bHQgcG9ydDwvYT48YnI+DQorPGEgIGhyZWY9Imh0dHBzOi8v
ZGV2LnczLm9yZzo0NDMvaHRtbDUvc3BlYy9pbmZyYXN0cnVjdHVyZS5odG1sI2ludGVyZmFjZXMt
Zm9yLXVybC1tYW5pcHVsYXRpb24iPmh0dHBzIHdpdGggZGVmYXVsdCBwb3J0PC9hPjxicj4NCis8
YSAgaHJlZj0iZnRwOi8vZGV2LnczLm9yZzoyMS9odG1sNS9zcGVjL2luZnJhc3RydWN0dXJlLmh0
bWwjaW50ZXJmYWNlcy1mb3ItdXJsLW1hbmlwdWxhdGlvbiI+ZnRwIHdpdGggZGVmYXVsdCBwb3J0
PC9hPjxicj4NCis8YnI+DQorPGEgIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnOjEyMy9odG1sNS9z
cGVjL2luZnJhc3RydWN0dXJlLmh0bWwjaW50ZXJmYWNlcy1mb3ItdXJsLW1hbmlwdWxhdGlvbiI+
aHR0cCB3aXRoIG5vbi1kZWZhdWx0IHBvcnQ8L2E+PGJyPg0KKzxhICBocmVmPSJodHRwczovL2Rl
di53My5vcmc6MTIzL2h0bWw1L3NwZWMvaW5mcmFzdHJ1Y3R1cmUuaHRtbCNpbnRlcmZhY2VzLWZv
ci11cmwtbWFuaXB1bGF0aW9uIj5odHRwcyB3aXRoIG5vbi1kZWZhdWx0IHBvcnQ8L2E+PGJyPg0K
KzxhICBocmVmPSJmdHA6Ly9kZXYudzMub3JnOjEyMy9odG1sNS9zcGVjL2luZnJhc3RydWN0dXJl
Lmh0bWwjaW50ZXJmYWNlcy1mb3ItdXJsLW1hbmlwdWxhdGlvbiI+ZnRwIHdpdGggbm9uLWRlZmF1
bHQgcG9ydDwvYT48YnI+DQorPGJyPg0KKzxhICBocmVmPSJodHRwOi8vZGV2LnczLm9yZy9odG1s
NS9zcGVjL2luZnJhc3RydWN0dXJlLmh0bWwjaW50ZXJmYWNlcy1mb3ItdXJsLW1hbmlwdWxhdGlv
biI+aHR0cCB3aXRob3V0IHBvcnQ8L2E+PGJyPg0KKzxhICBocmVmPSJodHRwczovL2Rldi53My5v
cmcvaHRtbDUvc3BlYy9pbmZyYXN0cnVjdHVyZS5odG1sI2ludGVyZmFjZXMtZm9yLXVybC1tYW5p
cHVsYXRpb24iPmh0dHBzIHdpdGhvdXQgcG9ydDwvYT48YnI+DQorPGEgIGhyZWY9ImZ0cDovL2Rl
di53My5vcmcvaHRtbDUvc3BlYy9pbmZyYXN0cnVjdHVyZS5odG1sI2ludGVyZmFjZXMtZm9yLXVy
bC1tYW5pcHVsYXRpb24iPmZ0cCB3aXRob3V0IHBvcnQ8L2E+PGJyPg0KKzxicj4NCis8c3BhbiBp
ZD0iaG9zdG5hbWVfaG9zdCI+PC9zcGFuPg0KKw0KKzwvYm9keT4NCis8L2h0bWw+DQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1lLWhvc3Qt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVu
dC9ob3N0bmFtZS1ob3N0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBA
QAoraHR0cCB3aXRoIGRlZmF1bHQgcG9ydAoraHR0cHMgd2l0aCBkZWZhdWx0IHBvcnQKK2Z0cCB3
aXRoIGRlZmF1bHQgcG9ydAorCitodHRwIHdpdGggbm9uLWRlZmF1bHQgcG9ydAoraHR0cHMgd2l0
aCBub24tZGVmYXVsdCBwb3J0CitmdHAgd2l0aCBub24tZGVmYXVsdCBwb3J0CisKK2h0dHAgd2l0
aG91dCBwb3J0CitodHRwcyB3aXRob3V0IHBvcnQKK2Z0cCB3aXRob3V0IHBvcnQKKworSG9zdG5h
bWUgaXMgZGV2LnczLm9yZy4gSG9zdCBpcyBkZXYudzMub3JnCitIb3N0bmFtZSBpcyBkZXYudzMu
b3JnLiBIb3N0IGlzIGRldi53My5vcmcKK0hvc3RuYW1lIGlzIGRldi53My5vcmcuIEhvc3QgaXMg
ZGV2LnczLm9yZworSG9zdG5hbWUgaXMgZGV2LnczLm9yZy4gSG9zdCBpcyBkZXYudzMub3JnOjEy
MworSG9zdG5hbWUgaXMgZGV2LnczLm9yZy4gSG9zdCBpcyBkZXYudzMub3JnOjEyMworSG9zdG5h
bWUgaXMgZGV2LnczLm9yZy4gSG9zdCBpcyBkZXYudzMub3JnOjEyMworSG9zdG5hbWUgaXMgZGV2
LnczLm9yZy4gSG9zdCBpcyBkZXYudzMub3JnCitIb3N0bmFtZSBpcyBkZXYudzMub3JnLiBIb3N0
IGlzIGRldi53My5vcmcKK0hvc3RuYW1lIGlzIGRldi53My5vcmcuIEhvc3QgaXMgZGV2LnczLm9y
ZworCg==
</data>
<flag name="review"
          id="20098"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39089</attachid>
            <date>2009-09-04 14:07:24 -0700</date>
            <delta_ts>2009-09-06 22:25:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>28954.patch</filename>
            <type>text/plain</type>
            <size>3591</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODA3MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDktMDQgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGhvc3RuYW1lIGFuZCBob3N0IGFyZSBtaXhlZCB1cCB3aGVuIG1hbmlwdWxhdGluZyBhbmNob3Ig
ZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yODk1NAorCisgICAgICAgIGhhbmRsZSB0aGUgY2FzZSBvZiBwb3J0IDAuCisKKyAgICAgICAg
KiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNo
b3JFbGVtZW50Ojpob3N0KToKKwogMjAwOS0wOS0wNCAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYkNvcmUv
aHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcAkocmV2aXNpb24gNDgwNzEpCisrKyBXZWJDb3JlL2h0bWwvSFRN
TEFuY2hvckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTMsNyArMzUzLDcgQEAKIFN0
cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6aG9zdCgpIGNvbnN0CiB7CiAgICAgY29uc3QgS1VSTCYg
dXJsID0gaHJlZigpOwotICAgIGlmICh1cmwucG9ydCgpID09IDApCisgICAgaWYgKHVybC5ob3N0
RW5kKCkgPT0gdXJsLnBhdGhTdGFydCgpKQogICAgICAgICByZXR1cm4gdXJsLmhvc3QoKTsKICAg
ICBpZiAoU2VjdXJpdHlPcmlnaW46OmlzRGVmYXVsdFBvcnRGb3JQcm90b2NvbCh1cmwucG9ydCgp
LCB1cmwucHJvdG9jb2woKSkpCiAgICAgICAgIHJldHVybiB1cmwuaG9zdCgpOwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0Lmh0bWwJKHJldmlz
aW9uIDQ4MDcxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBACiAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikNCiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsNCiAgICAgc3RyID0gIiI7DQotICAgIGZvciAoaT0wO2k8OTtpKyspDQorICAgIGZvciAo
aT0wO2k8MTA7aSsrKQ0KICAgICAgIHN0ciArPSAiSG9zdG5hbWUgaXMgIiArIGRvY3VtZW50Lmxp
bmtzW2ldLmhvc3RuYW1lICsgIi4gSG9zdCBpcyAiICsgZG9jdW1lbnQubGlua3NbaV0uaG9zdCAr
ICI8YnI+IjsNCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3RuYW1lX2hvc3QiKS5p
bm5lckhUTUwgPSBzdHI7DQogfQ0KQEAgLTI0LDYgKzI0LDcgQEAKIDxhICBocmVmPSJodHRwczov
L2Rldi53My5vcmcvaHRtbDUvc3BlYy9pbmZyYXN0cnVjdHVyZS5odG1sI2ludGVyZmFjZXMtZm9y
LXVybC1tYW5pcHVsYXRpb24iPmh0dHBzIHdpdGhvdXQgcG9ydDwvYT48YnI+DQogPGEgIGhyZWY9
ImZ0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9pbmZyYXN0cnVjdHVyZS5odG1sI2ludGVyZmFj
ZXMtZm9yLXVybC1tYW5pcHVsYXRpb24iPmZ0cCB3aXRob3V0IHBvcnQ8L2E+PGJyPg0KIDxicj4N
Cis8YSAgaHJlZj0iaHR0cDovL2Rldi53My5vcmc6MC9odG1sNS9zcGVjL2luZnJhc3RydWN0dXJl
Lmh0bWwjaW50ZXJmYWNlcy1mb3ItdXJsLW1hbmlwdWxhdGlvbiI+aHR0cCB3aXRoIHBvcnQgMDwv
YT48YnI+DQogPHNwYW4gaWQ9Imhvc3RuYW1lX2hvc3QiPjwvc3Bhbj4NCiANCiA8L2JvZHk+DQpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1l
LWhvc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0ODA3MSkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0VsZW1lbnQvaG9zdG5hbWUtaG9zdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEwLDYgKzEwLDcgQEAKIGh0dHBzIHdpdGhvdXQgcG9ydAogZnRwIHdpdGhvdXQgcG9ydAogCito
dHRwIHdpdGggcG9ydCAwCiBIb3N0bmFtZSBpcyBkZXYudzMub3JnLiBIb3N0IGlzIGRldi53My5v
cmcKIEhvc3RuYW1lIGlzIGRldi53My5vcmcuIEhvc3QgaXMgZGV2LnczLm9yZwogSG9zdG5hbWUg
aXMgZGV2LnczLm9yZy4gSG9zdCBpcyBkZXYudzMub3JnCkBAIC0xOSw0ICsyMCw1IEBACiBIb3N0
bmFtZSBpcyBkZXYudzMub3JnLiBIb3N0IGlzIGRldi53My5vcmcKIEhvc3RuYW1lIGlzIGRldi53
My5vcmcuIEhvc3QgaXMgZGV2LnczLm9yZwogSG9zdG5hbWUgaXMgZGV2LnczLm9yZy4gSG9zdCBp
cyBkZXYudzMub3JnCitIb3N0bmFtZSBpcyBkZXYudzMub3JnLiBIb3N0IGlzIGRldi53My5vcmc6
MAogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0ODA3MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDE3IEBACiAyMDA5LTA5LTA0ICBZYWVsIEFoYXJvbiAg
PHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBob3N0bmFtZSBhbmQgaG9zdCBhcmUgbWl4ZWQgdXAgd2hlbiBtYW5p
cHVsYXRpbmcgYW5jaG9yIGVsZW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Mjg5NTQKKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2UgZm9yIHdo
ZW4gcG9ydCBpcyAwLgorCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9ob3N0bmFtZS1ob3N0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2hvc3RuYW1lLWhvc3Qu
aHRtbDoKKworMjAwOS0wOS0wNCAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+
CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCiAKICAgICAgICAgaG9zdG5hbWUg
YW5kIGhvc3QgYXJlIG1peGVkIHVwIHdoZW4gbWFuaXB1bGF0aW5nIGFuY2hvciBlbGVtZW50cy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>