<?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>101104</bug_id>
          
          <creation_ts>2012-11-02 14:46:27 -0700</creation_ts>
          <short_desc>JSStringCreateWithCFString() Should create an 8 bit String if possible</short_desc>
          <delta_ts>2022-03-01 03:02:44 -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>WebKit API</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="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>757619</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-02 14:46:27 -0700</bug_when>
    <thetext>JSStringCreateWithCFString() uses CFStringGetCharacters() to get a pointer to the 16 bit character buffer for the argument CFString.  First we should try using CFStringGetBytes(..., kCFStringEncodingISOLatin1, ...) to get a Latin-1 8 bit character buffer if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758712</commentid>
    <comment_count>1</comment_count>
      <attachid>172366</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-05 11:09:50 -0800</bug_when>
    <thetext>Created attachment 172366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759779</commentid>
    <comment_count>2</comment_count>
      <attachid>172366</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-06 09:36:48 -0800</bug_when>
    <thetext>Comment on attachment 172366
Patch

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

&gt; Source/JavaScriptCore/API/JSStringRefCF.cpp:45
&gt; +        CFIndex usedBufLen;

How about a non-abbreviated version, usedBufferLength?

&gt; Source/JavaScriptCore/API/JSStringRefCF.cpp:46
&gt; +        CFIndex convertedsize = CFStringGetBytes(string, CFRangeMake(0, length), kCFStringEncodingISOLatin1, 0, false, lcharBuffer.data(), length, &amp;usedBufLen);

Typically we’d capitalize “size”.

&gt; Source/JavaScriptCore/API/JSStringRefCF.cpp:47
&gt; +        if ((static_cast&lt;size_t&gt;(convertedsize) == length) &amp;&amp; (static_cast&lt;size_t&gt;(usedBufLen) == length))

We normally wouldn’t use parentheses in an a == b &amp;&amp; c == d expression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760040</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-06 14:17:09 -0800</bug_when>
    <thetext>Committed r133672: &lt;http://trac.webkit.org/changeset/133672&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172366</attachid>
            <date>2012-11-05 11:09:50 -0800</date>
            <delta_ts>2022-03-01 03:02:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>101104.patch</filename>
            <type>text/plain</type>
            <size>1973</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMzNDk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTExLTA1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKCkgU2hvdWxkIGNyZWF0ZSBhbiA4IGJpdCBT
dHJpbmcgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMTEwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRyeSBjb252ZXJ0aW5nIHRoZSBDRlN0cmluZyB0byBhbiA4IGJpdCBzdHJpbmcg
dXNpbmcgQ0ZTdHJpbmdHZXRCeXRlcyguLi4sCisgICAgICAgIGtDRlN0cmluZ0VuY29kaW5nSVNP
TGF0aW4xLCAuLi4pIGFuZCByZXR1cm4gdGhlIDggYml0IHN0cmluZyBpZiBzdWNjZXNzZnVsLgor
ICAgICAgICBJZiBub3QgcHJvY2VlZCB3aXRoIDE2IGJpdCBjb252ZXJzaW9uLgorCisgICAgICAg
ICogQVBJL0pTU3RyaW5nUmVmQ0YuY3BwOgorICAgICAgICAoSlNTdHJpbmdDcmVhdGVXaXRoQ0ZT
dHJpbmcpOgorCiAyMDEyLTExLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgcmVmZXJyaW5nIHRvIFFOYU4gaW4gSmF2
YVNjcmlwdENvcmUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWZD
Ri5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1Jl
ZkNGLmNwcAkocmV2aXNpb24gMTMzMzc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U1N0cmluZ1JlZkNGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsMTIgQEAgSlNTdHJp
bmdSZWYgSlNTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmcoQwogICAgIC8vIGl0IGNhbiBob2xkLiAg
KDxyZGFyOi8vcHJvYmxlbS82ODA2NDc4PikKICAgICBzaXplX3QgbGVuZ3RoID0gQ0ZTdHJpbmdH
ZXRMZW5ndGgoc3RyaW5nKTsKICAgICBpZiAobGVuZ3RoKSB7CisgICAgICAgIFZlY3RvcjxMQ2hh
ciwgMTAyND4gbGNoYXJCdWZmZXIobGVuZ3RoKTsKKyAgICAgICAgQ0ZJbmRleCB1c2VkQnVmTGVu
OworICAgICAgICBDRkluZGV4IGNvbnZlcnRlZHNpemUgPSBDRlN0cmluZ0dldEJ5dGVzKHN0cmlu
ZywgQ0ZSYW5nZU1ha2UoMCwgbGVuZ3RoKSwga0NGU3RyaW5nRW5jb2RpbmdJU09MYXRpbjEsIDAs
IGZhbHNlLCBsY2hhckJ1ZmZlci5kYXRhKCksIGxlbmd0aCwgJnVzZWRCdWZMZW4pOworICAgICAg
ICBpZiAoKHN0YXRpY19jYXN0PHNpemVfdD4oY29udmVydGVkc2l6ZSkgPT0gbGVuZ3RoKSAmJiAo
c3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkQnVmTGVuKSA9PSBsZW5ndGgpKQorICAgICAgICAgICAg
cmV0dXJuIE9wYXF1ZUpTU3RyaW5nOjpjcmVhdGUobGNoYXJCdWZmZXIuZGF0YSgpLCBsZW5ndGgp
LmxlYWtSZWYoKTsKKwogICAgICAgICBPd25BcnJheVB0cjxVbmlDaGFyPiBidWZmZXIgPSBhZG9w
dEFycmF5UHRyKG5ldyBVbmlDaGFyW2xlbmd0aF0pOwogICAgICAgICBDRlN0cmluZ0dldENoYXJh
Y3RlcnMoc3RyaW5nLCBDRlJhbmdlTWFrZSgwLCBsZW5ndGgpLCBidWZmZXIuZ2V0KCkpOwogICAg
ICAgICBDT01QSUxFX0FTU0VSVChzaXplb2YoVW5pQ2hhcikgPT0gc2l6ZW9mKFVDaGFyKSwgdW5p
Y2hhcl9hbmRfdWNoYXJfbXVzdF9iZV9zYW1lX3NpemUpOwo=
</data>
<flag name="review"
          id="186647"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>