<?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>83738</bug_id>
          
          <creation_ts>2012-04-11 18:46:12 -0700</creation_ts>
          <short_desc>Improve replaceUsingStringSearch() for case of a single character searchValue</short_desc>
          <delta_ts>2012-04-12 19:30:15 -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>JavaScriptCore</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>600793</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-11 18:46:12 -0700</bug_when>
    <thetext>Like for String.split(), we can take shortcuts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600810</commentid>
    <comment_count>1</comment_count>
      <attachid>136808</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-11 19:17:56 -0700</bug_when>
    <thetext>Created attachment 136808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601529</commentid>
    <comment_count>2</comment_count>
      <attachid>136808</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-04-12 14:16:57 -0700</bug_when>
    <thetext>Comment on attachment 136808
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601767</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-12 19:30:15 -0700</bug_when>
    <thetext>Committed r114072: &lt;http://trac.webkit.org/changeset/114072&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136808</attachid>
            <date>2012-04-11 19:17:56 -0700</date>
            <delta_ts>2012-04-12 14:16:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83738-20120411191755.patch</filename>
            <type>text/plain</type>
            <size>4831</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
YTVjOGRkOTYxZWJjNmM0ODE2ZGMzZjg4Yjk1ODUxNTBhNThhMGNiLi5iMTE3ZDg5NTVkMTUzY2Vm
ZTQ4NGMxMTk0NDU4NTAzZDU3ZmM2MzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0wNC0xMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXByb3ZlIHJlcGxhY2VVc2luZ1N0cmluZ1NlYXJjaCgpIGZvciBj
YXNlIG9mIGEgc2luZ2xlIGNoYXJhY3RlciBzZWFyY2hWYWx1ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIHJlcGxhY2VV
c2luZ1N0cmluZ1NlYXJjaCgpIHdpdGggdGhlIGZvbGxvd2luZzoKKyAgICAgICAgLUFkZCBhIHNw
ZWNpYWwgY2FzZSBmb3Igc2luZ2xlIGNoYXJhY3RlciBzZWFyY2gsIHRha2luZyBhZHZhbnRhZ2Ug
b2YgdGhlIGZhc3RlciBXVEY6OmZpbmQoKS4KKyAgICAgICAgLUlubGluZSByZXBsYWNlVXNpbmdT
dHJpbmdTZWFyY2goKS4KKyAgICAgICAgLVVzZSBTdHJpbmdJbXBsOjpjcmVhdGUoKSBpbnN0ZWFk
IG9mIFVTdHJpbmc6OnN1YnN0cmluZ1NoYXJpbmdJbXBsKCkgc2luY2Ugd2Uga25vdyB3ZSBhcmUg
aW4gdGhlIGJvdW5kcworICAgICAgICAgYnkgZGVmaW5pdGlvbi4KKworICAgICAgICBUaGlzIGdp
dmVzIGxlc3MgdGhhbiAxJSBpbXByb3ZlbWVudCBmb3IgdGhlIG11bHRpY2hhcmFjdGVyIHJlcGxh
Y2UuCisgICAgICAgIFRoZSBzaW5nbGUgY2hhcmFjdGVyIHNlYXJjaCBzaG93IGFib3V0IDklIGlt
cHJvdmVtZW50LgorCisgICAgICAgICogcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAg
ICAgICAoSlNDOjpyZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2gpOgorCiAyMDEyLTA0LTExICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgR2xvYmFsIHZhcmlhYmxlIHBy
ZWRpY3Rpb25zIHNob3VsZCBub3QgYmUgY29hbGVzY2VkIHVubmVjZXNzYXJpbHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCmluZGV4IGVi
YmI3NDhlMmFjYjk3YmQzMzU5NjE1MzRlYjU3ZDJjZTAwMzM0ODguLmYxMWU2NDFjYWE1OTdhMTNh
NmM2ZDlmYWUwYjFjOTU0NjEyOGRiNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcApAQCAtNjI1LDE0ICs2MjUsMjggQEAgc3RhdGlj
IE5FVkVSX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2goRXhl
Y1N0YXRlKiBleGVjLCBKU1MKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzU3BsaWNlU3Vi
c3RyaW5nc1dpdGhTZXBhcmF0b3JzKGV4ZWMsIHN0cmluZywgc291cmNlLCBzb3VyY2VSYW5nZXMu
ZGF0YSgpLCBzb3VyY2VSYW5nZXMuc2l6ZSgpLCByZXBsYWNlbWVudHMuZGF0YSgpLCByZXBsYWNl
bWVudHMuc2l6ZSgpKSk7CiB9CiAKLXN0YXRpYyBORVZFUl9JTkxJTkUgRW5jb2RlZEpTVmFsdWUg
cmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNoKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIGpzU3Ry
aW5nLCBKU1ZhbHVlIHNlYXJjaFZhbHVlLCBKU1ZhbHVlIHJlcGxhY2VWYWx1ZSkKK3N0YXRpYyBp
bmxpbmUgRW5jb2RlZEpTVmFsdWUgcmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNoKEV4ZWNTdGF0ZSog
ZXhlYywgSlNTdHJpbmcqIGpzU3RyaW5nLCBKU1ZhbHVlIHNlYXJjaFZhbHVlLCBKU1ZhbHVlIHJl
cGxhY2VWYWx1ZSkKIHsKICAgICBjb25zdCBVU3RyaW5nJiBzdHJpbmcgPSBqc1N0cmluZy0+dmFs
dWUoZXhlYyk7Ci0gICAgVVN0cmluZyBzZWFyY2hTdHJpbmcgPSBzZWFyY2hWYWx1ZS50b1N0cmlu
ZyhleGVjKS0+dmFsdWUoZXhlYyk7CisgICAgVVN0cmluZyBzZWFyY2hTdHJpbmcgPSBzZWFyY2hW
YWx1ZS50b1VTdHJpbmcoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCi0gICAgc2l6ZV90
IG1hdGNoU3RhcnQgPSBzdHJpbmcuZmluZChzZWFyY2hTdHJpbmcpOworICAgIHNpemVfdCBzZWFy
Y2hTdHJpbmdMZW5ndGggPSBzZWFyY2hTdHJpbmcubGVuZ3RoKCk7CisKKyAgICBzaXplX3QgbWF0
Y2hTdGFydDsKKyAgICBpZiAoc2VhcmNoU3RyaW5nTGVuZ3RoID09IDEpIHsKKyAgICAgICAgU3Ry
aW5nSW1wbCogc2VhcmNoU3RyaW5nSW1wbCA9IHNlYXJjaFN0cmluZy5pbXBsKCk7CisgICAgICAg
IFVDaGFyIHNlYXJjaENoYXJhY3RlcjsKKyAgICAgICAgaWYgKHNlYXJjaFN0cmluZ0ltcGwtPmlz
OEJpdCgpKQorICAgICAgICAgICAgc2VhcmNoQ2hhcmFjdGVyID0gc2VhcmNoU3RyaW5nSW1wbC0+
Y2hhcmFjdGVyczgoKVswXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VhcmNoQ2hhcmFj
dGVyID0gc2VhcmNoU3RyaW5nSW1wbC0+Y2hhcmFjdGVyczE2KClbMF07CisKKyAgICAgICAgbWF0
Y2hTdGFydCA9IHN0cmluZy5maW5kKHNlYXJjaENoYXJhY3Rlcik7CisgICAgfSBlbHNlCisgICAg
ICAgIG1hdGNoU3RhcnQgPSBzdHJpbmcuZmluZChzZWFyY2hTdHJpbmcpOworCiAgICAgaWYgKG1h
dGNoU3RhcnQgPT0gbm90Rm91bmQpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNT
dHJpbmcpOwogCkBAIC02NDAsNyArNjU0LDcgQEAgc3RhdGljIE5FVkVSX0lOTElORSBFbmNvZGVk
SlNWYWx1ZSByZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2goRXhlY1N0YXRlKiBleGVjLCBKU1MKICAg
ICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKHJlcGxhY2VWYWx1ZSwgY2FsbERhdGEp
OwogICAgIGlmIChjYWxsVHlwZSAhPSBDYWxsVHlwZU5vbmUpIHsKICAgICAgICAgTWFya2VkQXJn
dW1lbnRCdWZmZXIgYXJnczsKLSAgICAgICAgYXJncy5hcHBlbmQoanNTdWJzdHJpbmcoZXhlYywg
c3RyaW5nLCBtYXRjaFN0YXJ0LCBzZWFyY2hTdHJpbmcubGVuZ3RoKCkpKTsKKyAgICAgICAgYXJn
cy5hcHBlbmQoanNTdWJzdHJpbmcoZXhlYywgc3RyaW5nLCBtYXRjaFN0YXJ0LCBzZWFyY2hTdHJp
bmdMZW5ndGgpKTsKICAgICAgICAgYXJncy5hcHBlbmQoanNOdW1iZXIobWF0Y2hTdGFydCkpOwog
ICAgICAgICBhcmdzLmFwcGVuZChqc1N0cmluZyk7CiAgICAgICAgIHJlcGxhY2VWYWx1ZSA9IGNh
bGwoZXhlYywgcmVwbGFjZVZhbHVlLCBjYWxsVHlwZSwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCks
IGFyZ3MpOwpAQCAtNjQ4LDEzICs2NjIsMjAgQEAgc3RhdGljIE5FVkVSX0lOTElORSBFbmNvZGVk
SlNWYWx1ZSByZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2goRXhlY1N0YXRlKiBleGVjLCBKU1MKICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQog
Ci0gICAgVVN0cmluZyByZXBsYWNlU3RyaW5nID0gcmVwbGFjZVZhbHVlLnRvU3RyaW5nKGV4ZWMp
LT52YWx1ZShleGVjKTsKKyAgICBVU3RyaW5nIHJlcGxhY2VTdHJpbmcgPSByZXBsYWNlVmFsdWUu
dG9VU3RyaW5nKGV4ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAotICAgIHNpemVfdCBtYXRj
aEVuZCA9IG1hdGNoU3RhcnQgKyBzZWFyY2hTdHJpbmcubGVuZ3RoKCk7CisgICAgU3RyaW5nSW1w
bCogc3RyaW5nSW1wbCA9IHN0cmluZy5pbXBsKCk7CisgICAgVVN0cmluZyBsZWZ0UGFydChTdHJp
bmdJbXBsOjpjcmVhdGUoc3RyaW5nSW1wbCwgMCwgbWF0Y2hTdGFydCkpOworCisgICAgc2l6ZV90
IG1hdGNoRW5kID0gbWF0Y2hTdGFydCArIHNlYXJjaFN0cmluZ0xlbmd0aDsKICAgICBpbnQgb3Zl
Y3RvclsyXSA9IHsgbWF0Y2hTdGFydCwgIG1hdGNoRW5kfTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTQzo6anNTdHJpbmcoZXhlYywgc3RyaW5nLnN1YnN0cmluZ1NoYXJpbmdJbXBsKDAs
IG1hdGNoU3RhcnQpLCBzdWJzdGl0dXRlQmFja3JlZmVyZW5jZXMocmVwbGFjZVN0cmluZywgc3Ry
aW5nLCBvdmVjdG9yLCAwKSwgc3RyaW5nLnN1YnN0cmluZ1NoYXJpbmdJbXBsKG1hdGNoRW5kKSkp
OworICAgIFVTdHJpbmcgbWlkZGxlUGFydCA9IHN1YnN0aXR1dGVCYWNrcmVmZXJlbmNlcyhyZXBs
YWNlU3RyaW5nLCBzdHJpbmcsIG92ZWN0b3IsIDApOworCisgICAgc2l6ZV90IGxlZnRMZW5ndGgg
PSBzdHJpbmdJbXBsLT5sZW5ndGgoKSAtIG1hdGNoRW5kOworICAgIFVTdHJpbmcgcmlnaHRQYXJ0
KFN0cmluZ0ltcGw6OmNyZWF0ZShzdHJpbmdJbXBsLCBtYXRjaEVuZCwgbGVmdExlbmd0aCkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNDOjpqc1N0cmluZyhleGVjLCBsZWZ0UGFydCwg
bWlkZGxlUGFydCwgcmlnaHRQYXJ0KSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgc3RyaW5nUHJvdG9GdW5jUmVwbGFjZShFeGVjU3RhdGUqIGV4ZWMpCg==
</data>
<flag name="review"
          id="141711"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>