<?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>43765</bug_id>
          
          <creation_ts>2010-08-09 20:02:16 -0700</creation_ts>
          <short_desc>SegmentedString should keep track of how many characters it consumes</short_desc>
          <delta_ts>2010-08-10 16:47:24 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>43746</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>262459</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-09 20:02:16 -0700</bug_when>
    <thetext>SegmentedString should keep track of how many characters it consumes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262460</commentid>
    <comment_count>1</comment_count>
      <attachid>63967</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-09 20:06:24 -0700</bug_when>
    <thetext>Created attachment 63967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262463</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-09 20:09:07 -0700</bug_when>
    <thetext>This facility will be used to implement view-source in Bug 43746.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262531</commentid>
    <comment_count>3</comment_count>
      <attachid>63967</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-10 00:33:59 -0700</bug_when>
    <thetext>Comment on attachment 63967
Patch

This looks sane.  I assume you perf tested this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262533</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-10 00:38:07 -0700</bug_when>
    <thetext>The pref testing shows a minor increase, either due to noise or improve use of cache lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262905</commentid>
    <comment_count>5</comment_count>
      <attachid>63967</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-10 16:47:19 -0700</bug_when>
    <thetext>Comment on attachment 63967
Patch

Clearing flags on attachment: 63967

Committed r65100: &lt;http://trac.webkit.org/changeset/65100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262906</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-10 16:47:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63967</attachid>
            <date>2010-08-09 20:06:24 -0700</date>
            <delta_ts>2010-08-10 16:47:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43765-20100809200623.patch</filename>
            <type>text/plain</type>
            <size>6502</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTAzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTAtMDgtMDkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWdt
ZW50ZWRTdHJpbmcgc2hvdWxkIGtlZXAgdHJhY2sgb2YgaG93IG1hbnkgY2hhcmFjdGVycyBpdCBj
b25zdW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDM3NjUKKworICAgICAgICBUaGUgZWFzaWVzdCB3YXkgdG8ga2VlcCB0cmFjayBvZiBob3cgbWFu
eSBjaGFyYWN0ZXJzIHdlJ3ZlIGNvbnN1bWVkCisgICAgICAgIHdvdWxkIGJlIHRvIGluY3JlbWVu
dCBhIGNvdW50ZXIgZXZlcnkgdGltZSB3ZSBhZHZhbmNlLCBidXQgdGhhdCdzIHRvbworICAgICAg
ICBzbG93LiAgSW5zdGVhZCwgd2Uga2VlcCB0cmFjayBsYXppbHkgYW5kIHVwZGF0ZSBvdXIgc3Vt
bWFyeSBkdXJuaW5nIHRoZQorICAgICAgICBzbG93IGNhc2Ugb2YgYWR2YW5jZSAod2hpY2ggaXMg
c3VmZmljaWVudGx5IHJhcmUpLgorCisgICAgICAgIFRoZXJlJ3Mgc29tZSBzdWJ0bHkgdG8gaG93
IHRoaXMgd29ya3Mgdy5yLnQuICJ1bmNvbnN1bWluZyIgY2hhcmFjdGVycworICAgICAgICBieSBw
dXNoaW5nIHRoZW0gYmFjayBvbiB0aGUgZnJvbnQgb2YgdGhlIHNlZ21lbnRlZCBzdHJpbmcuICBU
aGlzIGlzbid0CisgICAgICAgIHJlYWxseSBhICJyaWdodCBhbnN3ZXIiIGhlcmUgYmVjYXVzZSB0
aGUgbm90aW9uIG9mIHVuY29uc3VtaW5nIGlucHV0CisgICAgICAgIGlzbid0IHByZXNlbnQgaW4g
dGhlIEFQSS4gIFRoaXMgcGF0Y2ggbWFrZXMgc29tZSBhc3N1bXB0aW9ucyBhYm91dCBob3cKKyAg
ICAgICAgY2xpZW50cyBvZiB0aGlzIGNsYXNzIHVzZSBpdHMgQVBJLiAgSW4gYSBmdXR1cmUgcGF0
Y2gsIHdlIG1pZ2h0IHdhbnQgdG8KKyAgICAgICAgcmVuYW1lIHNvbWUgb2YgdGhlIG1ldGhvZCBu
YW1lcyB0byBtYWtlIHRoaXMgbW9yZSBleHBsaWNpdC4KKworICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvU2VnbWVudGVkU3RyaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlZ21lbnRlZFN0cmlu
Zzo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OlNlZ21lbnRlZFN0cmluZzo6YXBwZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlZ21lbnRlZFN0cmluZzo6cHJlcGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZWdtZW50ZWRTdHJpbmc6OmFkdmFuY2VTdWJzdHJpbmcpOgorICAgICAgICAq
IHBsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpTZWdt
ZW50ZWRTdWJzdHJpbmc6Om51bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlZ21lbnRlZFN0cmluZzo6U2VnbWVudGVkU3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlNlZ21lbnRlZFN0cmluZzo6bnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQpOgorCiAyMDEw
LTA4LTA5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTcGVjdWxhdGl2ZSBjaHJvbWl1bSBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcAkocmV2aXNpb24gNjUwMzgpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIs
NiArNTIsNyBAQCBjb25zdCBTZWdtZW50ZWRTdHJpbmcmIFNlZ21lbnRlZFN0cmluZzo6CiAgICAg
ZWxzZQogICAgICAgICBtX2N1cnJlbnRDaGFyID0gb3RoZXIubV9jdXJyZW50Q2hhcjsKICAgICBt
X2Nsb3NlZCA9IG90aGVyLm1fY2xvc2VkOworICAgIG1fbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3Vt
ZWRQcmlvclRvQ3VycmVudFN0cmluZyA9IG90aGVyLm1fbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3Vt
ZWRQcmlvclRvQ3VycmVudFN0cmluZzsKICAgICByZXR1cm4gKnRoaXM7CiB9CiAKQEAgLTk5LDYg
KzEwMCw3IEBAIHZvaWQgU2VnbWVudGVkU3RyaW5nOjphcHBlbmQoY29uc3QgU2VnbWUKICAgICBB
U1NFUlQoIW1fY2xvc2VkKTsKICAgICBpZiAocy5tX2xlbmd0aCkgewogICAgICAgICBpZiAoIW1f
Y3VycmVudFN0cmluZy5tX2xlbmd0aCkgeworICAgICAgICAgICAgbV9udW1iZXJPZkNoYXJhY3Rl
cnNDb25zdW1lZFByaW9yVG9DdXJyZW50U3RyaW5nICs9IG1fY3VycmVudFN0cmluZy5udW1iZXJP
ZkNoYXJhY3RlcnNDb25zdW1lZCgpOwogICAgICAgICAgICAgbV9jdXJyZW50U3RyaW5nID0gczsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fc3Vic3RyaW5ncy5hcHBlbmQocyk7CkBA
IC0xMTAsNyArMTEyLDE2IEBAIHZvaWQgU2VnbWVudGVkU3RyaW5nOjphcHBlbmQoY29uc3QgU2Vn
bWUKIHZvaWQgU2VnbWVudGVkU3RyaW5nOjpwcmVwZW5kKGNvbnN0IFNlZ21lbnRlZFN1YnN0cmlu
ZyAmcykKIHsKICAgICBBU1NFUlQoIWVzY2FwZWQoKSk7CisgICAgLy8gRklYTUU6IEFkZCB0aGlz
IEFTU0VSVCBvbmNlIHdlJ3ZlIGRlbGV0ZWQgdGhlIExlZ2FjeUhUTUxEb2N1bWVudFBhcnNlci4K
KyAgICAvLyBBU1NFUlQoIXMubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKSk7CiAgICAgaWYg
KHMubV9sZW5ndGgpIHsKKyAgICAgICAgLy8gRklYTUU6IFdlJ3JlIGFzc3VtaW5nIHRoYXQgdGhl
IHByZXBlbmQgd2VyZSBvcmlnaW5hbGx5IGNvbnN1bWVkIGJ5CisgICAgICAgIC8vICAgICAgICB0
aGlzIFNlZ21lbnRlZFN0cmluZy4gIFdlJ3JlIGFsc28gQVNTRVJUaW5nIHRoYXQgcyBpcyBhIGZy
ZXNoCisgICAgICAgIC8vICAgICAgICBTZWdtZW50ZWRTdWJzdHJpbmcuICBUaGVzZSBhc3N1bXB0
aW9ucyBhcmUgc3VmZmljaWVudCBmb3Igb3VyCisgICAgICAgIC8vICAgICAgICBjdXJyZW50IHVz
ZSwgYnV0IHdlIG1pZ2h0IG5lZWQgdG8gaGFuZGxlIHRoZSBtb3JlIGVsYWJvcmF0ZQorICAgICAg
ICAvLyAgICAgICAgY2FzZXMgaW4gdGhlIGZ1dHVyZS4KKyAgICAgICAgbV9udW1iZXJPZkNoYXJh
Y3RlcnNDb25zdW1lZFByaW9yVG9DdXJyZW50U3RyaW5nICs9IG1fY3VycmVudFN0cmluZy5udW1i
ZXJPZkNoYXJhY3RlcnNDb25zdW1lZCgpOworICAgICAgICBtX251bWJlck9mQ2hhcmFjdGVyc0Nv
bnN1bWVkUHJpb3JUb0N1cnJlbnRTdHJpbmcgLT0gcy5tX2xlbmd0aDsKICAgICAgICAgaWYgKCFt
X2N1cnJlbnRTdHJpbmcubV9sZW5ndGgpCiAgICAgICAgICAgICBtX2N1cnJlbnRTdHJpbmcgPSBz
OwogICAgICAgICBlbHNlIHsKQEAgLTE2MCw3ICsxNzEsMTIgQEAgdm9pZCBTZWdtZW50ZWRTdHJp
bmc6OnByZXBlbmQoY29uc3QgU2VnbQogdm9pZCBTZWdtZW50ZWRTdHJpbmc6OmFkdmFuY2VTdWJz
dHJpbmcoKQogewogICAgIGlmIChtX2NvbXBvc2l0ZSkgeworICAgICAgICBtX251bWJlck9mQ2hh
cmFjdGVyc0NvbnN1bWVkUHJpb3JUb0N1cnJlbnRTdHJpbmcgKz0gbV9jdXJyZW50U3RyaW5nLm51
bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCk7CiAgICAgICAgIG1fY3VycmVudFN0cmluZyA9IG1f
c3Vic3RyaW5ncy50YWtlRmlyc3QoKTsKKyAgICAgICAgLy8gSWYgd2UndmUgcHJldmlvdXNseSBj
b25zdW1lZCBzb21lIGNoYXJhY3RlcnMgb2YgdGhlIG5vbi1jdXJyZW50CisgICAgICAgIC8vIHN0
cmluZywgd2Ugbm93IGFjY291bnQgZm9yIHRob3NlIGNoYXJhY3RlcnMgYXMgcGFydCBvZiB0aGUg
Y3VycmVudAorICAgICAgICAvLyBzdHJpbmcsIG5vdCBhcyBwYXJ0IG9mICJwcmlvciB0byBjdXJy
ZW50IHN0cmluZy4iCisgICAgICAgIG1fbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWRQcmlvclRv
Q3VycmVudFN0cmluZyAtPSBtX2N1cnJlbnRTdHJpbmcubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3Vt
ZWQoKTsKICAgICAgICAgaWYgKG1fc3Vic3RyaW5ncy5pc0VtcHR5KCkpCiAgICAgICAgICAgICBt
X2NvbXBvc2l0ZSA9IGZhbHNlOwogICAgIH0gZWxzZSB7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L3RleHQvU2VnbWVudGVkU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1NlZ21lbnRlZFN0cmluZy5oCShyZXZpc2lvbiA2NTAzOCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEV4Y2x1ZGVMaW5lTnVtYmVycygpIHsgbV9kb05vdEV4
Y2x1ZGVMaW5lTnVtYmVycyA9IGZhbHNlOyB9CiAKKyAgICBpbnQgbnVtYmVyT2ZDaGFyYWN0ZXJz
Q29uc3VtZWQoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5sZW5ndGgoKSAtIG1fbGVuZ3RoOyB9
CisKICAgICB2b2lkIGFwcGVuZFRvKFN0cmluZyYgc3RyKSBjb25zdAogICAgIHsKICAgICAgICAg
aWYgKG1fc3RyaW5nLmNoYXJhY3RlcnMoKSA9PSBtX2N1cnJlbnQpIHsKQEAgLTY5LDEwICs3MSwy
NiBAQCBwcml2YXRlOgogY2xhc3MgU2VnbWVudGVkU3RyaW5nIHsKIHB1YmxpYzoKICAgICBTZWdt
ZW50ZWRTdHJpbmcoKQotICAgICAgICA6IG1fcHVzaGVkQ2hhcjEoMCksIG1fcHVzaGVkQ2hhcjIo
MCksIG1fY3VycmVudENoYXIoMCksIG1fY29tcG9zaXRlKGZhbHNlKSwgbV9jbG9zZWQoZmFsc2Up
IHt9CisgICAgICAgIDogbV9wdXNoZWRDaGFyMSgwKQorICAgICAgICAsIG1fcHVzaGVkQ2hhcjIo
MCkKKyAgICAgICAgLCBtX2N1cnJlbnRDaGFyKDApCisgICAgICAgICwgbV9udW1iZXJPZkNoYXJh
Y3RlcnNDb25zdW1lZFByaW9yVG9DdXJyZW50U3RyaW5nKDApCisgICAgICAgICwgbV9jb21wb3Np
dGUoZmFsc2UpCisgICAgICAgICwgbV9jbG9zZWQoZmFsc2UpCisgICAgeworICAgIH0KKwogICAg
IFNlZ21lbnRlZFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cikKLSAgICAgICAgOiBtX3B1c2hlZENo
YXIxKDApLCBtX3B1c2hlZENoYXIyKDApLCBtX2N1cnJlbnRTdHJpbmcoc3RyKQotICAgICAgICAs
IG1fY3VycmVudENoYXIobV9jdXJyZW50U3RyaW5nLm1fY3VycmVudCksIG1fY29tcG9zaXRlKGZh
bHNlKSwgbV9jbG9zZWQoZmFsc2UpIHt9CisgICAgICAgIDogbV9wdXNoZWRDaGFyMSgwKQorICAg
ICAgICAsIG1fcHVzaGVkQ2hhcjIoMCkKKyAgICAgICAgLCBtX2N1cnJlbnRTdHJpbmcoc3RyKQor
ICAgICAgICAsIG1fY3VycmVudENoYXIobV9jdXJyZW50U3RyaW5nLm1fY3VycmVudCkKKyAgICAg
ICAgLCBtX251bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkUHJpb3JUb0N1cnJlbnRTdHJpbmcoMCkK
KyAgICAgICAgLCBtX2NvbXBvc2l0ZShmYWxzZSkKKyAgICAgICAgLCBtX2Nsb3NlZChmYWxzZSkK
KyAgICB7CisgICAgfQorCiAgICAgU2VnbWVudGVkU3RyaW5nKGNvbnN0IFNlZ21lbnRlZFN0cmlu
ZyYpOwogCiAgICAgY29uc3QgU2VnbWVudGVkU3RyaW5nJiBvcGVyYXRvcj0oY29uc3QgU2VnbWVu
dGVkU3RyaW5nJik7CkBAIC0xNzMsNiArMTkxLDEzIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgZXNj
YXBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHVzaGVkQ2hhcjE7IH0KIAorICAgIGludCBudW1iZXJP
ZkNoYXJhY3RlcnNDb25zdW1lZCgpCisgICAgeworICAgICAgICAvLyBXZSBkb24ndCBjdXJyZW50
bHkgaGFuZGxlIHRoZSBjYXNlIHdoZW4gdGhlcmUgYXJlIHB1c2hlZCBjaGFyYWN0ZXIuCisgICAg
ICAgIEFTU0VSVCghbV9wdXNoZWRDaGFyMSk7CisgICAgICAgIHJldHVybiBtX251bWJlck9mQ2hh
cmFjdGVyc0NvbnN1bWVkUHJpb3JUb0N1cnJlbnRTdHJpbmcgKyBtX2N1cnJlbnRTdHJpbmcubnVt
YmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKTsKKyAgICB9CisKICAgICBTdHJpbmcgdG9TdHJpbmco
KSBjb25zdDsKIAogICAgIGNvbnN0IFVDaGFyJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiAq
Y3VycmVudCgpOyB9CkBAIC0yMjEsNiArMjQ2LDcgQEAgcHJpdmF0ZToKICAgICBVQ2hhciBtX3B1
c2hlZENoYXIyOwogICAgIFNlZ21lbnRlZFN1YnN0cmluZyBtX2N1cnJlbnRTdHJpbmc7CiAgICAg
Y29uc3QgVUNoYXIqIG1fY3VycmVudENoYXI7CisgICAgaW50IG1fbnVtYmVyT2ZDaGFyYWN0ZXJz
Q29uc3VtZWRQcmlvclRvQ3VycmVudFN0cmluZzsKICAgICBEZXF1ZTxTZWdtZW50ZWRTdWJzdHJp
bmc+IG1fc3Vic3RyaW5nczsKICAgICBib29sIG1fY29tcG9zaXRlOwogICAgIGJvb2wgbV9jbG9z
ZWQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>