<?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>95518</bug_id>
          
          <creation_ts>2012-08-30 18:06:34 -0700</creation_ts>
          <short_desc>Loading a worker script should not be O(n^2)</short_desc>
          <delta_ts>2012-08-30 21:21:17 -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>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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>benjamin</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709206</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-30 18:06:34 -0700</bug_when>
    <thetext>Loading a worker script should not be O(n^2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709208</commentid>
    <comment_count>1</comment_count>
      <attachid>161598</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-30 18:08:04 -0700</bug_when>
    <thetext>Created attachment 161598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709209</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-30 18:08:37 -0700</bug_when>
    <thetext>Elsewhere we use SegmentedString to do similar work, but there doesn&apos;t seem to be any advantage to using SegmentedString here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709261</commentid>
    <comment_count>3</comment_count>
      <attachid>161598</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-30 19:32:19 -0700</bug_when>
    <thetext>Comment on attachment 161598
Patch

The patch looks good.

JavaScriptCore has an optimized class for joining a list of WTF::String with an optional delimiter: JSStringJoiner. JSStringJoiner is very specific to JSC (allocation with tryXXX and the number of strings must be known in advance).

If the pattern of this patch appears in sections where performance is critical, we should write a StringJoiner for WTF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709290</commentid>
    <comment_count>4</comment_count>
      <attachid>161598</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 21:00:31 -0700</bug_when>
    <thetext>Comment on attachment 161598
Patch

Clearing flags on attachment: 161598

Committed r127227: &lt;http://trac.webkit.org/changeset/127227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709291</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 21:00:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709296</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-30 21:21:17 -0700</bug_when>
    <thetext>We probably don&apos;t need anything super efficient.  Just something not brain dead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161598</attachid>
            <date>2012-08-30 18:08:04 -0700</date>
            <delta_ts>2012-08-30 21:00:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95518-20120830180752.patch</filename>
            <type>text/plain</type>
            <size>3690</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI5OWZkNTc4ZWFmOTU0
N2VhYjk3MzdkZTMwNWZmZTE3NTliOTc5Yi4uMTFhNmNjZGEzMTYyNTNjOTc4Y2E4MzkwMDk3ZDdm
NmM3OWVhYTk2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDEyLTA4LTMwICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgTG9hZGluZyBhIHdvcmtlciBz
Y3JpcHQgc2hvdWxkIG5vdCBiZSBPKG5eMikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwgd2Ugd291bGQgbWFsbG9jIGEgbmV3IGJ1ZmZl
ciBhbmQgbWVtY3B5IHRoZSBlbnRpcmUgd29ya2VyCisgICAgICAgIHNjcmlwdCBldmVyeSB0aW1l
IHdlIGdvdCBhbm90aGVyIHBhY2tldCBvZiBkYXRhIGZyb20gdGhlIG5ldHdvcmsuIFRoaXMKKyAg
ICAgICAgcGF0Y2ggdXNlcyBTdHJpbmdCdWlsZGVyIHRvIGFjY3VtdWxhdGUgdGhlIGJ1ZmZlciBt
b3JlIGVmZmljaWVudGx5LgorCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpXb3JrZXJTY3JpcHRM
b2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZl
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZEZpbmlzaExv
YWRpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3Jp
cHRMb2FkZXI6OnNjcmlwdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIu
aDoKKyAgICAgICAgKFdvcmtlclNjcmlwdExvYWRlcik6CisKKzIwMTItMDgtMzAgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZW1vdmUgYWxsLWJ1dC1vbmUgdXNl
IG9mIFdURjo6U3RyaW5nOjpvcGVyYXRvcis9IGZyb20gV2ViQ29yZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1MDgKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IGE5MzJiZTk2NjMwZTg2MzRl
YWYxYmZiYzUxOWUwODY0MWJkZDY0ZDIuLjVjYjJhNjAxYzc0Y2VlNDEyYzIxODdiYWU0YWI1MWRi
YjkyNGMxNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5jcHAKQEAgLTQ4LDcgKzQ4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXb3JrZXJTY3Jp
cHRMb2FkZXI6OldvcmtlclNjcmlwdExvYWRlcigpCiAgICAgOiBtX2NsaWVudCgwKQotICAgICwg
bV9zY3JpcHQoIiIpCiAgICAgLCBtX2ZhaWxlZChmYWxzZSkKICAgICAsIG1faWRlbnRpZmllcigw
KQogICAgICwgbV9maW5pc2hpbmcoZmFsc2UpCkBAIC0xNDYsNyArMTQ1LDcgQEAgdm9pZCBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW4p
CiAgICAgaWYgKGxlbiA9PSAtMSkKICAgICAgICAgbGVuID0gc3RybGVuKGRhdGEpOwogICAgIAot
ICAgIG1fc2NyaXB0ICs9IG1fZGVjb2Rlci0+ZGVjb2RlKGRhdGEsIGxlbik7CisgICAgbV9zY3Jp
cHQuYXBwZW5kKG1fZGVjb2Rlci0+ZGVjb2RlKGRhdGEsIGxlbikpOwogfQogCiB2b2lkIFdvcmtl
clNjcmlwdExvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IGRvdWJsZSkKQEAgLTE1Nyw3ICsxNTYsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlk
RmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSkKICAgICB9CiAK
ICAgICBpZiAobV9kZWNvZGVyKQotICAgICAgICBtX3NjcmlwdCArPSBtX2RlY29kZXItPmZsdXNo
KCk7CisgICAgICAgIG1fc2NyaXB0LmFwcGVuZChtX2RlY29kZXItPmZsdXNoKCkpOwogCiAgICAg
bV9pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKICAgICBub3RpZnlGaW5pc2hlZCgpOwpAQCAtMTc4
LDcgKzE3NywxMiBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bm90aWZ5RXJyb3IoKQogICAg
IG1fZmFpbGVkID0gdHJ1ZTsKICAgICBub3RpZnlGaW5pc2hlZCgpOwogfQotICAgIAorCitTdHJp
bmcgV29ya2VyU2NyaXB0TG9hZGVyOjpzY3JpcHQoKQoreworICAgIHJldHVybiBtX3NjcmlwdC50
b1N0cmluZygpOworfQorCiB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQo
KQogewogICAgIGlmICghbV9jbGllbnQgfHwgbV9maW5pc2hpbmcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA0ZWJiNzYzNjJlMjkxNzY2NDA4NGNh
NzZjNzhlNDM0MDc0YjBhM2I4Li4xZmU1Njg5MmVjZmYxMzFiOWZiNmJhY2I4NTM1ZjFmNmVmYTc3
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAg
LTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NjAsNyArNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBub3RpZnlF
cnJvcigpOwogCi0gICAgICAgIGNvbnN0IFN0cmluZyYgc2NyaXB0KCkgY29uc3QgeyByZXR1cm4g
bV9zY3JpcHQ7IH0KKyAgICAgICAgU3RyaW5nIHNjcmlwdCgpOwogICAgICAgICBjb25zdCBLVVJM
JiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAgICAgICBjb25zdCBLVVJMJiByZXNw
b25zZVVSTCgpIGNvbnN0OwogICAgICAgICBib29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZmFpbGVkOyB9CkBAIC04OSw3ICs5MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
UmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IG1fdGhyZWFkYWJsZUxvYWRlcjsKICAgICAgICAgU3Ry
aW5nIG1fcmVzcG9uc2VFbmNvZGluZzsgICAgICAgIAogICAgICAgICBSZWZQdHI8VGV4dFJlc291
cmNlRGVjb2Rlcj4gbV9kZWNvZGVyOwotICAgICAgICBTdHJpbmcgbV9zY3JpcHQ7CisgICAgICAg
IFN0cmluZ0J1aWxkZXIgbV9zY3JpcHQ7CiAgICAgICAgIEtVUkwgbV91cmw7CiAgICAgICAgIEtV
UkwgbV9yZXNwb25zZVVSTDsKICAgICAgICAgYm9vbCBtX2ZhaWxlZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>