<?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>84781</bug_id>
          
          <creation_ts>2012-04-24 14:33:29 -0700</creation_ts>
          <short_desc>objectProtoFuncToString creates new string every invocation</short_desc>
          <delta_ts>2012-04-24 17:57:32 -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>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>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>609076</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-04-24 14:33:29 -0700</bug_when>
    <thetext>objectProtoFuncToString creates and returns a JSString with the contents of &quot;[object &lt;object_type]&quot; (e.g. &quot;[object Number]&quot;).  This creates a new string each time possibly increasing memory and using CPU.  This value should be created once and cached for each object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609096</commentid>
    <comment_count>1</comment_count>
      <attachid>138653</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-04-24 14:49:16 -0700</bug_when>
    <thetext>Created attachment 138653
Patch

This fails the style checker due to using a PassRefPtr as a local, but reused pattern from JSStringBuilder.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609098</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 14:51:01 -0700</bug_when>
    <thetext>Attachment 138653 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/runtime/ObjectPrototype.cpp:260:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609127</commentid>
    <comment_count>3</comment_count>
      <attachid>138653</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-04-24 15:15:46 -0700</bug_when>
    <thetext>Comment on attachment 138653
Patch

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

Patch looks good, but some minor changes needed here before committing.

&gt; Source/JavaScriptCore/runtime/ObjectPrototype.cpp:259
&gt; +    if (!thisObject-&gt;structure()-&gt;hasObjectToStringValue()) {

Our typical style here is just to call objectToStringValue():
RefPtr&lt;&gt; toStringValue = thisObject-&gt;structure()-&gt;objectToStringValue();
if (!toStringValue) {
    ...
    toStringValue = ...
}
...

&gt; Source/JavaScriptCore/runtime/ObjectPrototype.cpp:264
&gt; +        thisObject-&gt;structure()-&gt;setObjectToStringValue(exec-&gt;globalData(), thisObject, jsNontrivialString(exec, result));

The appropriate pattern is to make the local a RefPtr, to avoid accidentally dereferencing NULL, and then use .release() when passing it to setObjectToStringValue here.

&gt; Source/JavaScriptCore/runtime/Structure.cpp:797
&gt; +#if 1

Please remove the #if.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609154</commentid>
    <comment_count>4</comment_count>
      <attachid>138669</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-04-24 15:35:21 -0700</bug_when>
    <thetext>Created attachment 138669
Updated Patch with Suggested Fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609157</commentid>
    <comment_count>5</comment_count>
      <attachid>138669</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-04-24 15:37:54 -0700</bug_when>
    <thetext>Comment on attachment 138669
Updated Patch with Suggested Fixes

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609213</commentid>
    <comment_count>6</comment_count>
      <attachid>138669</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-24 16:15:49 -0700</bug_when>
    <thetext>Comment on attachment 138669
Updated Patch with Suggested Fixes

Attachment 138669 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12525366</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609241</commentid>
    <comment_count>7</comment_count>
      <attachid>138686</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-04-24 16:44:12 -0700</bug_when>
    <thetext>Created attachment 138686
Updated patch with speculative Qt fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609325</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-04-24 17:57:32 -0700</bug_when>
    <thetext>Committed r115151: &lt;http://trac.webkit.org/changeset/115151&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138653</attachid>
            <date>2012-04-24 14:49:16 -0700</date>
            <delta_ts>2012-04-24 15:35:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>84781.patch</filename>
            <type>text/plain</type>
            <size>4187</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE1MTE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTA0LTI0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIG9iamVjdFByb3RvRnVuY1RvU3RyaW5nIGNyZWF0ZXMgbmV3IHN0cmluZyBldmVyeSBpbnZv
Y2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NDc4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENh
Y2hlIHRoZSByZXN1bHRzIG9mIG9iamVjdCB0b1N0cmluZygpIGluIHRoZQorICAgICAgICBhdHRh
Y2hlZCBTdHJ1Y3R1cmUuCisKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY1RvU3RyaW5nKToKKyAgICAgICAgKiBydW50
aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6dmlzaXRDaGlsZHJl
bik6IHZpc2l0IG5ldyBtX2hhc09iamVjdFRvU3RyaW5nVmFsdWUuCisgICAgICAgICogcnVudGlt
ZS9TdHJ1Y3R1cmUuaDogQWRkZWQgbmV3IG1lbWJlciBtX2hhc09iamVjdFRvU3RyaW5nVmFsdWUK
KyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6aGFzT2JqZWN0VG9TdHJp
bmdWYWx1ZSk6CisgICAgICAgIChTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6
Om9iamVjdFRvU3RyaW5nVmFsdWUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldE9iamVj
dFRvU3RyaW5nVmFsdWUpOgorCiAyMDEyLTA0LTI0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgMzItYml0IGJ1aWxkIGZpeC4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAko
cmV2aXNpb24gMTE1MTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU1LDcgKzI1NSwxNSBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvCiAgICAgaWYgKHRoaXNWYWx1ZS5pc1Vu
ZGVmaW5lZE9yTnVsbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJp
dmlhbFN0cmluZyhleGVjLCB0aGlzVmFsdWUuaXNVbmRlZmluZWQoKSA/ICJbb2JqZWN0IFVuZGVm
aW5lZF0iIDogIltvYmplY3QgTnVsbF0iKSk7CiAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0
aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01h
a2VOb250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRh
YmxlKCktPmNsYXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKSk7CisKKyAgICBpZiAoIXRoaXNPYmpl
Y3QtPnN0cnVjdHVyZSgpLT5oYXNPYmplY3RUb1N0cmluZ1ZhbHVlKCkpIHsKKyAgICAgICAgUGFz
c1JlZlB0cjxTdHJpbmdJbXBsPiByZXN1bHQgPSBXVEY6OnRyeU1ha2VTdHJpbmcoIltvYmplY3Qg
IiwgdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKHRoaXNPYmplY3QpLCAiXSIp
OworICAgICAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVt
b3J5RXJyb3IoZXhlYyk7CisKKyAgICAgICAgdGhpc09iamVjdC0+c3RydWN0dXJlKCktPnNldE9i
amVjdFRvU3RyaW5nVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzT2JqZWN0LCBqc05vbnRy
aXZpYWxTdHJpbmcoZXhlYywgcmVzdWx0KSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhpc09iamVjdC0+c3RydWN0dXJlKCktPm9iamVjdFRvU3RyaW5nVmFsdWUoKSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAxMTUxMTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OTQsNiArNzk0
LDEwIEBAIHZvaWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2UKICAgICAgICAg
ICAgICAgICB2aXNpdG9yLmFwcGVuZCgmcHRyLT5zcGVjaWZpY1ZhbHVlKTsKICAgICAgICAgfQog
ICAgIH0KKyNpZiAxCisgICAgaWYgKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSkK
KyAgICAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1
ZSk7CisjZW5kaWYKIH0KIAogI2lmIERPX1BST1BFUlRZTUFQX0NPTlNURU5DWV9DSEVDSwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDEx
NTExMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBy
b3BlcnR5TmFtZUFycmF5RGF0YTsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKICAgICBjbGFz
cyBTbG90VmlzaXRvcjsKKyAgICBjbGFzcyBKU1N0cmluZzsKIAogICAgIGNsYXNzIFN0cnVjdHVy
ZSA6IHB1YmxpYyBKU0NlbGwgewogICAgIHB1YmxpYzoKQEAgLTE3MSw2ICsxNzIsMjEgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IqIGVudW1lcmF0aW9u
Q2FjaGUoKTsgLy8gRGVmaW5lZCBpbiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmguCiAgICAgICAg
IHZvaWQgZ2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiwgUHJvcGVy
dHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUpOwogCisgICAgICAgIGJvb2wgaGFzT2JqZWN0
VG9TdHJpbmdWYWx1ZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAhIW1fb2JqZWN0
VG9TdHJpbmdWYWx1ZTsKKyAgICAgICAgfQorCisgICAgICAgIEpTU3RyaW5nKiBvYmplY3RUb1N0
cmluZ1ZhbHVlKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1fb2JqZWN0VG9TdHJp
bmdWYWx1ZS5nZXQoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgc2V0T2JqZWN0VG9TdHJp
bmdWYWx1ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IEpTQ2VsbCogb3duZXIsIEpT
U3RyaW5nKiB2YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgbV9vYmplY3RUb1N0cmluZ1Zh
bHVlLnNldChnbG9iYWxEYXRhLCBvd25lciwgdmFsdWUpOworICAgICAgICB9CisKICAgICAgICAg
Ym9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0
dXJuIG1fc3RhdGljRnVuY3Rpb25SZWlmaWVkOwpAQCAtMjkxLDYgKzMwNyw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgICAgIHVpbnQzMl90IG1fcHJvcGVydHlTdG9yYWdlQ2FwYWNpdHk7CiAK
KyAgICAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CisK
ICAgICAgICAgLy8gbV9vZmZzZXQgZG9lcyBub3QgYWNjb3VudCBmb3IgYW5vbnltb3VzIHNsb3Rz
CiAgICAgICAgIGludCBtX29mZnNldDsKIAo=
</data>
<flag name="review"
          id="144073"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138669</attachid>
            <date>2012-04-24 15:35:21 -0700</date>
            <delta_ts>2012-04-24 16:44:12 -0700</delta_ts>
            <desc>Updated Patch with Suggested Fixes</desc>
            <filename>84781-1.patch</filename>
            <type>text/plain</type>
            <size>4002</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE1MTIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDEyLTA0LTI0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIG9iamVjdFByb3RvRnVuY1RvU3RyaW5nIGNyZWF0ZXMgbmV3IHN0cmluZyBldmVyeSBpbnZv
Y2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NDc4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENh
Y2hlIHRoZSByZXN1bHRzIG9mIG9iamVjdCB0b1N0cmluZygpIGluIHRoZSBhdHRhY2hlZCBTdHJ1
Y3R1cmUuCisKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAg
IChKU0M6Om9iamVjdFByb3RvRnVuY1RvU3RyaW5nKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVj
dHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbik6IHZpc2l0
IG5ldyBtX2hhc09iamVjdFRvU3RyaW5nVmFsdWUuCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1
cmUuaDogQWRkZWQgbmV3IG1lbWJlciBtX2hhc09iamVjdFRvU3RyaW5nVmFsdWUKKyAgICAgICAg
KEpTQyk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6b2JqZWN0VG9TdHJpbmdWYWx1ZSk6Cisg
ICAgICAgIChTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldE9iamVjdFRv
U3RyaW5nVmFsdWUpOgorCiAyMDEyLTA0LTI0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgMzItYml0IGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkocmV2
aXNpb24gMTE1MTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJv
dG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU1LDcgKzI1NSwxNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvCiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlh
bFN0cmluZyhleGVjLCB0aGlzVmFsdWUuaXNVbmRlZmluZWQoKSA/ICJbb2JqZWN0IFVuZGVmaW5l
ZF0iIDogIltvYmplY3QgTnVsbF0iKSk7CiAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlz
VmFsdWUudG9PYmplY3QoZXhlYyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxl
KCktPmNsYXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKSk7CisKKyAgICBKU1N0cmluZyogcmVzdWx0
ID0gdGhpc09iamVjdC0+c3RydWN0dXJlKCktPm9iamVjdFRvU3RyaW5nVmFsdWUoKTsKKyAgICBp
ZiAoIXJlc3VsdCkgeworICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5nID0gV1RG
Ojp0cnlNYWtlU3RyaW5nKCJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKCktPmNs
YXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKTsKKyAgICAgICAgaWYgKCFuZXdTdHJpbmcpCisgICAg
ICAgICAgICByZXR1cm4gdGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpOworCisgICAgICAgIHJl
c3VsdCA9IGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBuZXdTdHJpbmcucmVsZWFzZSgpKTsKKyAg
ICAgICAgdGhpc09iamVjdC0+c3RydWN0dXJlKCktPnNldE9iamVjdFRvU3RyaW5nVmFsdWUoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCB0aGlzT2JqZWN0LCByZXN1bHQpOworICAgIH0KKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAx
MTUxMTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03OTQsNiArNzk0LDggQEAgdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiBjZQogICAgICAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5kKCZwdHItPnNw
ZWNpZmljVmFsdWUpOwogICAgICAgICB9CiAgICAgfQorICAgIGlmICh0aGlzT2JqZWN0LT5tX29i
amVjdFRvU3RyaW5nVmFsdWUpCisgICAgICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X29iamVjdFRvU3RyaW5nVmFsdWUpOwogfQogCiAjaWYgRE9fUFJPUEVSVFlNQVBfQ09OU1RFTkNZ
X0NIRUNLCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAko
cmV2aXNpb24gMTE1MTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgUHJvcGVydHlOYW1lQXJyYXlEYXRhOwogICAgIGNsYXNzIFN0cnVjdHVyZUNoYWlu
OwogICAgIGNsYXNzIFNsb3RWaXNpdG9yOworICAgIGNsYXNzIEpTU3RyaW5nOwogCiAgICAgY2xh
c3MgU3RydWN0dXJlIDogcHVibGljIEpTQ2VsbCB7CiAgICAgcHVibGljOgpAQCAtMTcxLDYgKzE3
MiwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNQcm9wZXJ0eU5hbWVJdGVyYXRvciog
ZW51bWVyYXRpb25DYWNoZSgpOyAvLyBEZWZpbmVkIGluIEpTUHJvcGVydHlOYW1lSXRlcmF0b3Iu
aC4KICAgICAgICAgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZShKU0dsb2JhbERh
dGEmLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAKKyAgICAgICAgSlNT
dHJpbmcqIG9iamVjdFRvU3RyaW5nVmFsdWUoKSB7IHJldHVybiBtX29iamVjdFRvU3RyaW5nVmFs
dWUuZ2V0KCk7IH0KKworICAgICAgICB2b2lkIHNldE9iamVjdFRvU3RyaW5nVmFsdWUoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1N0cmluZyogdmFsdWUp
CisgICAgICAgIHsKKyAgICAgICAgICAgIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS5zZXQoZ2xvYmFs
RGF0YSwgb3duZXIsIHZhbHVlKTsKKyAgICAgICAgfQorCiAgICAgICAgIGJvb2wgc3RhdGljRnVu
Y3Rpb25zUmVpZmllZCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBtX3N0YXRpY0Z1
bmN0aW9uUmVpZmllZDsKQEAgLTI5MSw2ICsyOTksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICB1aW50MzJfdCBtX3Byb3BlcnR5U3RvcmFnZUNhcGFjaXR5OwogCisgICAgICAgIFdyaXRl
QmFycmllcjxKU1N0cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOworCiAgICAgICAgIC8vIG1f
b2Zmc2V0IGRvZXMgbm90IGFjY291bnQgZm9yIGFub255bW91cyBzbG90cwogICAgICAgICBpbnQg
bV9vZmZzZXQ7CiAK
</data>
<flag name="review"
          id="144093"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="144102"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138686</attachid>
            <date>2012-04-24 16:44:12 -0700</date>
            <delta_ts>2012-04-24 16:44:12 -0700</delta_ts>
            <desc>Updated patch with speculative Qt fix</desc>
            <filename>84781-2.patch</filename>
            <type>text/plain</type>
            <size>4019</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE1MTI4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDEyLTA0LTI0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIG9iamVjdFByb3RvRnVuY1RvU3RyaW5nIGNyZWF0ZXMgbmV3IHN0cmluZyBldmVyeSBpbnZv
Y2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NDc4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENh
Y2hlIHRoZSByZXN1bHRzIG9mIG9iamVjdCB0b1N0cmluZygpIGluIHRoZSBhdHRhY2hlZCBTdHJ1
Y3R1cmUuCisKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAg
IChKU0M6Om9iamVjdFByb3RvRnVuY1RvU3RyaW5nKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVj
dHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbik6IHZpc2l0
IG5ldyBtX2hhc09iamVjdFRvU3RyaW5nVmFsdWUuCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1
cmUuaDogQWRkZWQgbmV3IG1lbWJlciBtX2hhc09iamVjdFRvU3RyaW5nVmFsdWUKKyAgICAgICAg
KEpTQyk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6b2JqZWN0VG9TdHJpbmdWYWx1ZSk6Cisg
ICAgICAgIChTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldE9iamVjdFRv
U3RyaW5nVmFsdWUpOgorCiAyMDEyLTA0LTI0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgMzItYml0IGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkocmV2
aXNpb24gMTE1MTI4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJv
dG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU1LDcgKzI1NSwxNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvCiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlh
bFN0cmluZyhleGVjLCB0aGlzVmFsdWUuaXNVbmRlZmluZWQoKSA/ICJbb2JqZWN0IFVuZGVmaW5l
ZF0iIDogIltvYmplY3QgTnVsbF0iKSk7CiAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlz
VmFsdWUudG9PYmplY3QoZXhlYyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxl
KCktPmNsYXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKSk7CisKKyAgICBKU1N0cmluZyogcmVzdWx0
ID0gdGhpc09iamVjdC0+c3RydWN0dXJlKCktPm9iamVjdFRvU3RyaW5nVmFsdWUoKTsKKyAgICBp
ZiAoIXJlc3VsdCkgeworICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5nID0gV1RG
Ojp0cnlNYWtlU3RyaW5nKCJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKCktPmNs
YXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKTsKKyAgICAgICAgaWYgKCFuZXdTdHJpbmcpCisgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVj
KSk7CisKKyAgICAgICAgcmVzdWx0ID0ganNOb250cml2aWFsU3RyaW5nKGV4ZWMsIG5ld1N0cmlu
Zy5yZWxlYXNlKCkpOworICAgICAgICB0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c2V0T2JqZWN0
VG9TdHJpbmdWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXNPYmplY3QsIHJlc3VsdCk7Cisg
ICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZS5jcHAJKHJldmlzaW9uIDExNTEyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5NCw2ICs3OTQsOCBAQCB2b2lkIFN0
cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlCiAgICAgICAgICAgICAgICAgdmlzaXRv
ci5hcHBlbmQoJnB0ci0+c3BlY2lmaWNWYWx1ZSk7CiAgICAgICAgIH0KICAgICB9CisgICAgaWYg
KHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSkKKyAgICAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSk7CiB9CiAKICNpZiBET19QUk9Q
RVJUWU1BUF9DT05TVEVOQ1lfQ0hFQ0sKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAxMTUxMjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBQcm9wZXJ0eU5hbWVBcnJheURhdGE7CiAgICAgY2xh
c3MgU3RydWN0dXJlQ2hhaW47CiAgICAgY2xhc3MgU2xvdFZpc2l0b3I7CisgICAgY2xhc3MgSlNT
dHJpbmc7CiAKICAgICBjbGFzcyBTdHJ1Y3R1cmUgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBwdWJs
aWM6CkBAIC0xNzEsNiArMTcyLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1Byb3Bl
cnR5TmFtZUl0ZXJhdG9yKiBlbnVtZXJhdGlvbkNhY2hlKCk7IC8vIERlZmluZWQgaW4gSlNQcm9w
ZXJ0eU5hbWVJdGVyYXRvci5oLgogICAgICAgICB2b2lkIGdldFByb3BlcnR5TmFtZXNGcm9tU3Ry
dWN0dXJlKEpTR2xvYmFsRGF0YSYsIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2Rl
KTsKIAorICAgICAgICBKU1N0cmluZyogb2JqZWN0VG9TdHJpbmdWYWx1ZSgpIHsgcmV0dXJuIG1f
b2JqZWN0VG9TdHJpbmdWYWx1ZS5nZXQoKTsgfQorCisgICAgICAgIHZvaWQgc2V0T2JqZWN0VG9T
dHJpbmdWYWx1ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IEpTQ2VsbCogb3duZXIs
IEpTU3RyaW5nKiB2YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgbV9vYmplY3RUb1N0cmlu
Z1ZhbHVlLnNldChnbG9iYWxEYXRhLCBvd25lciwgdmFsdWUpOworICAgICAgICB9CisKICAgICAg
ICAgYm9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkKICAgICAgICAgewogICAgICAgICAgICAg
cmV0dXJuIG1fc3RhdGljRnVuY3Rpb25SZWlmaWVkOwpAQCAtMjkxLDYgKzI5OSw4IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIHVpbnQzMl90IG1fcHJvcGVydHlTdG9yYWdlQ2FwYWNpdHk7
CiAKKyAgICAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7
CisKICAgICAgICAgLy8gbV9vZmZzZXQgZG9lcyBub3QgYWNjb3VudCBmb3IgYW5vbnltb3VzIHNs
b3RzCiAgICAgICAgIGludCBtX29mZnNldDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>