<?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>158187</bug_id>
          
          <creation_ts>2016-05-28 22:03:41 -0700</creation_ts>
          <short_desc>Make ScriptExecutionContext::Task work in terms of wtf::NoncopyableFunction instead of std::function</short_desc>
          <delta_ts>2016-05-29 21:29:12 -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>WebCore Misc.</component>
          <version>WebKit 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>
          
          <blocked>158173</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1197459</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-28 22:03:41 -0700</bug_when>
    <thetext>Make ScriptExecutionContext::Task work in terms of wtf::NoncopyableFunction instead of std::function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197460</commentid>
    <comment_count>1</comment_count>
      <attachid>280054</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-28 22:15:11 -0700</bug_when>
    <thetext>Created attachment 280054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197461</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-28 22:17:00 -0700</bug_when>
    <thetext>Attachment 280054 did not pass style-queue:


ERROR: Source/WebCore/dom/ScriptExecutionContext.h:136:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:143:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:149:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:166:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 6 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>1197462</commentid>
    <comment_count>3</comment_count>
      <attachid>280055</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-28 22:33:37 -0700</bug_when>
    <thetext>Created attachment 280055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197463</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-28 22:35:49 -0700</bug_when>
    <thetext>Attachment 280055 did not pass style-queue:


ERROR: Source/WebCore/dom/ScriptExecutionContext.h:136:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:143:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:149:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:166:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 7 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>1197464</commentid>
    <comment_count>5</comment_count>
      <attachid>280055</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-28 22:52:59 -0700</bug_when>
    <thetext>Comment on attachment 280055
Patch

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

&gt; Source/WebCore/dom/ScriptExecutionContext.h:143
&gt; +        Task(std::function&lt;void ()&gt; task)

How about this one? Shouldn&apos;t this be a NoncopyableFunction&lt;void ()&gt;&amp;&amp; task?

Note that would require updating TaskDispatcher::postTask() as well probably, in GenericTaskQueue.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197465</commentid>
    <comment_count>6</comment_count>
      <attachid>280055</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-28 22:54:48 -0700</bug_when>
    <thetext>Comment on attachment 280055
Patch

Are you planning to clean up the lambda captures at the postTask() call sites in a separate patch? Using NoncopyableFunction in Task, should allow a decent amount of clean up (including getting rid of some StringCapture uses).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197504</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-29 11:39:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 280055 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=280055&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/ScriptExecutionContext.h:143
&gt; &gt; +        Task(std::function&lt;void ()&gt; task)
&gt; 
&gt; How about this one? Shouldn&apos;t this be a NoncopyableFunction&lt;void ()&gt;&amp;&amp; task?
&gt; 
&gt; Note that would require updating TaskDispatcher::postTask() as well
&gt; probably, in GenericTaskQueue.h.

Right - I plan on moving iteratively on this so each patch is more targeted..  There should be 3 or 4 steps - This is just the first.

Making that change here blows up the patch a lot.(In reply to comment #6)

&gt; Are you planning to clean up the lambda captures at the postTask() call
&gt; sites in a separate patch? Using NoncopyableFunction in Task, should allow a
&gt; decent amount of clean up (including getting rid of some StringCapture uses).

Yes - That&apos;s in progress locally. Again, plan on moving in smaller steps :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197507</commentid>
    <comment_count>8</comment_count>
      <attachid>280055</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-29 12:02:16 -0700</bug_when>
    <thetext>Comment on attachment 280055
Patch

R=me, definitely a step in the right direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197535</commentid>
    <comment_count>9</comment_count>
      <attachid>280055</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-29 21:29:07 -0700</bug_when>
    <thetext>Comment on attachment 280055
Patch

Clearing flags on attachment: 280055

Committed r201496: &lt;http://trac.webkit.org/changeset/201496&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197536</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-29 21:29:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280054</attachid>
            <date>2016-05-28 22:15:11 -0700</date>
            <delta_ts>2016-05-28 22:33:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158187-20160528221623.patch</filename>
            <type>text/plain</type>
            <size>5892</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUwZjkxOGU2MTdjZDE4
ODIxNjA1OGIxNzYwNzI0MDFjODcwZDRiNi4uNTg5NjRjOGEzNjQyZjgzOTJkYTUwZjMxZTI0MjFj
MGQ0MThkMGU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA1LTI4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2sgd29yayBpbiB0ZXJtcyBvZiB3dGY6Ok5vbmNvcHlhYmxlRnVuY3Rp
b24gaW5zdGVhZCBvZiBzdGQ6OmZ1bmN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChSZWZhY3Rvciwgbm8gYmVoYXZpb3Ig
Y2hhbmdlKS4KKworICAgICAgICBBbHNvIG1ha2UgcG9zdFRhc2sgdGFrZSBhbiBydmFsdWUgcmVm
ZXJlbmNlLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50Ojpwb3N0VGFzayk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
IAorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrOjpUYXNrKToKKyAgICAgICAgCisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2spOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuaDoKKwogMjAxNi0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIFRlbXBsYXRpemUgTm9uY29weWFibGVGdW5jdGlvbiBjbGFzcyBzaW1pbGFy
bHkgdG8gc3RkOjpmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNmM2YjMxYzUw
N2JmNTBkNmU2NDk5YmU4ZTY2YmVmNjNhNTdlMGQxNS4uY2ZiNDdiNTZhOGQ5NzJhYmIwNGIzNDhh
YTY1MWY4ZmYwM2RiMGQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC01Mzg0LDcgKzUz
ODQsNyBAQCBTZWN1cml0eU9yaWdpbiogRG9jdW1lbnQ6OnRvcE9yaWdpbigpIGNvbnN0CiAgICAg
cmV0dXJuIHRvcERvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKTsKIH0KIAotdm9pZCBEb2N1bWVu
dDo6cG9zdFRhc2soVGFzayB0YXNrKQordm9pZCBEb2N1bWVudDo6cG9zdFRhc2soVGFzayYmIHRh
c2spCiB7CiAgICAgY2FsbE9uTWFpblRocmVhZChbZG9jdW1lbnRSZWZlcmVuY2UgPSBtX3dlYWtG
YWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSwgdGFzayA9IFdURk1vdmUodGFzayldKCkgbXV0YWJsZSB7
CiAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IDY1ODE5ZGZkM2I0ODFkNGQ3NDM3NDQ1YWQxYzlmYTRiNTdlZjJhOGEuLjEyYmFhMjBhYzlkMzEw
MmQyZWMyOGE4MzllYzY4MDIwZGU0MWZhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC05NzUs
NyArOTc1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNETlNQcmVmZXRjaEVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzRE5TUHJlZmV0Y2hFbmFibGVkOyB9CiAgICAgdm9pZCBwYXJzZUROU1By
ZWZldGNoQ29udHJvbEhlYWRlcihjb25zdCBTdHJpbmcmKTsKIAotICAgIHZvaWQgcG9zdFRhc2so
VGFzaykgZmluYWw7IC8vIEV4ZWN1dGVzIHRoZSB0YXNrIG9uIGNvbnRleHQncyB0aHJlYWQgYXN5
bmNocm9ub3VzbHkuCisgICAgdm9pZCBwb3N0VGFzayhUYXNrJiYpIGZpbmFsOyAvLyBFeGVjdXRl
cyB0aGUgdGFzayBvbiBjb250ZXh0J3MgdGhyZWFkIGFzeW5jaHJvbm91c2x5LgogCiAjaWYgRU5B
QkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlciogc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKCkgeyByZXR1cm4gbV9zY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCmluZGV4IDRhZDAwYjNiMWQxZTJlMjVhZDQwOTYzZjdhNzU2MDcwNTA4
NGMwMDYuLjI2ZWE1ZDkyMGQ3NmQxNjU5NjFjOThmMTU4MzVkMzY5OGFiNzg0M2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9Db25zb2xl
VHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZUZ1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAt
MTMyLDIwICsxMzMsMjAgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDbGVh
bnVwVGFza1RhZyB7IENsZWFudXBUYXNrIH07CiAKLSAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhc3RkOjppc19iYXNlX29mPFRh
c2ssIFQ+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPj46OnZhbHVlPjo6dHlwZT4KKyAgICAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhc3Rk
Ojppc19iYXNlX29mPFRhc2ssIFQ+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIE5v
bmNvcHlhYmxlRnVuY3Rpb248dm9pZCAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPj46OnZhbHVl
Pjo6dHlwZT4KICAgICAgICAgVGFzayhUIHRhc2spCiAgICAgICAgICAgICA6IG1fdGFzayhXVEZN
b3ZlKHRhc2spKQogICAgICAgICAgICAgLCBtX2lzQ2xlYW51cFRhc2soZmFsc2UpCiAgICAgICAg
IHsKICAgICAgICAgfQogCi0gICAgICAgIFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2sp
CisgICAgICAgIFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkICgpPiB0YXNrKQogICAgICAgICAgICAg
OiBtX3Rhc2soW3Rhc2tdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7IHRhc2soKTsgfSkKICAg
ICAgICAgICAgICwgbV9pc0NsZWFudXBUYXNrKGZhbHNlKQogICAgICAgICB7CiAgICAgICAgIH0K
IAotICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPHN0ZDo6aXNfY29udmVydGlibGU8VCwgc3RkOjpmdW5jdGlvbjx2b2lkIChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Jik+Pjo6dmFsdWU+Ojp0eXBlPgorICAgICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfY29u
dmVydGlibGU8VCwgTm9uY29weWFibGVGdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRpb25Db250
ZXh0Jik+Pjo6dmFsdWU+Ojp0eXBlPgogICAgICAgICBUYXNrKENsZWFudXBUYXNrVGFnLCBUIHRh
c2spCiAgICAgICAgICAgICA6IG1fdGFzayhXVEZNb3ZlKHRhc2spKQogICAgICAgICAgICAgLCBt
X2lzQ2xlYW51cFRhc2sodHJ1ZSkKQEAgLTE2MiwxMSArMTYzLDExIEBAIHB1YmxpYzoKICAgICAg
ICAgYm9vbCBpc0NsZWFudXBUYXNrKCkgY29uc3QgeyByZXR1cm4gbV9pc0NsZWFudXBUYXNrOyB9
CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpPiBtX3Rhc2s7CisgICAgICAgIE5vbmNvcHlhYmxlRnVuY3Rpb248dm9p
ZCAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiBtX3Rhc2s7CiAgICAgICAgIGJvb2wgbV9pc0Ns
ZWFudXBUYXNrOwogICAgIH07CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2soVGFzaykgPSAw
OyAvLyBFeGVjdXRlcyB0aGUgdGFzayBvbiBjb250ZXh0J3MgdGhyZWFkIGFzeW5jaHJvbm91c2x5
LgorICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFzayhUYXNrJiYpID0gMDsgLy8gRXhlY3V0ZXMgdGhl
IHRhc2sgb24gY29udGV4dCdzIHRocmVhZCBhc3luY2hyb25vdXNseS4KIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICB2b2lkIHBvc3RDcm9zc1RocmVhZFRhc2soQXJn
dW1lbnRzJiYuLi4gYXJndW1lbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmNwcAppbmRleCA1NDc0ZmE4OGZkMmEzMjc1ZjllZGFlY2E5OWRkMDk3NzZkYzc4
OTVkLi4xNTQ1NmU0OWQzN2FhNTU1OTZlNjk2NWQ4OGNkN2U1Mjk3YWY2MjViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMTczLDcgKzE3Myw3
IEBAIFdvcmtlck5hdmlnYXRvciYgV29ya2VyR2xvYmFsU2NvcGU6Om5hdmlnYXRvcigpIGNvbnN0
CiAgICAgcmV0dXJuICptX25hdmlnYXRvcjsKIH0KIAotdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6
cG9zdFRhc2soVGFzayB0YXNrKQordm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFz
ayYmIHRhc2spCiB7CiAgICAgdGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFdURk1vdmUodGFz
aykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4
IDdkZmM1ZDRkNDg1NzkyYmRlZDYwZTA5MzU3YTRhZTdmNWMyYTM5MmUuLjJmY2NkYWJiYWU4OGRl
NTEwYTlhYTU1NWRjNTllYmQzNTE0MDhjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogCiAgICAgdXNpbmcg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5OwogCi0gICAgdm9pZCBw
b3N0VGFzayhUYXNrKSBvdmVycmlkZTsgLy8gRXhlY3V0ZXMgdGhlIHRhc2sgb24gY29udGV4dCdz
IHRocmVhZCBhc3luY2hyb25vdXNseS4KKyAgICB2b2lkIHBvc3RUYXNrKFRhc2smJikgZmluYWw7
IC8vIEV4ZWN1dGVzIHRoZSB0YXNrIG9uIGNvbnRleHQncyB0aHJlYWQgYXN5bmNocm9ub3VzbHku
CiAKICAgICAvLyBXb3JrZXJHbG9iYWxTY29wZQogICAgIFdvcmtlckdsb2JhbFNjb3BlJiBzZWxm
KCkgeyByZXR1cm4gKnRoaXM7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280055</attachid>
            <date>2016-05-28 22:33:37 -0700</date>
            <delta_ts>2016-05-29 21:29:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158187-20160528223449.patch</filename>
            <type>text/plain</type>
            <size>6726</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUwZjkxOGU2MTdjZDE4
ODIxNjA1OGIxNzYwNzI0MDFjODcwZDRiNi4uNDdlNzFjMGJkYTJmMjBlNTc3YTM0ZjQ2ZGU4NjQ4
NzRiZmI2ODY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA1LTI4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2sgd29yayBpbiB0ZXJtcyBvZiB3dGY6Ok5vbmNvcHlhYmxlRnVuY3Rp
b24gaW5zdGVhZCBvZiBzdGQ6OmZ1bmN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChSZWZhY3Rvciwgbm8gYmVoYXZpb3Ig
Y2hhbmdlKS4KKworICAgICAgICBBbHNvIG1ha2UgcG9zdFRhc2sgdGFrZSBhbiBydmFsdWUgcmVm
ZXJlbmNlLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3RUYXNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTR2xvYmFsT2JqZWN0VGFzazo6SlNHbG9iYWxPYmplY3RU
YXNrKToKKyAgICAgICAgCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpwb3N0VGFzayk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6Cisg
ICAgICAgIAorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrOjpUYXNrKToKKyAgICAgICAg
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2spOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaDoKKwogMjAxNi0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFRlbXBsYXRpemUgTm9uY29weWFibGVGdW5jdGlvbiBjbGFzcyBz
aW1pbGFybHkgdG8gc3RkOjpmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3RUYXNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHAKaW5kZXggOWYzNmVkMzk5YjMzYmRjZDk5
MWI4N2Y5ZTUwOTBhODg3MzU5OTUzNi4uNWI5NTlkMmNlMGIyYjM3MzFjNTdlNDgwYmNhMTk4NWU1
NDA5ZjQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9i
YWxPYmplY3RUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdFRhc2suY3BwCkBAIC04MCw3ICs4MCw3IEBAIHByaXZhdGU6CiB9OwogCiBKU0ds
b2JhbE9iamVjdFRhc2s6OkpTR2xvYmFsT2JqZWN0VGFzayhKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBSZWY8TWljcm90YXNrPiYmIHRhc2spCi0gICAgOiBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpUYXNrKG51bGxwdHIpCisgICAgOiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNr
KHsgfSkKIHsKICAgICBSZWZQdHI8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBK
U0dsb2JhbE9iamVjdENhbGxiYWNrOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHRhc2sp
KTsKICAgICBtX3Rhc2sgPSBbY2FsbGJhY2tdIChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jikgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNmM2YjMxYzUwN2JmNTBkNmU2NDk5YmU4ZTY2YmVm
NjNhNTdlMGQxNS4uY2ZiNDdiNTZhOGQ5NzJhYmIwNGIzNDhhYTY1MWY4ZmYwM2RiMGQxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC01Mzg0LDcgKzUzODQsNyBAQCBTZWN1cml0eU9yaWdp
biogRG9jdW1lbnQ6OnRvcE9yaWdpbigpIGNvbnN0CiAgICAgcmV0dXJuIHRvcERvY3VtZW50KCku
c2VjdXJpdHlPcmlnaW4oKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6cG9zdFRhc2soVGFzayB0YXNr
KQordm9pZCBEb2N1bWVudDo6cG9zdFRhc2soVGFzayYmIHRhc2spCiB7CiAgICAgY2FsbE9uTWFp
blRocmVhZChbZG9jdW1lbnRSZWZlcmVuY2UgPSBtX3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIo
KSwgdGFzayA9IFdURk1vdmUodGFzayldKCkgbXV0YWJsZSB7CiAgICAgICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDY1ODE5ZGZkM2I0ODFkNGQ3NDM3
NDQ1YWQxYzlmYTRiNTdlZjJhOGEuLjEyYmFhMjBhYzlkMzEwMmQyZWMyOGE4MzllYzY4MDIwZGU0
MWZhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC05NzUsNyArOTc1LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNETlNQcmVmZXRjaEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRE5TUHJl
ZmV0Y2hFbmFibGVkOyB9CiAgICAgdm9pZCBwYXJzZUROU1ByZWZldGNoQ29udHJvbEhlYWRlcihj
b25zdCBTdHJpbmcmKTsKIAotICAgIHZvaWQgcG9zdFRhc2soVGFzaykgZmluYWw7IC8vIEV4ZWN1
dGVzIHRoZSB0YXNrIG9uIGNvbnRleHQncyB0aHJlYWQgYXN5bmNocm9ub3VzbHkuCisgICAgdm9p
ZCBwb3N0VGFzayhUYXNrJiYpIGZpbmFsOyAvLyBFeGVjdXRlcyB0aGUgdGFzayBvbiBjb250ZXh0
J3MgdGhyZWFkIGFzeW5jaHJvbm91c2x5LgogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKQogICAgIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlciogc2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyKCkgeyByZXR1cm4gbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuZ2V0
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4
IDRhZDAwYjNiMWQxZTJlMjVhZDQwOTYzZjdhNzU2MDcwNTA4NGMwMDYuLjI2ZWE1ZDkyMGQ3NmQx
NjU5NjFjOThmMTU4MzVkMzY5OGFiNzg0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9uLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtMTMyLDIwICsxMzMsMjAgQEAgcHVi
bGljOgogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDbGVhbnVwVGFza1RhZyB7IENsZWFudXBU
YXNrIH07CiAKLSAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSB0eXBlbmFt
ZSBzdGQ6OmVuYWJsZV9pZjwhc3RkOjppc19iYXNlX29mPFRhc2ssIFQ+Ojp2YWx1ZSAmJiBzdGQ6
OmlzX2NvbnZlcnRpYmxlPFQsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpPj46OnZhbHVlPjo6dHlwZT4KKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhc3RkOjppc19iYXNlX29mPFRhc2ssIFQ+
Ojp2YWx1ZSAmJiBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIE5vbmNvcHlhYmxlRnVuY3Rpb248dm9p
ZCAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPj46OnZhbHVlPjo6dHlwZT4KICAgICAgICAgVGFz
ayhUIHRhc2spCiAgICAgICAgICAgICA6IG1fdGFzayhXVEZNb3ZlKHRhc2spKQogICAgICAgICAg
ICAgLCBtX2lzQ2xlYW51cFRhc2soZmFsc2UpCiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAg
ICAgIFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2spCisgICAgICAgIFRhc2soc3RkOjpm
dW5jdGlvbjx2b2lkICgpPiB0YXNrKQogICAgICAgICAgICAgOiBtX3Rhc2soW3Rhc2tdKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKSB7IHRhc2soKTsgfSkKICAgICAgICAgICAgICwgbV9pc0NsZWFu
dXBUYXNrKGZhbHNlKQogICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfY29u
dmVydGlibGU8VCwgc3RkOjpmdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+
Pjo6dmFsdWU+Ojp0eXBlPgorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9
IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfY29udmVydGlibGU8VCwgTm9uY29weWFi
bGVGdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+Pjo6dmFsdWU+Ojp0eXBl
PgogICAgICAgICBUYXNrKENsZWFudXBUYXNrVGFnLCBUIHRhc2spCiAgICAgICAgICAgICA6IG1f
dGFzayhXVEZNb3ZlKHRhc2spKQogICAgICAgICAgICAgLCBtX2lzQ2xlYW51cFRhc2sodHJ1ZSkK
QEAgLTE2MiwxMSArMTYzLDExIEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBpc0NsZWFudXBUYXNr
KCkgY29uc3QgeyByZXR1cm4gbV9pc0NsZWFudXBUYXNrOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiBtX3Rh
c2s7CisgICAgICAgIE5vbmNvcHlhYmxlRnVuY3Rpb248dm9pZCAoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpPiBtX3Rhc2s7CiAgICAgICAgIGJvb2wgbV9pc0NsZWFudXBUYXNrOwogICAgIH07CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2soVGFzaykgPSAwOyAvLyBFeGVjdXRlcyB0aGUgdGFz
ayBvbiBjb250ZXh0J3MgdGhyZWFkIGFzeW5jaHJvbm91c2x5LgorICAgIHZpcnR1YWwgdm9pZCBw
b3N0VGFzayhUYXNrJiYpID0gMDsgLy8gRXhlY3V0ZXMgdGhlIHRhc2sgb24gY29udGV4dCdzIHRo
cmVhZCBhc3luY2hyb25vdXNseS4KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KICAgICB2b2lkIHBvc3RDcm9zc1RocmVhZFRhc2soQXJndW1lbnRzJiYuLi4gYXJndW1lbnRz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCA1
NDc0ZmE4OGZkMmEzMjc1ZjllZGFlY2E5OWRkMDk3NzZkYzc4OTVkLi4xNTQ1NmU0OWQzN2FhNTU1
OTZlNjk2NWQ4OGNkN2U1Mjk3YWY2MjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIFdvcmtlck5hdmlnYXRvciYg
V29ya2VyR2xvYmFsU2NvcGU6Om5hdmlnYXRvcigpIGNvbnN0CiAgICAgcmV0dXJuICptX25hdmln
YXRvcjsKIH0KIAotdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayB0YXNrKQor
dm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiB7CiAgICAgdGhy
ZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFdURk1vdmUodGFzaykpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDdkZmM1ZDRkNDg1NzkyYmRlZDYw
ZTA5MzU3YTRhZTdmNWMyYTM5MmUuLjJmY2NkYWJiYWU4OGRlNTEwYTlhYTU1NWRjNTllYmQzNTE0
MDhjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAg
LTg4LDcgKzg4LDcgQEAgcHVibGljOgogCiAgICAgdXNpbmcgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6aGFzUGVuZGluZ0FjdGl2aXR5OwogCi0gICAgdm9pZCBwb3N0VGFzayhUYXNrKSBvdmVycmlk
ZTsgLy8gRXhlY3V0ZXMgdGhlIHRhc2sgb24gY29udGV4dCdzIHRocmVhZCBhc3luY2hyb25vdXNs
eS4KKyAgICB2b2lkIHBvc3RUYXNrKFRhc2smJikgZmluYWw7IC8vIEV4ZWN1dGVzIHRoZSB0YXNr
IG9uIGNvbnRleHQncyB0aHJlYWQgYXN5bmNocm9ub3VzbHkuCiAKICAgICAvLyBXb3JrZXJHbG9i
YWxTY29wZQogICAgIFdvcmtlckdsb2JhbFNjb3BlJiBzZWxmKCkgeyByZXR1cm4gKnRoaXM7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>