<?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>67277</bug_id>
          
          <creation_ts>2011-08-31 03:46:40 -0700</creation_ts>
          <short_desc>REGRESSION (r94132): broke fast/loader/location-port.html on GTK</short_desc>
          <delta_ts>2011-11-03 03:01:01 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>danw</cc>
    
    <cc>groby</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit.devdatta</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>459543</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-08-31 03:46:40 -0700</bug_when>
    <thetext>Diff:

7 PASS: internalFrame.contentWindow.location.host should be :0 and is.
 7FAIL: internalFrame.contentWindow.location.host should be :0 but instead is .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459544</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-08-31 03:52:35 -0700</bug_when>
    <thetext>Skipped in http://trac.webkit.org/changeset/94173</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459649</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-08-31 08:38:48 -0700</bug_when>
    <thetext>Rachel or Adam, maybe you have some insight into why this test is failing on GTK+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459695</commentid>
    <comment_count>3</comment_count>
    <who name="Rachel Blum">groby</who>
    <bug_when>2011-08-31 10:18:50 -0700</bug_when>
    <thetext>I&apos;m not quite sure why this would be happening - GTK uses KURL as-is for URL parsing as I read it. (Please correct if I&apos;m wrong there)

I&apos;ll try to scrounge up a GTK build environment so I can repro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459882</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-31 13:50:07 -0700</bug_when>
    <thetext>Interesting.  If this test is using crazy unicode characters, I think we&apos;ve noticed that Gtk has different unicode error handling in some cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460691</commentid>
    <comment_count>5</comment_count>
    <who name="Rachel Blum">groby</who>
    <bug_when>2011-09-01 12:29:53 -0700</bug_when>
    <thetext>The test is not using any unicode characters. All it is doing is setting the port property on location.

Local builds of GTK work fine both for me and mrobinson - only the bots fail on that. I believe mrobinson is looking at that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460701</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-09-01 12:39:22 -0700</bug_when>
    <thetext>I was able to reproduce this failure locally (i don&apos;t recall if it was on a Release or Debug build) and reverting that change had the effect to make the test pass again. I&apos;ll try again tomorrow!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462113</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-09-05 04:55:27 -0700</bug_when>
    <thetext>I guess I missed something but I don&apos;t see how the test can pass in the first place, with and without the change to Location.cpp :(

I wonder why the failure happens only in GTK, I reverted the change to Location.cpp and the test still fails, which makes me think of a bug in the KURL parsing code. KURL::parse() is a bit scary but I&apos;ll try to hunt the possible bug down...

To sum up, the bug is that setting port to 0 on a file url, hostname becomes empty string instead of &quot;:0&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463766</commentid>
    <comment_count>8</comment_count>
    <who name="Rachel Blum">groby</who>
    <bug_when>2011-09-07 16:39:41 -0700</bug_when>
    <thetext>pnormand: Keep in mind that it passes for Safari, which uses KURL unmodified. Also, mrobinson and I ran it on our local machines and saw the tests pass, too.

::parse treats all consecutive digits in the port field as port number, so setting to 0 should work fine. (And setPort doesn&apos;t have any exception for port 0)

Could you elaborate why you think the test shouldn&apos;t be able to pass at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463940</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-09-08 00:24:59 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; pnormand: Keep in mind that it passes for Safari, which uses KURL unmodified. Also, mrobinson and I ran it on our local machines and saw the tests pass, too.
&gt; 

Did you unskip it before running it? Because I noticed that if a test is skipped and I try to run it directly with run-webkit-tests it will just be ignored. This is a new behavior compared to old-run-webkit-tests, I think.

&gt; ::parse treats all consecutive digits in the port field as port number, so setting to 0 should work fine. (And setPort doesn&apos;t have any exception for port 0)
&gt; 
&gt; Could you elaborate why you think the test shouldn&apos;t be able to pass at all?

the bug is that setting port to 0 on a file url, hostname becomes empty string instead of &quot;:0&quot;. Location::host() returns:

return url.hasPort() ? url.host() + &quot;:&quot; + String::number(url.port()) : url.host();

In the location-port.html test, when port is set to 0, it is expected for host to become &quot;:0&quot;:

in checkTest3(): internalFrame.contentWindow.location.port = 0;
in checkTest4(): shouldBe(&apos;internalFrame.contentWindow.location.host&apos;, &apos;:0&apos;);

But this is not what I observe locally :/
Oh, well. I guess I&apos;m just becoming crazy ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488323</commentid>
    <comment_count>10</comment_count>
      <attachid>111947</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-10-21 05:08:38 -0700</bug_when>
    <thetext>Created attachment 111947
Patch

This seems to be an issue with libSoup API. If port is 0, it is not explicitly specified in SoupURI.
&lt;http://maemo.org/api_refs/5.0/5.0-final/libsoup-2.4/libsoup-24-SoupURI.html#soup-uri-set-port&gt;

Hence adding an explicit check for the port before updating ResourceRequest with SoupMessage fixes this issue.

I have attached the patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488327</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-21 05:11:11 -0700</bug_when>
    <thetext>Attachment 111947 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1

Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp:95:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488344</commentid>
    <comment_count>12</comment_count>
      <attachid>111957</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-10-21 06:15:09 -0700</bug_when>
    <thetext>Created attachment 111957
Patch after fixing style error

Fixed the style error.

Ideally, removing following statement should also fix this issue:
    m_url = soupURIToKURL(soup_message_get_uri(soupMessage));

I am not sure if soupURIToKURL is required, as m_url is already set in ResourceRequest. Any thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493886</commentid>
    <comment_count>13</comment_count>
      <attachid>111957</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-01 06:58:48 -0700</bug_when>
    <thetext>Comment on attachment 111957
Patch after fixing style error

I think it would be better to handle this in soupURIToKURL by looking up the port part of the SoupURI nad setting it on the new KURL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494497</commentid>
    <comment_count>14</comment_count>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-11-02 01:31:03 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 111957 [details])
&gt; I think it would be better to handle this in soupURIToKURL by looking up the port part of the SoupURI nad setting it on the new KURL.

The port part of SoupURI is by default 0, i.e. even if a port is not specified.

For example, consider following two URLs:
1. file:///:0/home/code/WebKit/LayoutTests/fast/loader/location-port.html
2. file:///home/code/WebKit/LayoutTests/fast/loader/location-port.html

In both the cases soup_uri_to_string would return URL #2 and port as 0. 
Whereas, for case #1 KURL will return port as 0 and KURL::hasPort would return true and for case #2 port is 0 and KURL::hasPort returns false.

Thus I don&apos;t think we can figure out if a port is set to 0 from SoupURI. So if we try to handle it in soupURIToKURL, test case #2 fails in location-port.html
i.e. shouldBe(&apos;internalFrame.contentWindow.location.port == &quot;&quot;&apos;, true);

As mentioned earlier, we should not be setting m_url again in ResourceRequest::updateFromSoupMessage as it is already filled. It is ok to do so in ResourceResponse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494647</commentid>
    <comment_count>15</comment_count>
      <attachid>111957</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-02 09:11:04 -0700</bug_when>
    <thetext>Comment on attachment 111957
Patch after fixing style error

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

This is an okay work-around for now, but the real fix should be in libsoup.

&gt; Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp:97
&gt; +    bool hasPort = m_url.hasPort();
&gt; +    unsigned short port = m_url.port();
&gt;      m_url = soupURIToKURL(soup_message_get_uri(soupMessage));
&gt;  
&gt; +    // If port is 0, SoupURI does not have an explicitly specified port.
&gt; +    // By default the port in KURL is 0, hence hasPort is used to determine if
&gt; +    // a port was explicitly specified.
&gt; +    if (hasPort &amp;&amp; !port)
&gt; +        m_url.setPort(port);
&gt; +

I think it would be clearer here to do:
bool shouldPortBeResetToZero = m_url.hasPort() &amp;&amp; !m_url.port();
m_url = soupURIToKURL(soup_message_get_uri(soupMessage));

// SoupURI cannot differeniate between an explicitly specified port 0 and no port specified.
if (shouldPortBeResetToZero)
    m_url.setPort(0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494649</commentid>
    <comment_count>16</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-02 09:11:42 -0700</bug_when>
    <thetext>CC&apos;d Dan, who might hvae another opinion on the matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494712</commentid>
    <comment_count>17</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2011-11-02 10:30:33 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; This is an okay work-around for now, but the real fix should be in libsoup.

It would be possible to patch SoupURI so that it remembered when a 0 was explicitly specified vs when it&apos;s using it to mean &quot;unspecified port&quot;.

But keep in mind that no real-world URI would ever use port 0, since it&apos;s not possible to set up a listening server on that port since bind() treats 0 as meaning &quot;pick a random port&quot;. So the code is really only going to get used for this one test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494718</commentid>
    <comment_count>18</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-02 10:39:19 -0700</bug_when>
    <thetext>(In reply to comment #17)

&gt; But keep in mind that no real-world URI would ever use port 0, since it&apos;s not possible to set up a listening server on that port since bind() treats 0 as meaning &quot;pick a random port&quot;. So the code is really only going to get used for this one test case.

Okay. Seems fine to keep this work-around in WebKit then, since it&apos;s not really useful to the rest of the libsoup users in the world.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495281</commentid>
    <comment_count>19</comment_count>
      <attachid>113444</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-11-03 02:27:04 -0700</bug_when>
    <thetext>Created attachment 113444
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495299</commentid>
    <comment_count>20</comment_count>
      <attachid>113444</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 03:00:55 -0700</bug_when>
    <thetext>Comment on attachment 113444
Updated patch

Clearing flags on attachment: 113444

Committed r99157: &lt;http://trac.webkit.org/changeset/99157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495300</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 03:01:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111947</attachid>
            <date>2011-10-21 05:08:38 -0700</date>
            <delta_ts>2011-10-21 06:15:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>3139</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCShyZXZpc2lvbiA5NzcyMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xNjM5LDkgKzE2
MzksNiBAQAogIyBOZWVkIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNob3VsZFN0YXlPblBhZ2VB
ZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkCiBmYXN0L2xvYWRlci9mb3JtLXN1Ym1pc3Npb24tYWZ0
ZXItYmVmb3JldW5sb2FkLWNhbmNlbC5odG1sCiAKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3Mjc3Ci1mYXN0L2xvYWRlci9sb2NhdGlvbi1wb3J0Lmh0bWwKLQog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTgKIHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L2NvbWJvLWJveC1jb2xsYXBzZWQtc2VsZWN0aW9uLWNoYW5nZWQu
aHRtbAogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5o
dG1sCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODA5MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTEwLTIxICBEZXZkYXR0YSBEZXNo
cGFuZGUgIDxwd2pkNzNAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHI5NDEz
Mik6IGJyb2tlIGZhc3QvbG9hZGVyL2xvY2F0aW9uLXBvcnQuaHRtbCBvbiBHVEsgCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI3NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvbG9jYXRpb24tcG9ydC5odG1sIGZyb20gU2tpcHBlZCB0ZXN0cworICAg
ICAgICBmb3IgR1RLCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAxMS0x
MC0yMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtR
dF0gMiBpbnNwZWN0b3IvZXh0ZW5zaW9ucyB0ZXN0cyB0aW1lcyBvdXQgb24gTWFjIGFuZCBsaW51
eCBhZnRlciByOTc4NTAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4MDkzKQorKysgU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEt
MTAtMjEgIERldmRhdHRhIERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTiAocjk0MTMyKTogYnJva2UgZmFzdC9sb2FkZXIvbG9jYXRpb24tcG9ydC5o
dG1sIG9uIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjcyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBwb3J0IGlzIDAsIFNvdXBVUkkgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IHNwZWNp
ZmllZCBwb3J0LiBEdWUKKyAgICAgICAgdG8gdGhpcyBwb3J0IHZhbHVlIGlzIGlnbm9yZWQgaW4g
U291cFVSSS4gSGVuY2UsIGFuIGV4dHJhIGNoZWNrIGlzCisgICAgICAgIHJlcXVpcmVkIHRvIHJl
c3RvcmUgdGhlIHBvcnQuCisKKyAgICAgICAgVGVzdDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
bG9jYXRpb24tcG9ydC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VSZXF1ZXN0U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZSk6CisKIDIwMTEtMTAtMjAgIEFuZHJleSBLb3N5YWtvdiAg
PGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBtYWtlIGV4dGVu
c2lvbiB0ZXN0cyBwYXNzIG9uIGNocm9taXVtCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3Bw
CShyZXZpc2lvbiA5NzcyMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsOCArODUsMTYg
QEAKIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZShTb3VwTWVz
c2FnZSogc291cE1lc3NhZ2UpCiB7CisgICAgYm9vbCBoYXNQb3J0ID0gbV91cmwuaGFzUG9ydCgp
OworICAgIHVuc2lnbmVkIHNob3J0IHBvcnQgPSBtX3VybC5wb3J0KCk7CiAgICAgbV91cmwgPSBz
b3VwVVJJVG9LVVJMKHNvdXBfbWVzc2FnZV9nZXRfdXJpKHNvdXBNZXNzYWdlKSk7CiAKKyAgICAv
LyBJZiBwb3J0IGlzIDAsIFNvdXBVUkkgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IHNwZWNp
ZmllZCBwb3J0LgorICAgIC8vIEJ5IGRlZmF1bHQgdGhlIHBvcnQgaW4gS1VSTCBpcyAwLCBoZW5j
ZSBoYXNQb3J0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmCisgICAgLy8gYSBwb3J0IHdhcyBleHBs
aWNpdGx5IHNwZWNpZmllZC4KKyAgICBpZiAoaGFzUG9ydCAmJiBwb3J0ID09IDApCisgICAgICAg
IG1fdXJsLnNldFBvcnQocG9ydCk7CisKICAgICBtX2h0dHBNZXRob2QgPSBTdHJpbmc6OmZyb21V
VEY4KHNvdXBNZXNzYWdlLT5tZXRob2QpOwogCiAgICAgbV9odHRwSGVhZGVyRmllbGRzLmNsZWFy
KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111957</attachid>
            <date>2011-10-21 06:15:09 -0700</date>
            <delta_ts>2011-11-03 02:27:04 -0700</delta_ts>
            <desc>Patch after fixing style error</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>3135</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCShyZXZpc2lvbiA5NzcyMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xNjM5LDkgKzE2
MzksNiBAQAogIyBOZWVkIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNob3VsZFN0YXlPblBhZ2VB
ZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkCiBmYXN0L2xvYWRlci9mb3JtLXN1Ym1pc3Npb24tYWZ0
ZXItYmVmb3JldW5sb2FkLWNhbmNlbC5odG1sCiAKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3Mjc3Ci1mYXN0L2xvYWRlci9sb2NhdGlvbi1wb3J0Lmh0bWwKLQog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTgKIHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L2NvbWJvLWJveC1jb2xsYXBzZWQtc2VsZWN0aW9uLWNoYW5nZWQu
aHRtbAogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5o
dG1sCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODA5MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTEwLTIxICBEZXZkYXR0YSBEZXNo
cGFuZGUgIDxwd2pkNzNAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHI5NDEz
Mik6IGJyb2tlIGZhc3QvbG9hZGVyL2xvY2F0aW9uLXBvcnQuaHRtbCBvbiBHVEsgCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI3NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvbG9jYXRpb24tcG9ydC5odG1sIGZyb20gU2tpcHBlZCB0ZXN0cworICAg
ICAgICBmb3IgR1RLCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAxMS0x
MC0yMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtR
dF0gMiBpbnNwZWN0b3IvZXh0ZW5zaW9ucyB0ZXN0cyB0aW1lcyBvdXQgb24gTWFjIGFuZCBsaW51
eCBhZnRlciByOTc4NTAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4MDkzKQorKysgU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEt
MTAtMjEgIERldmRhdHRhIERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTiAocjk0MTMyKTogYnJva2UgZmFzdC9sb2FkZXIvbG9jYXRpb24tcG9ydC5o
dG1sIG9uIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjcyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBwb3J0IGlzIDAsIFNvdXBVUkkgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IHNwZWNp
ZmllZCBwb3J0LiBEdWUKKyAgICAgICAgdG8gdGhpcyBwb3J0IHZhbHVlIGlzIGlnbm9yZWQgaW4g
U291cFVSSS4gSGVuY2UsIGFuIGV4dHJhIGNoZWNrIGlzCisgICAgICAgIHJlcXVpcmVkIHRvIHJl
c3RvcmUgdGhlIHBvcnQuCisKKyAgICAgICAgVGVzdDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
bG9jYXRpb24tcG9ydC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VSZXF1ZXN0U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZSk6CisKIDIwMTEtMTAtMjAgIEFuZHJleSBLb3N5YWtvdiAg
PGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBtYWtlIGV4dGVu
c2lvbiB0ZXN0cyBwYXNzIG9uIGNocm9taXVtCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3Bw
CShyZXZpc2lvbiA5NzcyMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsOCArODUsMTYg
QEAKIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZShTb3VwTWVz
c2FnZSogc291cE1lc3NhZ2UpCiB7CisgICAgYm9vbCBoYXNQb3J0ID0gbV91cmwuaGFzUG9ydCgp
OworICAgIHVuc2lnbmVkIHNob3J0IHBvcnQgPSBtX3VybC5wb3J0KCk7CiAgICAgbV91cmwgPSBz
b3VwVVJJVG9LVVJMKHNvdXBfbWVzc2FnZV9nZXRfdXJpKHNvdXBNZXNzYWdlKSk7CiAKKyAgICAv
LyBJZiBwb3J0IGlzIDAsIFNvdXBVUkkgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IHNwZWNp
ZmllZCBwb3J0LgorICAgIC8vIEJ5IGRlZmF1bHQgdGhlIHBvcnQgaW4gS1VSTCBpcyAwLCBoZW5j
ZSBoYXNQb3J0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmCisgICAgLy8gYSBwb3J0IHdhcyBleHBs
aWNpdGx5IHNwZWNpZmllZC4KKyAgICBpZiAoaGFzUG9ydCAmJiAhcG9ydCkKKyAgICAgICAgbV91
cmwuc2V0UG9ydChwb3J0KTsKKwogICAgIG1faHR0cE1ldGhvZCA9IFN0cmluZzo6ZnJvbVVURjgo
c291cE1lc3NhZ2UtPm1ldGhvZCk7CiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuY2xlYXIoKTsK
</data>
<flag name="review"
          id="109909"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113444</attachid>
            <date>2011-11-03 02:27:04 -0700</date>
            <delta_ts>2011-11-03 03:00:55 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>Patch2</filename>
            <type>text/plain</type>
            <size>3166</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MTUyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTEtMDMgIERldmRhdHRh
IERlc2hwYW5kZSAgPHdlYmtpdC5kZXZkYXR0YUBnbWFpbC5jb20+CisKKyAgICAgICAgUkVHUkVT
U0lPTiAocjk0MTMyKTogYnJva2UgZmFzdC9sb2FkZXIvbG9jYXRpb24tcG9ydC5odG1sIG9uIEdU
SworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBwb3J0
IGlzIDAsIFNvdXBVUkkgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IHNwZWNpZmllZCBwb3J0
LiBEdWUKKyAgICAgICAgdG8gdGhpcyBwb3J0IHZhbHVlIGlzIGlnbm9yZWQgaW4gU291cFVSSS4g
SGVuY2UsIGFuIGV4dHJhIGNoZWNrIGlzCisgICAgICAgIHJlcXVpcmVkIHRvIHJlc3RvcmUgdGhl
IHBvcnQuCisKKyAgICAgICAgVGVzdDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvbG9jYXRpb24t
cG9ydC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1
ZXN0U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZy
b21Tb3VwTWVzc2FnZSk6CisKIDIwMTEtMTEtMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBbGxvdyB0aGUgdG9vbGJhciBi
YWNrZ3JvdW5kIHRvIGJlIHRyYW5zcGFyZW50IG9uIG1hYyBwbGF0Zm9ybXMgd2hlbiByZW1vdGUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVl
c3RTb3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAJKHJldmlzaW9uIDk5MTM5KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04NSw4ICs4NSwxNCBAQCBTb3VwTWVzc2FnZSogUmVzb3VyY2VSZXF1
ZXN0Ojp0b1NvdXBNZXNzCiAKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9tU291cE1l
c3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogeworICAgIGJvb2wgc2hvdWxkUG9ydEJl
UmVzZXRUb1plcm8gPSBtX3VybC5oYXNQb3J0KCkgJiYgIW1fdXJsLnBvcnQoKTsKICAgICBtX3Vy
bCA9IHNvdXBVUklUb0tVUkwoc291cF9tZXNzYWdlX2dldF91cmkoc291cE1lc3NhZ2UpKTsKIAor
ICAgIC8vIFNvdXBVUkkgY2Fubm90IGRpZmZlcmVuaWF0ZSBiZXR3ZWVuIGFuIGV4cGxpY2l0bHkg
c3BlY2lmaWVkIHBvcnQgMCBhbmQKKyAgICAvLyBubyBwb3J0IHNwZWNpZmllZC4KKyAgICBpZiAo
c2hvdWxkUG9ydEJlUmVzZXRUb1plcm8pCisgICAgICAgIG1fdXJsLnNldFBvcnQoMCk7CisKICAg
ICBtX2h0dHBNZXRob2QgPSBTdHJpbmc6OmZyb21VVEY4KHNvdXBNZXNzYWdlLT5tZXRob2QpOwog
CiAgICAgbV9odHRwSGVhZGVyRmllbGRzLmNsZWFyKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTE1
MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDExLTExLTAzICBEZXZkYXR0YSBEZXNocGFuZGUgIDx3ZWJraXQuZGV2ZGF0dGFAZ21h
aWwuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHI5NDEzMik6IGJyb2tlIGZhc3QvbG9hZGVy
L2xvY2F0aW9uLXBvcnQuaHRtbCBvbiBHVEsgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzI3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvbG9jYXRp
b24tcG9ydC5odG1sIGZyb20gU2tpcHBlZCB0ZXN0cworICAgICAgICBmb3IgR1RLCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAxMS0xMS0wMiAgRmlsaXAgUGl6bG8gIDxm
cGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERGRyBpbmxpbmluZyBicmVha3MgZnVuY3Rpb24u
YXJndW1lbnRzW3NvbWV0aGluZ10gaWYgdGhlIGFyZ3VtZW50IGJlaW5nCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gOTkxMzkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTU5MSw5ICsxNTkxLDYgQEAgZmFzdC9o
YXJuZXNzL3NhbXBsZS1mYWlsLW1pc21hdGNoLXJlZnRlcwogIyBOZWVkIGxheW91dFRlc3RDb250
cm9sbGVyLnNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkCiBmYXN0
L2xvYWRlci9mb3JtLXN1Ym1pc3Npb24tYWZ0ZXItYmVmb3JldW5sb2FkLWNhbmNlbC5odG1sCiAK
LSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mjc3Ci1mYXN0L2xv
YWRlci9sb2NhdGlvbi1wb3J0Lmh0bWwKLQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjczOTgKIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2NvbWJvLWJveC1j
b2xsYXBzZWQtc2VsZWN0aW9uLWNoYW5nZWQuaHRtbAogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>