<?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>136935</bug_id>
          
          <creation_ts>2014-09-18 17:24:18 -0700</creation_ts>
          <short_desc>Optimize MarkupAccumulator::appendText()</short_desc>
          <delta_ts>2014-09-19 08:48:47 -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>DOM</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1036029</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-18 17:24:18 -0700</bug_when>
    <thetext>MarkupAccumulator::appendText() currently calls a generic MarkupAccumulator::appendNodeValue() method to append the text. This is the only caller for appendNodeValue() so we can inline the code in appendText() and make the code specific to Text nodes instead of supporting any kind of Node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036042</commentid>
    <comment_count>1</comment_count>
      <attachid>238344</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-18 18:17:56 -0700</bug_when>
    <thetext>Created attachment 238344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036128</commentid>
    <comment_count>2</comment_count>
      <attachid>238344</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-19 08:48:43 -0700</bug_when>
    <thetext>Comment on attachment 238344
Patch

Clearing flags on attachment: 238344

Committed r173754: &lt;http://trac.webkit.org/changeset/173754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036129</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-19 08:48:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238344</attachid>
            <date>2014-09-18 18:17:56 -0700</date>
            <delta_ts>2014-09-19 08:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136935-20140918181754.patch</filename>
            <type>text/plain</type>
            <size>4980</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE1MDhmOTNkNzI3YzA2
YzAyMzFkZGU4ZjA1YzU3M2VmYjEyMGI2Yi4uYTRmOGZmMDRjODE1OTVhYzM2MGVjZWY3ZDhjNGI0
N2ZiNjcyM2I1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0LTA5LTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgT3B0aW1pemUgTWFya3VwQWNj
dW11bGF0b3I6OmFwcGVuZFRleHQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2OTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFRleHQoKSB3YXMgY2FsbGlu
ZyB0aGUgZ2VuZXJpYyBhcHBlbmROb2RlVmFsdWUoKQorICAgICAgICBtZXRob2QgdG8gYXBwZW5k
IHRoZSB0ZXh0LiBhcHBlbmROb2RlVmFsdWUoKSBzdXBwb3J0cyBhbnkga2luZCBvZiBOb2RlIGFu
ZAorICAgICAgICB0aHVzIGNhbGxzIHRoZSBOb2RlOjpub2RlVmFsdWUoKSB2aXJ0dWFsIGZ1bmN0
aW9uLgorCisgICAgICAgIFNpbmNlIGFwcGVuZFRleHQoKSBpcyB0aGUgb25seSBjYWxsZXIgdG8g
YXBwZW5kTm9kZVZhbHVlKCksIHRoaXMgcGF0Y2gKKyAgICAgICAgaW5saW5lcyB0aGUgY29kZSBp
biBhcHBlbmRUZXh0KCkgYW5kIG1ha2VzIGl0IHNwZWNpZmljIHRvIFRleHQgTm9kZSwgYW5kCisg
ICAgICAgIHRodXMgbW9yZSBlZmZpY2llbnQuIFRoZSBjb2RlIG5vdyBjYWxscyBDaGFyYWN0ZXJE
YXRhOjpkYXRhKCkgaW5zdGVhZCBvZgorICAgICAgICB0aGUgTm9kZTo6bm9kZVZhbHVlKCkgdmly
dHVhbCBmdW5jdGlvbi4gVGhpcyBwYXRjaCBhbHNvIHVwZGF0ZXMKKyAgICAgICAgQ2hhcmFjdGVy
RGF0YTo6ZGF0YSgpIHRvIHJldHVybiBhIGNvbnN0IHJlZmVyZW5jZSB0byBhdm9pZCBjb3B5aW5n
IHRoZQorICAgICAgICByZXR1cm4gdmFsdWUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6ZGF0YSk6CisgICAgICAgICogZWRpdGluZy9NYXJr
dXBBY2N1bXVsYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6
YXBwZW5kVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5k
Tm9kZVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKiBlZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9y
Lmg6CisKIDIwMTQtMDktMTcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBUZXh0IGxhaWQgb3V0IHdpdGggdGhlIFNWRyAtPiBPVEYgZm9udCBjb252
ZXJ0ZXIgZG9lcyBub3QgaGF2ZSB0aGUgc2FtZSBtZXRyaWNzIGFzIHdpdGggdGhlIFNWRyBmb250
IGNvZGUgcGF0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmgKaW5kZXggMGEzZTY3Y2ZjYTIz
MTc0Y2JmNjg4NjVjNjg3OGZmNGE3ZmM5NTExNy4uZGZiNGIyMWRkYzhmMjgyYTNkZWNjMjZhN2U1
NWMxNzQwMTI3MTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCkBAIC0zMCw3ICsz
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2hhcmFjdGVyRGF0YSA6IHB1Ymxp
YyBOb2RlIHsKIHB1YmxpYzoKLSAgICBTdHJpbmcgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0
YTsgfQorICAgIGNvbnN0IFN0cmluZyYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQog
ICAgIHN0YXRpYyBwdHJkaWZmX3QgZGF0YU1lbW9yeU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9P
RkZTRVRPRihDaGFyYWN0ZXJEYXRhLCBtX2RhdGEpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldERhdGEoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcAppbmRleCAxN2NlM2EzZWNiNDQzNDFh
ZWZmYjM5NzE4MzE1NGQ2NDQ4NzdiNjE0Li45OWJiOTkwNzg3ZDlkNTcwYTgwODdmNjg5MjhiZmU5
MmJiZDIyMTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3Vt
dWxhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9y
LmNwcApAQCAtMjU1LDI0ICsyNTUsNiBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRR
dW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbgogICAgIHJl
c3VsdC5hcHBlbmQocXVvdGVDaGFyKTsKIH0KIAotdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBw
ZW5kTm9kZVZhbHVlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgTm9kZSYgbm9kZSwgY29u
c3QgUmFuZ2UqIHJhbmdlLCBFbnRpdHlNYXNrIGVudGl0eU1hc2spCi17Ci0gICAgY29uc3QgU3Ry
aW5nIHN0ciA9IG5vZGUubm9kZVZhbHVlKCk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyLmxl
bmd0aCgpOwotICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKLQotICAgIGlmIChyYW5nZSkgewotICAg
ICAgICBpZiAoJm5vZGUgPT0gcmFuZ2UtPmVuZENvbnRhaW5lcigpKQotICAgICAgICAgICAgbGVu
Z3RoID0gcmFuZ2UtPmVuZE9mZnNldCgpOwotICAgICAgICBpZiAoJm5vZGUgPT0gcmFuZ2UtPnN0
YXJ0Q29udGFpbmVyKCkpIHsKLSAgICAgICAgICAgIHN0YXJ0ID0gcmFuZ2UtPnN0YXJ0T2Zmc2V0
KCk7Ci0gICAgICAgICAgICBsZW5ndGggLT0gc3RhcnQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAg
ICBhcHBlbmRDaGFyYWN0ZXJzUmVwbGFjaW5nRW50aXRpZXMocmVzdWx0LCBzdHIsIHN0YXJ0LCBs
ZW5ndGgsIGVudGl0eU1hc2spOwotfQotCiBib29sIE1hcmt1cEFjY3VtdWxhdG9yOjpzaG91bGRB
ZGROYW1lc3BhY2VFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgLy8gRG9u
J3QgYWRkIG5hbWVzcGFjZSBhdHRyaWJ1dGUgaWYgaXQgaXMgYWxyZWFkeSBkZWZpbmVkIGZvciB0
aGlzIGVsZW0uCkBAIC0zNTksNyArMzQxLDIwIEBAIEVudGl0eU1hc2sgTWFya3VwQWNjdW11bGF0
b3I6OmVudGl0eU1hc2tGb3JUZXh0KGNvbnN0IFRleHQmIHRleHQpIGNvbnN0CiAKIHZvaWQgTWFy
a3VwQWNjdW11bGF0b3I6OmFwcGVuZFRleHQoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBU
ZXh0JiB0ZXh0KQogewotICAgIGFwcGVuZE5vZGVWYWx1ZShyZXN1bHQsIHRleHQsIG1fcmFuZ2Us
IGVudGl0eU1hc2tGb3JUZXh0KHRleHQpKTsKKyAgICBjb25zdCBTdHJpbmcmIHRleHREYXRhID0g
dGV4dC5kYXRhKCk7CisgICAgdW5zaWduZWQgc3RhcnQgPSAwOworICAgIHVuc2lnbmVkIGxlbmd0
aCA9IHRleHREYXRhLmxlbmd0aCgpOworCisgICAgaWYgKG1fcmFuZ2UpIHsKKyAgICAgICAgaWYg
KCZ0ZXh0ID09IG1fcmFuZ2UtPmVuZENvbnRhaW5lcigpKQorICAgICAgICAgICAgbGVuZ3RoID0g
bV9yYW5nZS0+ZW5kT2Zmc2V0KCk7CisgICAgICAgIGlmICgmdGV4dCA9PSBtX3JhbmdlLT5zdGFy
dENvbnRhaW5lcigpKSB7CisgICAgICAgICAgICBzdGFydCA9IG1fcmFuZ2UtPnN0YXJ0T2Zmc2V0
KCk7CisgICAgICAgICAgICBsZW5ndGggLT0gc3RhcnQ7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBhcHBlbmRDaGFyYWN0ZXJzUmVwbGFjaW5nRW50aXRpZXMocmVzdWx0LCB0ZXh0RGF0YSwgc3Rh
cnQsIGxlbmd0aCwgZW50aXR5TWFza0ZvclRleHQodGV4dCkpOwogfQogCiBzdGF0aWMgdm9pZCBh
cHBlbmRDb21tZW50KFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5nJiBjb21tZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5oCmluZGV4IDg0NmQx
ZTc1NzNjNDZlNGE5NWI1YTNjZjEwOTYyNDMzOWY3MzU2ZWUuLjJjM2VlMDEzOTEwZDlkY2FhODY2
YzdiZTE5MGE2NGEzOTk5OTFlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
TWFya3VwQWNjdW11bGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFj
Y3VtdWxhdG9yLmgKQEAgLTg3LDcgKzg3LDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgYXBwZW5k
RW5kTWFya3VwKFN0cmluZ0J1aWxkZXImLCBjb25zdCBOb2RlJik7CiAKICAgICB2b2lkIGFwcGVu
ZEF0dHJpYnV0ZVZhbHVlKFN0cmluZ0J1aWxkZXImLCBjb25zdCBTdHJpbmcmLCBib29sKTsKLSAg
ICB2b2lkIGFwcGVuZE5vZGVWYWx1ZShTdHJpbmdCdWlsZGVyJiwgY29uc3QgTm9kZSYsIGNvbnN0
IFJhbmdlKiwgRW50aXR5TWFzayk7CiAgICAgdm9pZCBhcHBlbmROYW1lc3BhY2UoU3RyaW5nQnVp
bGRlciYsIGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4LCBjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWVzcGFjZVVSSSwgTmFtZXNwYWNlcyYsIGJvb2wgYWxsb3dFbXB0eURlZmF1bHROUyA9IGZhbHNl
KTsKICAgICB2b2lkIGFwcGVuZFhNTERlY2xhcmF0aW9uKFN0cmluZ0J1aWxkZXImLCBjb25zdCBE
b2N1bWVudCYpOwogICAgIHZvaWQgYXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1aWxkZXImLCBj
b25zdCBEb2N1bWVudFR5cGUmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>