<?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>73950</bug_id>
          
          <creation_ts>2011-12-06 14:01:25 -0800</creation_ts>
          <short_desc>r102146 from 73875 broke fast/js/encode-URI-test.html</short_desc>
          <delta_ts>2011-12-06 14:42:25 -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>JavaScriptCore</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>
          
          <blocked>73875</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>516226</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-12-06 14:01:25 -0800</bug_when>
    <thetext>Changeset r102146: &lt;http://trac.webkit.org/changeset/102146&gt; from https://bugs.webkit.org/show_bug.cgi?id=73875 &quot;Add 8 bit paths to global object functions&quot; causes fast/js/encode-URI-test.html to fail with the message 

--- /Volumes/Data/slave/snowleopard-intel-release-tests/build/layout-test-results/fast/js/encode-URI-test-expected.txt 
+++ /Volumes/Data/slave/snowleopard-intel-release-tests/build/layout-test-results/fast/js/encode-URI-test-actual.txt 
@@ -1,1 +1,3 @@
-Testing complete. No failures.
+called unescape on &quot;%uxxxx&quot; and got &quot;uxxxx&quot; instead of &quot;%uxxxx&quot;
+
+Testing complete. 1 tests failed.

The failure is due to the inner if () failing on line 653:

651:            const LChar* c = characters + k;
652:            if (c[0] == &apos;%&apos; &amp;&amp; k &lt;= len - 6 &amp;&amp; c[1] == &apos;u&apos;) {
653: ==&gt;            if (isASCIIHexDigit(c[2]) &amp;&amp; isASCIIHexDigit(c[3]) &amp;&amp; isASCIIHexDigit(c[4]) &amp;&amp; isASCIIHexDigit(c[5])) {
654:                    builder.append(Lexer&lt;UChar&gt;::convertUnicode(c[2], c[3], c[4], c[5]));
655:                    k += 5;
656:                }
657:            } else if (c[0] == &apos;%&apos; &amp;&amp; k &lt;= len - 3 &amp;&amp; isASCIIHexDigit(c[1]) &amp;&amp; isASCIIHexDigit(c[2])) {
658:                builder.append(Lexer&lt;LChar&gt;::convertHex(c[1], c[2]));
659:                k += 2;
660:            } else
661:                builder.append(*c);
662:            k++;
663:        }        

When that if fails, as in the case of the string &quot;%uxxxx&quot;, the percent does not get written out.

Patch in progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516255</commentid>
    <comment_count>1</comment_count>
      <attachid>118112</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-12-06 14:27:26 -0800</bug_when>
    <thetext>Created attachment 118112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516268</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-12-06 14:42:25 -0800</bug_when>
    <thetext>Committed r102182: &lt;http://trac.webkit.org/changeset/102182&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118112</attachid>
            <date>2011-12-06 14:27:26 -0800</date>
            <delta_ts>2011-12-06 14:37:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>73950.patch</filename>
            <type>text/plain</type>
            <size>3379</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAyMTc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDExLTEyLTA2ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIHIxMDIxNDYgZnJvbSA3Mzg3NSBicm9rZSBmYXN0L2pzL2VuY29kZS1VUkktdGVzdC5odG1s
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Omdsb2JhbEZ1bmNV
bmVzY2FwZSk6IFJlc3RydWN0dXJlZCB0byBoYW5kbGUKKyAgICAgICAgdGhlICV1SEhISCBjYXNl
IHRvIG91dHB1dCB0aGUgcmVzdWx0aW5nIGNoYXJhY3RlcgorICAgICAgICBhbmQgY29udGludWUg
c28gdGhhdCBhIGZhaWx1cmUgaW4gZmluZGluZyA0IGhleAorICAgICAgICBkaWdpdHMgd2lsbCBm
YWxsIHRocm91Z2ggYW5kIG91dHB1dCB0aGUgJyUnLgorICAgICAgICBEdWUgdG8gc3R5bGUgY2hl
Y2ssIGNoYW5nZWQgdGhlIHRlbXBvcmFyeQorICAgICAgICBjaGFyYWN0ZXIgdmFyaWFibGUgdG8g
YSBtb3JlIGRlc2NyaXB0aXZlIG5hbWUuCisKIDIwMTEtMTItMDYgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBHQyB6YXBwaW5nIGxvZ2ljIGNvdWxkIGJlbmVmaXQg
ZnJvbSBzb21lIG1vcmUgYXNzZXJ0aW9ucwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAkocmV2aXNp
b24gMTAyMTQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NDYsMTkgKzY0NiwyMSBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNVCiAgICAgCiAgICAgaWYgKHN0ci5p
czhCaXQoKSkgewogICAgICAgICBjb25zdCBMQ2hhciogY2hhcmFjdGVycyA9IHN0ci5jaGFyYWN0
ZXJzOCgpOwotCisgICAgICAgIExDaGFyIGNvbnZlcnRlZExDaGFyOwogICAgICAgICB3aGlsZSAo
ayA8IGxlbikgewogICAgICAgICAgICAgY29uc3QgTENoYXIqIGMgPSBjaGFyYWN0ZXJzICsgazsK
ICAgICAgICAgICAgIGlmIChjWzBdID09ICclJyAmJiBrIDw9IGxlbiAtIDYgJiYgY1sxXSA9PSAn
dScpIHsKICAgICAgICAgICAgICAgICBpZiAoaXNBU0NJSUhleERpZ2l0KGNbMl0pICYmIGlzQVND
SUlIZXhEaWdpdChjWzNdKSAmJiBpc0FTQ0lJSGV4RGlnaXQoY1s0XSkgJiYgaXNBU0NJSUhleERp
Z2l0KGNbNV0pKSB7CiAgICAgICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKExleGVyPFVD
aGFyPjo6Y29udmVydFVuaWNvZGUoY1syXSwgY1szXSwgY1s0XSwgY1s1XSkpOwotICAgICAgICAg
ICAgICAgICAgICBrICs9IDU7CisgICAgICAgICAgICAgICAgICAgIGsgKz0gNjsKKyAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBl
bHNlIGlmIChjWzBdID09ICclJyAmJiBrIDw9IGxlbiAtIDMgJiYgaXNBU0NJSUhleERpZ2l0KGNb
MV0pICYmIGlzQVNDSUlIZXhEaWdpdChjWzJdKSkgewotICAgICAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKExleGVyPExDaGFyPjo6Y29udmVydEhleChjWzFdLCBjWzJdKSk7CisgICAgICAgICAg
ICAgICAgY29udmVydGVkTENoYXIgPSBMQ2hhcihMZXhlcjxMQ2hhcj46OmNvbnZlcnRIZXgoY1sx
XSwgY1syXSkpOworICAgICAgICAgICAgICAgIGMgPSAmY29udmVydGVkTENoYXI7CiAgICAgICAg
ICAgICAgICAgayArPSAyOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoKmMpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnVpbGRlci5hcHBl
bmQoKmMpOwogICAgICAgICAgICAgaysrOwogICAgICAgICB9ICAgICAgICAKICAgICB9IGVsc2Ug
ewpAQCAtNjY2LDE2ICs2NjgsMTYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9i
YWxGdW5jVQogCiAgICAgICAgIHdoaWxlIChrIDwgbGVuKSB7CiAgICAgICAgICAgICBjb25zdCBV
Q2hhciogYyA9IGNoYXJhY3RlcnMgKyBrOwotICAgICAgICAgICAgVUNoYXIgdTsKKyAgICAgICAg
ICAgIFVDaGFyIGNvbnZlcnRlZFVDaGFyOwogICAgICAgICAgICAgaWYgKGNbMF0gPT0gJyUnICYm
IGsgPD0gbGVuIC0gNiAmJiBjWzFdID09ICd1JykgewogICAgICAgICAgICAgICAgIGlmIChpc0FT
Q0lJSGV4RGlnaXQoY1syXSkgJiYgaXNBU0NJSUhleERpZ2l0KGNbM10pICYmIGlzQVNDSUlIZXhE
aWdpdChjWzRdKSAmJiBpc0FTQ0lJSGV4RGlnaXQoY1s1XSkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgdSA9IExleGVyPFVDaGFyPjo6Y29udmVydFVuaWNvZGUoY1syXSwgY1szXSwgY1s0XSwgY1s1
XSk7Ci0gICAgICAgICAgICAgICAgICAgIGMgPSAmdTsKKyAgICAgICAgICAgICAgICAgICAgY29u
dmVydGVkVUNoYXIgPSBMZXhlcjxVQ2hhcj46OmNvbnZlcnRVbmljb2RlKGNbMl0sIGNbM10sIGNb
NF0sIGNbNV0pOworICAgICAgICAgICAgICAgICAgICBjID0gJmNvbnZlcnRlZFVDaGFyOwogICAg
ICAgICAgICAgICAgICAgICBrICs9IDU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fSBlbHNlIGlmIChjWzBdID09ICclJyAmJiBrIDw9IGxlbiAtIDMgJiYgaXNBU0NJSUhleERpZ2l0
KGNbMV0pICYmIGlzQVNDSUlIZXhEaWdpdChjWzJdKSkgewotICAgICAgICAgICAgICAgIHUgPSBV
Q2hhcihMZXhlcjxVQ2hhcj46OmNvbnZlcnRIZXgoY1sxXSwgY1syXSkpOwotICAgICAgICAgICAg
ICAgIGMgPSAmdTsKKyAgICAgICAgICAgICAgICBjb252ZXJ0ZWRVQ2hhciA9IFVDaGFyKExleGVy
PFVDaGFyPjo6Y29udmVydEhleChjWzFdLCBjWzJdKSk7CisgICAgICAgICAgICAgICAgYyA9ICZj
b252ZXJ0ZWRVQ2hhcjsKICAgICAgICAgICAgICAgICBrICs9IDI7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBrKys7Cg==
</data>
<flag name="review"
          id="117763"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>