<?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>91899</bug_id>
          
          <creation_ts>2012-07-20 13:26:54 -0700</creation_ts>
          <short_desc>[BlackBerry] Merge createThreadInternal implementations</short_desc>
          <delta_ts>2012-07-23 09:43:04 -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>WebKit BlackBerry</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="Rob Buis">rwlbuis</reporter>
          <assigned_to name="Rob Buis">rwlbuis</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>674899</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-20 13:26:54 -0700</bug_when>
    <thetext>We do things differently for BlackBerry port, but the code is similar enough to merge the two createThreadInternal implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674915</commentid>
    <comment_count>1</comment_count>
      <attachid>153586</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-20 13:35:13 -0700</bug_when>
    <thetext>Created attachment 153586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674927</commentid>
    <comment_count>2</comment_count>
      <attachid>153586</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-07-20 13:48:27 -0700</bug_when>
    <thetext>Comment on attachment 153586
Patch

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

Basically it looks good to me. But I would wait some time for other volunteers to review if any.

&gt; Source/WTF/wtf/ThreadingPthreads.cpp:181
&gt; +    bool setStackSize = stackSize &gt; 0;
&gt; +    if (setStackSize) {

This setStackSize is not needed. size_t must be &gt;= 0 anyway.
if (stackSize) {
 ...

&gt; Source/WTF/wtf/ThreadingPthreads.cpp:198
&gt; -    if (pthread_create(&amp;threadHandle, &amp;attr, wtfThreadEntryPoint, invocation.get())) {
&gt; -        LOG_ERROR(&quot;pthread_create() failed: %d&quot;, errno);
&gt; +    if (pthread_create(&amp;threadHandle, setStackSize ? &amp;attr : 0, wtfThreadEntryPoint, invocation.get())) {
&gt; +        LOG_ERROR(&quot;Failed to create pthread at entry point %p with data %p: %d&quot;, wtfThreadEntryPoint, invocation.get(), errno);

I would still leave pthread_create() there:
1) it is easy to search it in log file or handle the log with a script.
2) be consistent with other logs &quot;&lt;pthread function&gt; failed:...&quot;

We can add more information at the end...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674934</commentid>
    <comment_count>3</comment_count>
      <attachid>153586</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-20 13:56:51 -0700</bug_when>
    <thetext>Comment on attachment 153586
Patch

Attachment 153586 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13308400</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674952</commentid>
    <comment_count>4</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-20 14:10:54 -0700</bug_when>
    <thetext>Related to bug 40103.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674953</commentid>
    <comment_count>5</comment_count>
      <attachid>153586</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-20 14:11:24 -0700</bug_when>
    <thetext>Comment on attachment 153586
Patch

Attachment 153586 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13304433</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674956</commentid>
    <comment_count>6</comment_count>
      <attachid>153598</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-20 14:11:50 -0700</bug_when>
    <thetext>Created attachment 153598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674964</commentid>
    <comment_count>7</comment_count>
      <attachid>153598</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-07-20 14:17:10 -0700</bug_when>
    <thetext>Comment on attachment 153598
Patch

Attachment 153598 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13314359</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674967</commentid>
    <comment_count>8</comment_count>
      <attachid>153598</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-20 14:21:26 -0700</bug_when>
    <thetext>Comment on attachment 153598
Patch

Attachment 153598 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13310375</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674972</commentid>
    <comment_count>9</comment_count>
      <attachid>153601</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-20 14:25:25 -0700</bug_when>
    <thetext>Created attachment 153601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674996</commentid>
    <comment_count>10</comment_count>
      <attachid>153601</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-20 14:52:46 -0700</bug_when>
    <thetext>Comment on attachment 153601
Patch

Attachment 153601 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13301492</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674998</commentid>
    <comment_count>11</comment_count>
      <attachid>153601</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-20 14:55:42 -0700</bug_when>
    <thetext>Comment on attachment 153601
Patch

Attachment 153601 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13316341</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675001</commentid>
    <comment_count>12</comment_count>
      <attachid>153601</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-20 14:58:46 -0700</bug_when>
    <thetext>Comment on attachment 153601
Patch

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

&gt; Source/WTF/wtf/ThreadingPthreads.cpp:171
&gt; +static size_t threadStackSize()

I suggest naming this something like desiredSecondaryThreadStackSize. Comments from bug 40103 still apply - if you are adding this to cross platform code, you need to explain how to choose the desired size.

&gt; Source/WTF/wtf/ThreadingPthreads.cpp:195
&gt; +        else if (pthread_attr_setstack(&amp;attr, stackAddr, stackSize))
&gt;              LOG_ERROR(&quot;pthread_attr_getstack() failed: %d&quot;, errno);

The error message mentions a wrong function.

Why is error handling different here? If pthread_attr_init fails, the thread is not created, but here, errors are ignored.

What guarantees that there is enough space for a larger stack at stackAddr?

&gt; Source/WTF/wtf/ThreadingPthreads.cpp:204
&gt;      pthread_setname_np(threadHandle, threadName);

This will break build for platforms that don&apos;t have pthread_np.h, or don&apos;t have this particular function. Besides, I&apos;m fairly sure that other ports give names to threads elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675002</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-20 15:00:13 -0700</bug_when>
    <thetext>[Blackberry] prefix on the bug is incorrect, because it changes cross-platofrm code. [Prefixes] are an aid for people to quickly ignore patches they definitely don&apos;t care about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675724</commentid>
    <comment_count>14</comment_count>
      <attachid>153804</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-23 08:27:52 -0700</bug_when>
    <thetext>Created attachment 153804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675728</commentid>
    <comment_count>15</comment_count>
      <attachid>153804</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-07-23 08:39:10 -0700</bug_when>
    <thetext>Comment on attachment 153804
Patch

LGTM except the bug title should be changed to [BlackBerry] ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675731</commentid>
    <comment_count>16</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-23 08:45:43 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 153804 [details])
&gt; LGTM except the bug title should be changed to [BlackBerry] ...

I think making this bug title [BlackBerry] specific and having the patch using #if (qnx) iis also confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675734</commentid>
    <comment_count>17</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-07-23 08:48:09 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; (From update of attachment 153804 [details] [details])
&gt; &gt; LGTM except the bug title should be changed to [BlackBerry] ...
&gt; 
&gt; I think making this bug title [BlackBerry] specific and having the patch using #if (qnx) iis also confusing.

We have been doing this... Should we use [QNX] instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675748</commentid>
    <comment_count>18</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-23 09:04:26 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; (From update of attachment 153804 [details] [details] [details])
&gt; &gt; &gt; LGTM except the bug title should be changed to [BlackBerry] ...
&gt; &gt; 
&gt; &gt; I think making this bug title [BlackBerry] specific and having the patch using #if (qnx) iis also confusing.
&gt; 
&gt; We have been doing this... Should we use [QNX] instead?

If other qnx based platforms want this, yes. think of qtwebkit running in qnx, for example...

Otherwise, use [bb] and make #if platform(bb)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675779</commentid>
    <comment_count>19</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-07-23 09:43:04 -0700</bug_when>
    <thetext>Committed r123344: &lt;http://trac.webkit.org/changeset/123344&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153586</attachid>
            <date>2012-07-20 13:35:13 -0700</date>
            <delta_ts>2012-07-20 14:11:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91899-20120720163704.patch</filename>
            <type>text/plain</type>
            <size>4169</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3NzU2MmFiZjI3NmVhNGQxYjI3OWM4
MWI1OTliNWQ5YzZjMTM2OWQuLjQ3OGQ1Yzg1YWRjMGI3MmE5MzZhNGM1NDViM2U3MGEzNTgyZDEy
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIFJvYiBCdWlzICA8cmJ1aXNAcmlt
LmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gTWVyZ2UgY3JlYXRlVGhyZWFkSW50ZXJuYWwg
aW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1lcmdlIHRoZSBCbGFja0JlcnJ5IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIHdpdGgg
dGhlIG5vbiBCQiBvbmUuCisKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOgor
ICAgICAgICAoV1RGOjp0aHJlYWRTdGFja1NpemUpOgorICAgICAgICAoV1RGKToKKyAgICAgICAg
KFdURjo6Y3JlYXRlVGhyZWFkSW50ZXJuYWwpOgorCiAyMDEyLTA3LTE4ICBSb2IgQnVpcyAgPHJi
dWlzQHJpbS5jb20+CiAKICAgICAgICAgQWxpZ25tZW50IGNyYXNoIGluIE1JTUVTbmlmZmVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKaW5kZXggMmNmYTg3NGUwNGE2ZmI2ZDgxYTA4
NTFmNDc4ZWIwYTFjZjQ3YTQwYS4uOGI5ZGNmZDEyNDBmYTUyMGMxNzA5OTA1NDg0OTZiNGRmNmQx
NTdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcApAQCAtMTY0LDM0ICsxNjQs
NDQgQEAgc3RhdGljIHZvaWQqIHd0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCogcGFyYW0pCiAgICAg
cmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBzaXplX3QgdGhyZWFkU3RhY2tTaXplKCkKK3sKICNpZiBQ
TEFURk9STShCTEFDS0JFUlJZKQorICAgIHJldHVybiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0
dGluZ3M6Omluc3RhbmNlKCktPnNlY29uZGFyeVRocmVhZFN0YWNrU2l6ZSgpOworI2Vsc2UKKyAg
ICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiBUaHJlYWRJZGVudGlmaWVyIGNyZWF0ZVRocmVhZElu
dGVybmFsKFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIq
IHRocmVhZE5hbWUpCiB7CisgICAgc2l6ZV90IHN0YWNrU2l6ZSA9IHRocmVhZFN0YWNrU2l6ZSgp
OwogICAgIHB0aHJlYWRfYXR0cl90IGF0dHI7Ci0gICAgaWYgKHB0aHJlYWRfYXR0cl9pbml0KCZh
dHRyKSkgewotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9pbml0KCkgZmFpbGVkOiAl
ZCIsIGVycm5vKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgdm9pZCogc3RhY2tB
ZGRyOwotICAgIHNpemVfdCBzdGFja1NpemU7Ci0gICAgaWYgKHB0aHJlYWRfYXR0cl9nZXRzdGFj
aygmYXR0ciwgJnN0YWNrQWRkciwgJnN0YWNrU2l6ZSkpCi0gICAgICAgIExPR19FUlJPUigicHRo
cmVhZF9hdHRyX2dldHN0YWNrKCkgZmFpbGVkOiAlZCIsIGVycm5vKTsKLSAgICBlbHNlIHsKLSAg
ICAgICAgc3RhY2tTaXplID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5j
ZSgpLT5zZWNvbmRhcnlUaHJlYWRTdGFja1NpemUoKTsKLSAgICAgICAgaWYgKHB0aHJlYWRfYXR0
cl9zZXRzdGFjaygmYXR0ciwgc3RhY2tBZGRyLCBzdGFja1NpemUpKQorICAgIGJvb2wgc2V0U3Rh
Y2tTaXplID0gc3RhY2tTaXplID4gMDsKKyAgICBpZiAoc2V0U3RhY2tTaXplKSB7CisgICAgICAg
IGlmIChwdGhyZWFkX2F0dHJfaW5pdCgmYXR0cikpIHsKKyAgICAgICAgICAgIExPR19FUlJPUigi
cHRocmVhZF9hdHRyX2luaXQoKSBmYWlsZWQ6ICVkIiwgZXJybm8pOworICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIH0KKworICAgICAgICB2b2lkKiBzdGFja0FkZHI7CisgICAgICAgIHNp
emVfdCBzdGFja1NpemVEdW1teTsKKyAgICAgICAgaWYgKHB0aHJlYWRfYXR0cl9nZXRzdGFjaygm
YXR0ciwgJnN0YWNrQWRkciwgJnN0YWNrU2l6ZUR1bW15KSkKKyAgICAgICAgICAgIExPR19FUlJP
UigicHRocmVhZF9hdHRyX2dldHN0YWNrKCkgZmFpbGVkOiAlZCIsIGVycm5vKTsKKyAgICAgICAg
ZWxzZSBpZiAocHRocmVhZF9hdHRyX3NldHN0YWNrKCZhdHRyLCBzdGFja0FkZHIsIHN0YWNrU2l6
ZSkpCiAgICAgICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9nZXRzdGFjaygpIGZhaWxl
ZDogJWQiLCBlcnJubyk7CiAgICAgfQogCiAgICAgT3duUHRyPFRocmVhZEZ1bmN0aW9uSW52b2Nh
dGlvbj4gaW52b2NhdGlvbiA9IGFkb3B0UHRyKG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24o
ZW50cnlQb2ludCwgZGF0YSkpOwogICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7Ci0gICAgaWYg
KHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWRIYW5kbGUsICZhdHRyLCB3dGZUaHJlYWRFbnRyeVBvaW50
LCBpbnZvY2F0aW9uLmdldCgpKSkgewotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfY3JlYXRl
KCkgZmFpbGVkOiAlZCIsIGVycm5vKTsKKyAgICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZEhh
bmRsZSwgc2V0U3RhY2tTaXplID8gJmF0dHIgOiAwLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZv
Y2F0aW9uLmdldCgpKSkgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgcHRo
cmVhZCBhdCBlbnRyeSBwb2ludCAlcCB3aXRoIGRhdGEgJXA6ICVkIiwgd3RmVGhyZWFkRW50cnlQ
b2ludCwgaW52b2NhdGlvbi5nZXQoKSwgZXJybm8pOwogICAgICAgICB0aHJlYWRIYW5kbGUgPSAw
OwogICAgIH0KICAgICBwdGhyZWFkX3NldG5hbWVfbnAodGhyZWFkSGFuZGxlLCB0aHJlYWROYW1l
KTsKIAotICAgIHB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsKKyAgICBpZiAoc2V0U3RhY2tT
aXplKQorICAgICAgICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7CiAKICAgICBpZiAoIXRo
cmVhZEhhbmRsZSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0yMDIsMjMgKzIxMiw2IEBAIFRocmVh
ZElkZW50aWZpZXIgY3JlYXRlVGhyZWFkSW50ZXJuYWwoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2lu
dCwgdm9pZCogZGF0YSwgY29uCiAKICAgICByZXR1cm4gZXN0YWJsaXNoSWRlbnRpZmllckZvclB0
aHJlYWRIYW5kbGUodGhyZWFkSGFuZGxlKTsKIH0KLSNlbHNlCi1UaHJlYWRJZGVudGlmaWVyIGNy
ZWF0ZVRocmVhZEludGVybmFsKFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEs
IGNvbnN0IGNoYXIqKQotewotICAgIE93blB0cjxUaHJlYWRGdW5jdGlvbkludm9jYXRpb24+IGlu
dm9jYXRpb24gPSBhZG9wdFB0cihuZXcgVGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uKGVudHJ5UG9p
bnQsIGRhdGEpKTsKLSAgICBwdGhyZWFkX3QgdGhyZWFkSGFuZGxlOwotICAgIGlmIChwdGhyZWFk
X2NyZWF0ZSgmdGhyZWFkSGFuZGxlLCAwLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0aW9u
LmdldCgpKSkgewotICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgcHRocmVhZCBh
dCBlbnRyeSBwb2ludCAlcCB3aXRoIGRhdGEgJXAiLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZv
Y2F0aW9uLmdldCgpKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgLy8gQmFsYW5j
ZWQgYnkgYWRvcHRQdHIoKSBpbiB3dGZUaHJlYWRFbnRyeVBvaW50LgotICAgIFRocmVhZEZ1bmN0
aW9uSW52b2NhdGlvbiogbGVha2VkSW52b2NhdGlvbiA9IGludm9jYXRpb24ubGVha1B0cigpOwot
ICAgIFVOVVNFRF9QQVJBTShsZWFrZWRJbnZvY2F0aW9uKTsKLQotICAgIHJldHVybiBlc3RhYmxp
c2hJZGVudGlmaWVyRm9yUHRocmVhZEhhbmRsZSh0aHJlYWRIYW5kbGUpOwotfQotI2VuZGlmCiAK
IHZvaWQgaW5pdGlhbGl6ZUN1cnJlbnRUaHJlYWRJbnRlcm5hbChjb25zdCBjaGFyKiB0aHJlYWRO
YW1lKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153598</attachid>
            <date>2012-07-20 14:11:50 -0700</date>
            <delta_ts>2012-07-20 14:25:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91899-20120720171336.patch</filename>
            <type>text/plain</type>
            <size>4351</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3NzU2MmFiZjI3NmVhNGQxYjI3OWM4
MWI1OTliNWQ5YzZjMTM2OWQuLjQ3OGQ1Yzg1YWRjMGI3MmE5MzZhNGM1NDViM2U3MGEzNTgyZDEy
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIFJvYiBCdWlzICA8cmJ1aXNAcmlt
LmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gTWVyZ2UgY3JlYXRlVGhyZWFkSW50ZXJuYWwg
aW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1lcmdlIHRoZSBCbGFja0JlcnJ5IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIHdpdGgg
dGhlIG5vbiBCQiBvbmUuCisKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOgor
ICAgICAgICAoV1RGOjp0aHJlYWRTdGFja1NpemUpOgorICAgICAgICAoV1RGKToKKyAgICAgICAg
KFdURjo6Y3JlYXRlVGhyZWFkSW50ZXJuYWwpOgorCiAyMDEyLTA3LTE4ICBSb2IgQnVpcyAgPHJi
dWlzQHJpbS5jb20+CiAKICAgICAgICAgQWxpZ25tZW50IGNyYXNoIGluIE1JTUVTbmlmZmVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKaW5kZXggMmNmYTg3NGUwNGE2ZmI2ZDgxYTA4
NTFmNDc4ZWIwYTFjZjQ3YTQwYS4uMzM3ZWJmOGUwN2UyMThhOGM2MjVhZGQ0ZGEzYjBkOWNjZjA0
YmQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcApAQCAtNjQsNiArNjQsMTAg
QEAKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1TZXR0aW5ncy5oPgogI2VuZGlmCiAKKyNp
ZiBIQVZFKFBUSFJFQURfTlBfSCkKKyNpbmNsdWRlIDxwdGhyZWFkX25wLmg+CisjZW5kaWYKKwog
bmFtZXNwYWNlIFdURiB7CiAKIHR5cGVkZWYgSGFzaE1hcDxUaHJlYWRJZGVudGlmaWVyLCBwdGhy
ZWFkX3Q+IFRocmVhZE1hcDsKQEAgLTE2NCwzNCArMTY4LDQzIEBAIHN0YXRpYyB2b2lkKiB3dGZU
aHJlYWRFbnRyeVBvaW50KHZvaWQqIHBhcmFtKQogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMg
c2l6ZV90IHRocmVhZFN0YWNrU2l6ZSgpCit7CiAjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyAg
ICByZXR1cm4gQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5zZWNv
bmRhcnlUaHJlYWRTdGFja1NpemUoKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30K
KwogVGhyZWFkSWRlbnRpZmllciBjcmVhdGVUaHJlYWRJbnRlcm5hbChUaHJlYWRGdW5jdGlvbiBl
bnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb25zdCBjaGFyKiB0aHJlYWROYW1lKQogeworICAgIHNp
emVfdCBzdGFja1NpemUgPSB0aHJlYWRTdGFja1NpemUoKTsKICAgICBwdGhyZWFkX2F0dHJfdCBh
dHRyOwotICAgIGlmIChwdGhyZWFkX2F0dHJfaW5pdCgmYXR0cikpIHsKLSAgICAgICAgTE9HX0VS
Uk9SKCJwdGhyZWFkX2F0dHJfaW5pdCgpIGZhaWxlZDogJWQiLCBlcnJubyk7Ci0gICAgICAgIHJl
dHVybiAwOwotICAgIH0KLQotICAgIHZvaWQqIHN0YWNrQWRkcjsKLSAgICBzaXplX3Qgc3RhY2tT
aXplOwotICAgIGlmIChwdGhyZWFkX2F0dHJfZ2V0c3RhY2soJmF0dHIsICZzdGFja0FkZHIsICZz
dGFja1NpemUpKQotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9nZXRzdGFjaygpIGZh
aWxlZDogJWQiLCBlcnJubyk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0YWNrU2l6ZSA9IEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6aW5zdGFuY2UoKS0+c2Vjb25kYXJ5VGhyZWFkU3Rh
Y2tTaXplKCk7Ci0gICAgICAgIGlmIChwdGhyZWFkX2F0dHJfc2V0c3RhY2soJmF0dHIsIHN0YWNr
QWRkciwgc3RhY2tTaXplKSkKKyAgICBpZiAoc3RhY2tTaXplKSB7CisgICAgICAgIGlmIChwdGhy
ZWFkX2F0dHJfaW5pdCgmYXR0cikpIHsKKyAgICAgICAgICAgIExPR19FUlJPUigicHRocmVhZF9h
dHRyX2luaXQoKSBmYWlsZWQ6ICVkIiwgZXJybm8pOworICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIH0KKworICAgICAgICB2b2lkKiBzdGFja0FkZHI7CisgICAgICAgIHNpemVfdCBzdGFj
a1NpemVEdW1teTsKKyAgICAgICAgaWYgKHB0aHJlYWRfYXR0cl9nZXRzdGFjaygmYXR0ciwgJnN0
YWNrQWRkciwgJnN0YWNrU2l6ZUR1bW15KSkKKyAgICAgICAgICAgIExPR19FUlJPUigicHRocmVh
ZF9hdHRyX2dldHN0YWNrKCkgZmFpbGVkOiAlZCIsIGVycm5vKTsKKyAgICAgICAgZWxzZSBpZiAo
cHRocmVhZF9hdHRyX3NldHN0YWNrKCZhdHRyLCBzdGFja0FkZHIsIHN0YWNrU2l6ZSkpCiAgICAg
ICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9nZXRzdGFjaygpIGZhaWxlZDogJWQiLCBl
cnJubyk7CiAgICAgfQogCiAgICAgT3duUHRyPFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gaW52
b2NhdGlvbiA9IGFkb3B0UHRyKG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24oZW50cnlQb2lu
dCwgZGF0YSkpOwogICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7Ci0gICAgaWYgKHB0aHJlYWRf
Y3JlYXRlKCZ0aHJlYWRIYW5kbGUsICZhdHRyLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0
aW9uLmdldCgpKSkgewotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfY3JlYXRlKCkgZmFpbGVk
OiAlZCIsIGVycm5vKTsKKyAgICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZEhhbmRsZSwgc2V0
U3RhY2tTaXplID8gJmF0dHIgOiAwLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0aW9uLmdl
dCgpKSkgeworICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfY3JlYXRlIGZhaWxlZDogY291bGQg
bm90IGNyZWF0ZSBwdGhyZWFkIGF0IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcDogJWQiLCB3
dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0aW9uLmdldCgpLCBlcnJubyk7CiAgICAgICAgIHRo
cmVhZEhhbmRsZSA9IDA7CiAgICAgfQogICAgIHB0aHJlYWRfc2V0bmFtZV9ucCh0aHJlYWRIYW5k
bGUsIHRocmVhZE5hbWUpOwogCi0gICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOworICAg
IGlmIChzdGFja1NpemUpCisgICAgICAgIHB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsKIAog
ICAgIGlmICghdGhyZWFkSGFuZGxlKQogICAgICAgICByZXR1cm4gMDsKQEAgLTIwMiwyMyArMjE1
LDYgQEAgVGhyZWFkSWRlbnRpZmllciBjcmVhdGVUaHJlYWRJbnRlcm5hbChUaHJlYWRGdW5jdGlv
biBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb24KIAogICAgIHJldHVybiBlc3RhYmxpc2hJZGVu
dGlmaWVyRm9yUHRocmVhZEhhbmRsZSh0aHJlYWRIYW5kbGUpOwogfQotI2Vsc2UKLVRocmVhZElk
ZW50aWZpZXIgY3JlYXRlVGhyZWFkSW50ZXJuYWwoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwg
dm9pZCogZGF0YSwgY29uc3QgY2hhciopCi17Ci0gICAgT3duUHRyPFRocmVhZEZ1bmN0aW9uSW52
b2NhdGlvbj4gaW52b2NhdGlvbiA9IGFkb3B0UHRyKG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRp
b24oZW50cnlQb2ludCwgZGF0YSkpOwotICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7Ci0gICAg
aWYgKHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWRIYW5kbGUsIDAsIHd0ZlRocmVhZEVudHJ5UG9pbnQs
IGludm9jYXRpb24uZ2V0KCkpKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0
ZSBwdGhyZWFkIGF0IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcCIsIHd0ZlRocmVhZEVudHJ5
UG9pbnQsIGludm9jYXRpb24uZ2V0KCkpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAg
ICAvLyBCYWxhbmNlZCBieSBhZG9wdFB0cigpIGluIHd0ZlRocmVhZEVudHJ5UG9pbnQuCi0gICAg
VGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uKiBsZWFrZWRJbnZvY2F0aW9uID0gaW52b2NhdGlvbi5s
ZWFrUHRyKCk7Ci0gICAgVU5VU0VEX1BBUkFNKGxlYWtlZEludm9jYXRpb24pOwotCi0gICAgcmV0
dXJuIGVzdGFibGlzaElkZW50aWZpZXJGb3JQdGhyZWFkSGFuZGxlKHRocmVhZEhhbmRsZSk7Ci19
Ci0jZW5kaWYKIAogdm9pZCBpbml0aWFsaXplQ3VycmVudFRocmVhZEludGVybmFsKGNvbnN0IGNo
YXIqIHRocmVhZE5hbWUpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153601</attachid>
            <date>2012-07-20 14:25:25 -0700</date>
            <delta_ts>2012-07-23 08:27:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91899-20120720172717.patch</filename>
            <type>text/plain</type>
            <size>4348</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3NzU2MmFiZjI3NmVhNGQxYjI3OWM4
MWI1OTliNWQ5YzZjMTM2OWQuLjQ3OGQ1Yzg1YWRjMGI3MmE5MzZhNGM1NDViM2U3MGEzNTgyZDEy
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIFJvYiBCdWlzICA8cmJ1aXNAcmlt
LmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gTWVyZ2UgY3JlYXRlVGhyZWFkSW50ZXJuYWwg
aW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1lcmdlIHRoZSBCbGFja0JlcnJ5IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIHdpdGgg
dGhlIG5vbiBCQiBvbmUuCisKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOgor
ICAgICAgICAoV1RGOjp0aHJlYWRTdGFja1NpemUpOgorICAgICAgICAoV1RGKToKKyAgICAgICAg
KFdURjo6Y3JlYXRlVGhyZWFkSW50ZXJuYWwpOgorCiAyMDEyLTA3LTE4ICBSb2IgQnVpcyAgPHJi
dWlzQHJpbS5jb20+CiAKICAgICAgICAgQWxpZ25tZW50IGNyYXNoIGluIE1JTUVTbmlmZmVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKaW5kZXggMmNmYTg3NGUwNGE2ZmI2ZDgxYTA4
NTFmNDc4ZWIwYTFjZjQ3YTQwYS4uYzRjZDUyMGI0NjhlYmQwMzc5MDYzZWM0OTg1Nzc4M2ZkZTZi
NDY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcApAQCAtNjQsNiArNjQsMTAg
QEAKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1TZXR0aW5ncy5oPgogI2VuZGlmCiAKKyNp
ZiBIQVZFKFBUSFJFQURfTlBfSCkKKyNpbmNsdWRlIDxwdGhyZWFkX25wLmg+CisjZW5kaWYKKwog
bmFtZXNwYWNlIFdURiB7CiAKIHR5cGVkZWYgSGFzaE1hcDxUaHJlYWRJZGVudGlmaWVyLCBwdGhy
ZWFkX3Q+IFRocmVhZE1hcDsKQEAgLTE2NCwzNCArMTY4LDQzIEBAIHN0YXRpYyB2b2lkKiB3dGZU
aHJlYWRFbnRyeVBvaW50KHZvaWQqIHBhcmFtKQogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMg
c2l6ZV90IHRocmVhZFN0YWNrU2l6ZSgpCit7CiAjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyAg
ICByZXR1cm4gQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5zZWNv
bmRhcnlUaHJlYWRTdGFja1NpemUoKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30K
KwogVGhyZWFkSWRlbnRpZmllciBjcmVhdGVUaHJlYWRJbnRlcm5hbChUaHJlYWRGdW5jdGlvbiBl
bnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb25zdCBjaGFyKiB0aHJlYWROYW1lKQogeworICAgIHNp
emVfdCBzdGFja1NpemUgPSB0aHJlYWRTdGFja1NpemUoKTsKICAgICBwdGhyZWFkX2F0dHJfdCBh
dHRyOwotICAgIGlmIChwdGhyZWFkX2F0dHJfaW5pdCgmYXR0cikpIHsKLSAgICAgICAgTE9HX0VS
Uk9SKCJwdGhyZWFkX2F0dHJfaW5pdCgpIGZhaWxlZDogJWQiLCBlcnJubyk7Ci0gICAgICAgIHJl
dHVybiAwOwotICAgIH0KLQotICAgIHZvaWQqIHN0YWNrQWRkcjsKLSAgICBzaXplX3Qgc3RhY2tT
aXplOwotICAgIGlmIChwdGhyZWFkX2F0dHJfZ2V0c3RhY2soJmF0dHIsICZzdGFja0FkZHIsICZz
dGFja1NpemUpKQotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9nZXRzdGFjaygpIGZh
aWxlZDogJWQiLCBlcnJubyk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0YWNrU2l6ZSA9IEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6aW5zdGFuY2UoKS0+c2Vjb25kYXJ5VGhyZWFkU3Rh
Y2tTaXplKCk7Ci0gICAgICAgIGlmIChwdGhyZWFkX2F0dHJfc2V0c3RhY2soJmF0dHIsIHN0YWNr
QWRkciwgc3RhY2tTaXplKSkKKyAgICBpZiAoc3RhY2tTaXplKSB7CisgICAgICAgIGlmIChwdGhy
ZWFkX2F0dHJfaW5pdCgmYXR0cikpIHsKKyAgICAgICAgICAgIExPR19FUlJPUigicHRocmVhZF9h
dHRyX2luaXQoKSBmYWlsZWQ6ICVkIiwgZXJybm8pOworICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIH0KKworICAgICAgICB2b2lkKiBzdGFja0FkZHI7CisgICAgICAgIHNpemVfdCBzdGFj
a1NpemVEdW1teTsKKyAgICAgICAgaWYgKHB0aHJlYWRfYXR0cl9nZXRzdGFjaygmYXR0ciwgJnN0
YWNrQWRkciwgJnN0YWNrU2l6ZUR1bW15KSkKKyAgICAgICAgICAgIExPR19FUlJPUigicHRocmVh
ZF9hdHRyX2dldHN0YWNrKCkgZmFpbGVkOiAlZCIsIGVycm5vKTsKKyAgICAgICAgZWxzZSBpZiAo
cHRocmVhZF9hdHRyX3NldHN0YWNrKCZhdHRyLCBzdGFja0FkZHIsIHN0YWNrU2l6ZSkpCiAgICAg
ICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9nZXRzdGFjaygpIGZhaWxlZDogJWQiLCBl
cnJubyk7CiAgICAgfQogCiAgICAgT3duUHRyPFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gaW52
b2NhdGlvbiA9IGFkb3B0UHRyKG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24oZW50cnlQb2lu
dCwgZGF0YSkpOwogICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7Ci0gICAgaWYgKHB0aHJlYWRf
Y3JlYXRlKCZ0aHJlYWRIYW5kbGUsICZhdHRyLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0
aW9uLmdldCgpKSkgewotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfY3JlYXRlKCkgZmFpbGVk
OiAlZCIsIGVycm5vKTsKKyAgICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZEhhbmRsZSwgc3Rh
Y2tTaXplID8gJmF0dHIgOiAwLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0aW9uLmdldCgp
KSkgeworICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfY3JlYXRlIGZhaWxlZDogY291bGQgbm90
IGNyZWF0ZSBwdGhyZWFkIGF0IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcDogJWQiLCB3dGZU
aHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0aW9uLmdldCgpLCBlcnJubyk7CiAgICAgICAgIHRocmVh
ZEhhbmRsZSA9IDA7CiAgICAgfQogICAgIHB0aHJlYWRfc2V0bmFtZV9ucCh0aHJlYWRIYW5kbGUs
IHRocmVhZE5hbWUpOwogCi0gICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOworICAgIGlm
IChzdGFja1NpemUpCisgICAgICAgIHB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsKIAogICAg
IGlmICghdGhyZWFkSGFuZGxlKQogICAgICAgICByZXR1cm4gMDsKQEAgLTIwMiwyMyArMjE1LDYg
QEAgVGhyZWFkSWRlbnRpZmllciBjcmVhdGVUaHJlYWRJbnRlcm5hbChUaHJlYWRGdW5jdGlvbiBl
bnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb24KIAogICAgIHJldHVybiBlc3RhYmxpc2hJZGVudGlm
aWVyRm9yUHRocmVhZEhhbmRsZSh0aHJlYWRIYW5kbGUpOwogfQotI2Vsc2UKLVRocmVhZElkZW50
aWZpZXIgY3JlYXRlVGhyZWFkSW50ZXJuYWwoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9p
ZCogZGF0YSwgY29uc3QgY2hhciopCi17Ci0gICAgT3duUHRyPFRocmVhZEZ1bmN0aW9uSW52b2Nh
dGlvbj4gaW52b2NhdGlvbiA9IGFkb3B0UHRyKG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24o
ZW50cnlQb2ludCwgZGF0YSkpOwotICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7Ci0gICAgaWYg
KHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWRIYW5kbGUsIDAsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGlu
dm9jYXRpb24uZ2V0KCkpKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBw
dGhyZWFkIGF0IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcCIsIHd0ZlRocmVhZEVudHJ5UG9p
bnQsIGludm9jYXRpb24uZ2V0KCkpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAv
LyBCYWxhbmNlZCBieSBhZG9wdFB0cigpIGluIHd0ZlRocmVhZEVudHJ5UG9pbnQuCi0gICAgVGhy
ZWFkRnVuY3Rpb25JbnZvY2F0aW9uKiBsZWFrZWRJbnZvY2F0aW9uID0gaW52b2NhdGlvbi5sZWFr
UHRyKCk7Ci0gICAgVU5VU0VEX1BBUkFNKGxlYWtlZEludm9jYXRpb24pOwotCi0gICAgcmV0dXJu
IGVzdGFibGlzaElkZW50aWZpZXJGb3JQdGhyZWFkSGFuZGxlKHRocmVhZEhhbmRsZSk7Ci19Ci0j
ZW5kaWYKIAogdm9pZCBpbml0aWFsaXplQ3VycmVudFRocmVhZEludGVybmFsKGNvbnN0IGNoYXIq
IHRocmVhZE5hbWUpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153804</attachid>
            <date>2012-07-23 08:27:52 -0700</date>
            <delta_ts>2012-07-23 08:39:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91899-20120723112943.patch</filename>
            <type>text/plain</type>
            <size>3424</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3NzU2MmFiZjI3NmVhNGQxYjI3OWM4
MWI1OTliNWQ5YzZjMTM2OWQuLmViM2YwNjkyMWI0MzRiMzJlNTBmYzVkZDNhMDA1NTNmMjhiYWMx
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDctMjMgIFJvYiBCdWlzICA8cmJ1aXNAcmlt
LmNvbT4KKworICAgICAgICBNZXJnZSBjcmVhdGVUaHJlYWRJbnRlcm5hbCBpbXBsZW1lbnRhdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxODk5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUFIgMTEx
Njc1CisKKyAgICAgICAgUmVtb3ZlIG91ciBpbXBsZW1lbnRhdGlvbiBzaW5jZSB0aGUgZGVmYXVs
dCB0aHJlYWQgc3RhY2sgc2l6ZSBvbiBRTlggaXMgZmluZS4KKworICAgICAgICAqIHd0Zi9UaHJl
YWRpbmdQdGhyZWFkcy5jcHA6CisgICAgICAgIChXVEY6OmNyZWF0ZVRocmVhZEludGVybmFsKToK
KyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZUN1cnJlbnRUaHJlYWRJbnRlcm5hbCk6IG1ha2Ugc3Vy
ZSB3ZSBzZXQgdGhlIHRocmVhZCBuYW1lLgorCiAyMDEyLTA3LTE4ICBSb2IgQnVpcyAgPHJidWlz
QHJpbS5jb20+CiAKICAgICAgICAgQWxpZ25tZW50IGNyYXNoIGluIE1JTUVTbmlmZmVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKaW5kZXggMmNmYTg3NGUwNGE2ZmI2ZDgxYTA4NTFm
NDc4ZWIwYTFjZjQ3YTQwYS4uOTIxZGQzYmU3Y2U0ZDBlODAwODRjMGU2N2UwYzBiZThmOGFjN2E3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcApAQCAtNTksMTEgKzU5LDYgQEAK
ICNpbmNsdWRlIDxvYmpjL29iamMtYXV0by5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShCTEFD
S0JFUlJZKQotI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybU1pc2MuaD4KLSNpbmNsdWRlIDxC
bGFja0JlcnJ5UGxhdGZvcm1TZXR0aW5ncy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXVEYgewog
CiB0eXBlZGVmIEhhc2hNYXA8VGhyZWFkSWRlbnRpZmllciwgcHRocmVhZF90PiBUaHJlYWRNYXA7
CkBAIC0xNjQsNDUgKzE1OSw2IEBAIHN0YXRpYyB2b2lkKiB3dGZUaHJlYWRFbnRyeVBvaW50KHZv
aWQqIHBhcmFtKQogICAgIHJldHVybiAwOwogfQogCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkK
LVRocmVhZElkZW50aWZpZXIgY3JlYXRlVGhyZWFkSW50ZXJuYWwoVGhyZWFkRnVuY3Rpb24gZW50
cnlQb2ludCwgdm9pZCogZGF0YSwgY29uc3QgY2hhciogdGhyZWFkTmFtZSkKLXsKLSAgICBwdGhy
ZWFkX2F0dHJfdCBhdHRyOwotICAgIGlmIChwdGhyZWFkX2F0dHJfaW5pdCgmYXR0cikpIHsKLSAg
ICAgICAgTE9HX0VSUk9SKCJwdGhyZWFkX2F0dHJfaW5pdCgpIGZhaWxlZDogJWQiLCBlcnJubyk7
Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIHZvaWQqIHN0YWNrQWRkcjsKLSAgICBz
aXplX3Qgc3RhY2tTaXplOwotICAgIGlmIChwdGhyZWFkX2F0dHJfZ2V0c3RhY2soJmF0dHIsICZz
dGFja0FkZHIsICZzdGFja1NpemUpKQotICAgICAgICBMT0dfRVJST1IoInB0aHJlYWRfYXR0cl9n
ZXRzdGFjaygpIGZhaWxlZDogJWQiLCBlcnJubyk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0YWNr
U2l6ZSA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6aW5zdGFuY2UoKS0+c2Vjb25k
YXJ5VGhyZWFkU3RhY2tTaXplKCk7Ci0gICAgICAgIGlmIChwdGhyZWFkX2F0dHJfc2V0c3RhY2so
JmF0dHIsIHN0YWNrQWRkciwgc3RhY2tTaXplKSkKLSAgICAgICAgICAgIExPR19FUlJPUigicHRo
cmVhZF9hdHRyX2dldHN0YWNrKCkgZmFpbGVkOiAlZCIsIGVycm5vKTsKLSAgICB9Ci0KLSAgICBP
d25QdHI8VGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uPiBpbnZvY2F0aW9uID0gYWRvcHRQdHIobmV3
IFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbihlbnRyeVBvaW50LCBkYXRhKSk7Ci0gICAgcHRocmVh
ZF90IHRocmVhZEhhbmRsZTsKLSAgICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZEhhbmRsZSwg
JmF0dHIsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGludm9jYXRpb24uZ2V0KCkpKSB7Ci0gICAgICAg
IExPR19FUlJPUigicHRocmVhZF9jcmVhdGUoKSBmYWlsZWQ6ICVkIiwgZXJybm8pOwotICAgICAg
ICB0aHJlYWRIYW5kbGUgPSAwOwotICAgIH0KLSAgICBwdGhyZWFkX3NldG5hbWVfbnAodGhyZWFk
SGFuZGxlLCB0aHJlYWROYW1lKTsKLQotICAgIHB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsK
LQotICAgIGlmICghdGhyZWFkSGFuZGxlKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIEJh
bGFuY2VkIGJ5IGFkb3B0UHRyKCkgaW4gd3RmVGhyZWFkRW50cnlQb2ludC4KLSAgICBUaHJlYWRG
dW5jdGlvbkludm9jYXRpb24qIGxlYWtlZEludm9jYXRpb24gPSBpbnZvY2F0aW9uLmxlYWtQdHIo
KTsKLSAgICBVTlVTRURfUEFSQU0obGVha2VkSW52b2NhdGlvbik7Ci0KLSAgICByZXR1cm4gZXN0
YWJsaXNoSWRlbnRpZmllckZvclB0aHJlYWRIYW5kbGUodGhyZWFkSGFuZGxlKTsKLX0KLSNlbHNl
CiBUaHJlYWRJZGVudGlmaWVyIGNyZWF0ZVRocmVhZEludGVybmFsKFRocmVhZEZ1bmN0aW9uIGVu
dHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIqKQogewogICAgIE93blB0cjxUaHJlYWRG
dW5jdGlvbkludm9jYXRpb24+IGludm9jYXRpb24gPSBhZG9wdFB0cihuZXcgVGhyZWFkRnVuY3Rp
b25JbnZvY2F0aW9uKGVudHJ5UG9pbnQsIGRhdGEpKTsKQEAgLTIxOCwxMiArMTc0LDEzIEBAIFRo
cmVhZElkZW50aWZpZXIgY3JlYXRlVGhyZWFkSW50ZXJuYWwoVGhyZWFkRnVuY3Rpb24gZW50cnlQ
b2ludCwgdm9pZCogZGF0YSwgY29uCiAKICAgICByZXR1cm4gZXN0YWJsaXNoSWRlbnRpZmllckZv
clB0aHJlYWRIYW5kbGUodGhyZWFkSGFuZGxlKTsKIH0KLSNlbmRpZgogCiB2b2lkIGluaXRpYWxp
emVDdXJyZW50VGhyZWFkSW50ZXJuYWwoY29uc3QgY2hhciogdGhyZWFkTmFtZSkKIHsKICNpZiBI
QVZFKFBUSFJFQURfU0VUTkFNRV9OUCkKICAgICBwdGhyZWFkX3NldG5hbWVfbnAodGhyZWFkTmFt
ZSk7CisjZWxpZiBPUyhRTlgpCisgICAgcHRocmVhZF9zZXRuYW1lX25wKHB0aHJlYWRfc2VsZigp
LCB0aHJlYWROYW1lKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHRocmVhZE5hbWUpOwogI2Vu
ZGlmCg==
</data>
<flag name="review"
          id="162853"
          type_id="1"
          status="+"
          setter="yong.li.webkit"
    />
          </attachment>
      

    </bug>

</bugzilla>