<?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>160396</bug_id>
          
          <creation_ts>2016-08-01 00:41:10 -0700</creation_ts>
          <short_desc>Use std::unique_ptr for mfenced anonymous operators</short_desc>
          <delta_ts>2016-08-22 08:50:22 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>160245</dependson>
          <blocked>160509</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1216047</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-01 00:41:10 -0700</bug_when>
    <thetext>We do not plan to get rid of anonymous mfenced operators in the short term. Currently, these anonymous operators are stored as RenderPtr&lt;RenderMathMLFencedOperator&gt;. We should consider using std::unique_ptr&lt;RenderMathMLFencedOperator&gt; instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216926</commentid>
    <comment_count>1</comment_count>
      <attachid>285234</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-03 08:59:45 -0700</bug_when>
    <thetext>Created attachment 285234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218224</commentid>
    <comment_count>2</comment_count>
      <attachid>285234</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-06 00:13:41 -0700</bug_when>
    <thetext>Comment on attachment 285234
Patch

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

Why is this change safe? Why is it OK to just delete one of these instead of calling destroy() on it?

&gt; Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp:89
&gt; +    std::unique_ptr&lt;RenderMathMLFencedOperator&gt; newOperator = std::make_unique&lt;RenderMathMLFencedOperator&gt;(document(), RenderStyle::createAnonymousStyleWithDisplay(style(), BLOCK), operatorString, form, flag);

auto is preferred over writing out the long type here

&gt; Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp:96
&gt; +    std::unique_ptr&lt;RenderMathMLFencedOperator&gt; openFence = createMathMLOperator(m_open, MathMLOperatorDictionary::Prefix, MathMLOperatorDictionary::Fence);

auto is preferred over writing out the long type here

&gt; Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp:99
&gt; +    std::unique_ptr&lt;RenderMathMLFencedOperator&gt; closeFence = createMathMLOperator(m_close, MathMLOperatorDictionary::Postfix, MathMLOperatorDictionary::Fence);

auto is preferred over writing out the long type here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221723</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-21 03:09:12 -0700</bug_when>
    <thetext>@jfernandez: Since you suggested that change, can you please take a look at this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221847</commentid>
    <comment_count>4</comment_count>
      <attachid>285234</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-22 06:33:26 -0700</bug_when>
    <thetext>Comment on attachment 285234
Patch

I think that the change is correct, after applying the changes suggested by darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221849</commentid>
    <comment_count>5</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-22 06:40:15 -0700</bug_when>
    <thetext>After thinking a bit more on previous comments, I wonder we we want RenderMathMLFenced to be an unique_ptr, instead of a regular RefPtr like most of render objects are. 

I guess this change comes from the fact that this class is currently implemented using RenderPtr, which as far as I understand it, it&apos;s like the old OwnPtr smart pointer class. In that sense, using unique_ptr is the natural change, but I alos like to know why this class was implemented using RenderPTr in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221864</commentid>
    <comment_count>6</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 08:47:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; After thinking a bit more on previous comments, I wonder we we want
&gt; RenderMathMLFenced to be an unique_ptr, instead of a regular RefPtr like
&gt; most of render objects are. 
&gt; 
&gt; I guess this change comes from the fact that this class is currently
&gt; implemented using RenderPtr, which as far as I understand it, it&apos;s like the
&gt; old OwnPtr smart pointer class. In that sense, using unique_ptr is the
&gt; natural change, but I alos like to know why this class was implemented using
&gt; RenderPTr in the first place.

I&apos;m not sure about these. There is clearly an issue with the design of the mfenced element since its text is not in text node and one has to do some hack display it in some way: either by painting the text by hand (which is what Gecko does) or by creating an anonymous operators (which is what WebKit does and what is assumed by the accessibility code). r161491 seems to be where the anonymous operators became a RenderPtr, but there is no explanation on bug 126622.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221866</commentid>
    <comment_count>7</comment_count>
      <attachid>286598</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 08:50:06 -0700</bug_when>
    <thetext>Created attachment 286598
Patch

I&apos;m attaching the updated patch. I don&apos;t think it&apos;s urgent and in general my preference for bug 160509 would just be to drop support for the mfenced element. So I&apos;m unassigning myself from this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285234</attachid>
            <date>2016-08-03 08:59:45 -0700</date>
            <delta_ts>2016-08-22 08:50:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160396-20160803175821.patch</filename>
            <type>text/plain</type>
            <size>5910</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTkxMTFmOGI1MGI2M2M0
NmViNGU0Y2JjYzFjOWMwNzkxZmI0MzczOS4uYjU2Mjg5NjFkMDkyYjU2Y2UwYmI4OGE4ZDM2MGJl
MzBlNDEwZTUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA4LTAzICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBVc2Ugc3RkOjp1bmlxdWVf
cHRyIGZvciBtZmVuY2VkIGFub255bW91cyBvcGVyYXRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM5NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVoYXZpb3IgaXMgdW5j
aGFuZ2VkLgorCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRmVuY2VkOjpjcmVhdGVNYXRoTUxP
cGVyYXRvcik6IFJlcGxhY2UgUmVuZGVyUHRyIHdpdGggc3RkOjp1bmlxdWVfcHRyCisgICAgICAg
IGFuZCBjcmVhdGVSZW5kZXJlcigpIHdpdGggc3RkOjptYWtlX3VuaXF1ZSgpLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWF0aE1MRmVuY2VkOjptYWtlRmVuY2VzKTogUmVwbGFjZSBSZW5kZXJQ
dHIgd2l0aCBzdGQ6OnVuaXF1ZV9wdHIgYW5kCisgICAgICAgIGxlYWtQdHIoKSB3aXRoIHJlbGVh
c2UoKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQpOiBE
aXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oOiBS
ZXBsYWNlIFJlbmRlclB0ciB3aXRoIHN0ZDo6dW5pcXVlX3B0ci4KKwogMjAxNi0wOC0wMiAgRnJl
ZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgTW92ZSBkZXRlcm1pbmF0
aW9uIG9mIG9wZXJhdG9yIGRpcmVjdGlvbiBpbnRvIERPTSBjbGFzcyBhbmQgcmVkdWNlIHJlbGF5
b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTEZlbmNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTEZlbmNlZC5jcHAKaW5kZXggMzgzNzIxOWRlYzc5MzIwOTIzMGI3N2ZkMjFiNDEzMzlmM2Ez
NWZjNy4uN2I0MTkyY2MxZmI4NDE2YjZiY2NlN2NhMWQ5YjViYmFlZjE4NmU0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2Vk
LmNwcApAQCAtODQsMjEgKzg0LDIxIEBAIHZvaWQgUmVuZGVyTWF0aE1MRmVuY2VkOjp1cGRhdGVG
cm9tRWxlbWVudCgpCiAgICAgfQogfQogCi1SZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3Bl
cmF0b3I+IFJlbmRlck1hdGhNTEZlbmNlZDo6Y3JlYXRlTWF0aE1MT3BlcmF0b3IoY29uc3QgU3Ry
aW5nJiBvcGVyYXRvclN0cmluZywgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtIGZvcm0s
IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6RmxhZyBmbGFnKQorc3RkOjp1bmlxdWVfcHRyPFJl
bmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yPiBSZW5kZXJNYXRoTUxGZW5jZWQ6OmNyZWF0ZU1hdGhN
TE9wZXJhdG9yKGNvbnN0IFN0cmluZyYgb3BlcmF0b3JTdHJpbmcsIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6Rm9ybSBmb3JtLCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZsYWcgZmxhZykK
IHsKLSAgICBSZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+IG5ld09wZXJhdG9y
ID0gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+KGRvY3VtZW50KCks
IFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNwbGF5KHN0eWxlKCksIEJM
T0NLKSwgb3BlcmF0b3JTdHJpbmcsIGZvcm0sIGZsYWcpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gbmV3T3BlcmF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVl
PFJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yPihkb2N1bWVudCgpLCBSZW5kZXJTdHlsZTo6Y3Jl
YXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheShzdHlsZSgpLCBCTE9DSyksIG9wZXJhdG9yU3Ry
aW5nLCBmb3JtLCBmbGFnKTsKICAgICBuZXdPcGVyYXRvci0+aW5pdGlhbGl6ZVN0eWxlKCk7CiAg
ICAgcmV0dXJuIG5ld09wZXJhdG9yOwogfQogCiB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6bWFr
ZUZlbmNlcygpCiB7Ci0gICAgUmVuZGVyUHRyPFJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yPiBv
cGVuRmVuY2UgPSBjcmVhdGVNYXRoTUxPcGVyYXRvcihtX29wZW4sIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6UHJlZml4LCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlKTsKLSAgICBS
ZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKG9wZW5GZW5jZS5sZWFrUHRyKCksIGZpcnN0Q2hpbGQo
KSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yPiBvcGVu
RmVuY2UgPSBjcmVhdGVNYXRoTUxPcGVyYXRvcihtX29wZW4sIE1hdGhNTE9wZXJhdG9yRGljdGlv
bmFyeTo6UHJlZml4LCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlKTsKKyAgICBSZW5k
ZXJNYXRoTUxSb3c6OmFkZENoaWxkKG9wZW5GZW5jZS5yZWxlYXNlKCksIGZpcnN0Q2hpbGQoKSk7
CiAKLSAgICBSZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+IGNsb3NlRmVuY2Ug
PSBjcmVhdGVNYXRoTUxPcGVyYXRvcihtX2Nsb3NlLCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6
OlBvc3RmaXgsIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6RmVuY2UpOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gY2xvc2VGZW5jZSA9IGNyZWF0ZU1h
dGhNTE9wZXJhdG9yKG1fY2xvc2UsIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6UG9zdGZpeCwg
TWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGZW5jZSk7CiAgICAgbV9jbG9zZUZlbmNlUmVuZGVy
ZXIgPSBjbG9zZUZlbmNlLmdldCgpOwotICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoY2xv
c2VGZW5jZS5sZWFrUHRyKCkpOworICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoY2xvc2VG
ZW5jZS5yZWxlYXNlKCkpOwogfQogCiB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQo
UmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKQEAgLTEwOSw3
ICsxMDksNyBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0
KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogCiAgICAgLy8gRklYTUU6IEFkZGlu
ZyBvciByZW1vdmluZyBhIGNoaWxkIHNob3VsZCBwb3NzaWJseSBjYXVzZSBhbGwgbGF0ZXIgc2Vw
YXJhdG9ycyB0byBzaGlmdCBwbGFjZXMgaWYgdGhleSdyZSBkaWZmZXJlbnQsIGFzIGxhdGVyIGNo
aWxkIHBvc2l0aW9ucyBjaGFuZ2UgYnkgKzEgb3IgLTEuIFRoaXMgc2hvdWxkIGFsc28gaGFuZGxl
IHN1cnJvZ2F0ZSBwYWlycy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjU5MzguCiAKLSAgICBSZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+
IHNlcGFyYXRvclJlbmRlcmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJNYXRoTUxGZW5j
ZWRPcGVyYXRvcj4gc2VwYXJhdG9yUmVuZGVyZXI7CiAgICAgaWYgKG1fc2VwYXJhdG9ycy5nZXQo
KSkgewogICAgICAgICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOwogICAgICAgICBmb3IgKE5vZGUq
IHBvc2l0aW9uID0gY2hpbGQtPm5vZGUoKTsgcG9zaXRpb247IHBvc2l0aW9uID0gcG9zaXRpb24t
PnByZXZpb3VzU2libGluZygpKSB7CkBAIC0xNDEsMTEgKzE0MSwxMSBAQCB2b2lkIFJlbmRlck1h
dGhNTEZlbmNlZDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZAogICAgICAgICAvLyBBZGRpbmcgfHh8IGJlZm9yZSBhbiBleGlzdGluZyB8eXwg
ZS5nLiBpbiBlbGVtZW50ICh5KSAtIGZpcnN0IGluc2VydCBvdXIgbmV3IGNoaWxkIHx4fCwgdGhl
biBpdHMgc2VwYXJhdG9yLCB0byBnZXQgKHgsIHkpLgogICAgICAgICBSZW5kZXJNYXRoTUxSb3c6
OmFkZENoaWxkKGNoaWxkLCBiZWZvcmVDaGlsZCk7CiAgICAgICAgIGlmIChzZXBhcmF0b3JSZW5k
ZXJlcikKLSAgICAgICAgICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoc2VwYXJhdG9yUmVu
ZGVyZXIubGVha1B0cigpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICBSZW5kZXJNYXRoTUxS
b3c6OmFkZENoaWxkKHNlcGFyYXRvclJlbmRlcmVyLnJlbGVhc2UoKSwgYmVmb3JlQ2hpbGQpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEFkZGluZyB8eXwgYXQgdGhlIGVuZCBvZiBhbiBleGlz
dGluZyBlbGVtZW50IGUuZy4gKHgpIC0gaW5zZXJ0IHRoZSBzZXBhcmF0b3IgZmlyc3QgYmVmb3Jl
IHRoZSBjbG9zaW5nIGZlbmNlLCB0aGVuIHx5fCwgdG8gZ2V0ICh4LCB5KS4KICAgICAgICAgaWYg
KHNlcGFyYXRvclJlbmRlcmVyKQotICAgICAgICAgICAgUmVuZGVyTWF0aE1MUm93OjphZGRDaGls
ZChzZXBhcmF0b3JSZW5kZXJlci5sZWFrUHRyKCksIG1fY2xvc2VGZW5jZVJlbmRlcmVyKTsKKyAg
ICAgICAgICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoc2VwYXJhdG9yUmVuZGVyZXIucmVs
ZWFzZSgpLCBtX2Nsb3NlRmVuY2VSZW5kZXJlcik7CiAgICAgICAgIFJlbmRlck1hdGhNTFJvdzo6
YWRkQ2hpbGQoY2hpbGQsIG1fY2xvc2VGZW5jZVJlbmRlcmVyKTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuaApp
bmRleCBmNjI1Y2RhZTBjZTE3NjkwZjNmM2VlYjhkNTBkOGY3YWU3OTRhMGMzLi4wZDhlYWZhYTA1
MTdkYTA4YzliMjJiMGJmZTc2NGZiNzQ5OWIwYTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmgKQEAgLTQ0LDcgKzQ0LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZENoaWxkKFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQo
KSBmaW5hbDsKIAotICAgIFJlbmRlclB0cjxSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gY3Jl
YXRlTWF0aE1MT3BlcmF0b3IoY29uc3QgU3RyaW5nJiBvcGVyYXRvclN0cmluZywgTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5OjpGb3JtLCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZsYWcpOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gY3JlYXRlTWF0
aE1MT3BlcmF0b3IoY29uc3QgU3RyaW5nJiBvcGVyYXRvclN0cmluZywgTWF0aE1MT3BlcmF0b3JE
aWN0aW9uYXJ5OjpGb3JtLCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZsYWcpOwogICAgIHZv
aWQgbWFrZUZlbmNlcygpOwogCiAgICAgU3RyaW5nIG1fb3BlbjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286598</attachid>
            <date>2016-08-22 08:50:06 -0700</date>
            <delta_ts>2016-08-22 08:50:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Bug-160396-Use-std-unique_ptr-for-mfenced-anonymous-.patch</filename>
            <type>text/plain</type>
            <size>6062</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSBlM2FiMDMyNmJiNDA1OWVkMzM0YjJjYTgxZDhjODRmNmYyNDc5YTBmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogTW9uLCAyMiBBdWcgMjAxNiAxNzoyMjowNSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAx
NjAzOTYgLSBVc2Ugc3RkOjp1bmlxdWVfcHRyIGZvciBtZmVuY2VkIGFub255bW91cwogb3BlcmF0
b3JzCgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAgfCAxOCArKysrKysrKystLS0tLS0tLS0KIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmggICB8ICAy
ICstCiAzIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNmU1N2YyLi5hZWQxZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTYtMDgtMDMgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFVzZSBzdGQ6OnVuaXF1ZV9wdHIgZm9yIG1mZW5jZWQgYW5vbnltb3VzIG9wZXJhdG9ycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMzk2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBiZWhhdmlvciBpcyB1bmNoYW5nZWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTEZlbmNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxG
ZW5jZWQ6OmNyZWF0ZU1hdGhNTE9wZXJhdG9yKTogUmVwbGFjZSBSZW5kZXJQdHIgd2l0aCBzdGQ6
OnVuaXF1ZV9wdHIKKyAgICAgICAgYW5kIGNyZWF0ZVJlbmRlcmVyKCkgd2l0aCBzdGQ6Om1ha2Vf
dW5pcXVlKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxGZW5jZWQ6Om1ha2VGZW5j
ZXMpOiBSZXBsYWNlIFJlbmRlclB0ciB3aXRoIHN0ZDo6dW5pcXVlX3B0ciBhbmQKKyAgICAgICAg
bGVha1B0cigpIHdpdGggcmVsZWFzZSgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1M
RmVuY2VkOjphZGRDaGlsZCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MRmVuY2VkLmg6IFJlcGxhY2UgUmVuZGVyUHRyIHdpdGggc3RkOjp1bmlxdWVfcHRy
LgorCiAyMDE2LTA4LTIyICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSZW5hbWUgTWF0aE1MVGV4dEVsZW1lbnQgdG8gTWF0aE1MVG9rZW5FbGVtZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNl
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNl
ZC5jcHAKaW5kZXggMzgzNzIxOS4uYWY5ZmMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcApAQCAtODQsMjEgKzg0
LDIxIEBAIHZvaWQgUmVuZGVyTWF0aE1MRmVuY2VkOjp1cGRhdGVGcm9tRWxlbWVudCgpCiAgICAg
fQogfQogCi1SZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+IFJlbmRlck1hdGhN
TEZlbmNlZDo6Y3JlYXRlTWF0aE1MT3BlcmF0b3IoY29uc3QgU3RyaW5nJiBvcGVyYXRvclN0cmlu
ZywgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtIGZvcm0sIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6RmxhZyBmbGFnKQorc3RkOjp1bmlxdWVfcHRyPFJlbmRlck1hdGhNTEZlbmNlZE9w
ZXJhdG9yPiBSZW5kZXJNYXRoTUxGZW5jZWQ6OmNyZWF0ZU1hdGhNTE9wZXJhdG9yKGNvbnN0IFN0
cmluZyYgb3BlcmF0b3JTdHJpbmcsIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6Rm9ybSBmb3Jt
LCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZsYWcgZmxhZykKIHsKLSAgICBSZW5kZXJQdHI8
UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+IG5ld09wZXJhdG9yID0gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+KGRvY3VtZW50KCksIFJlbmRlclN0eWxlOjpjcmVh
dGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNwbGF5KHN0eWxlKCksIEJMT0NLKSwgb3BlcmF0b3JTdHJp
bmcsIGZvcm0sIGZsYWcpOworICAgIGF1dG8gbmV3T3BlcmF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVl
PFJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yPihkb2N1bWVudCgpLCBSZW5kZXJTdHlsZTo6Y3Jl
YXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheShzdHlsZSgpLCBCTE9DSyksIG9wZXJhdG9yU3Ry
aW5nLCBmb3JtLCBmbGFnKTsKICAgICBuZXdPcGVyYXRvci0+aW5pdGlhbGl6ZVN0eWxlKCk7CiAg
ICAgcmV0dXJuIG5ld09wZXJhdG9yOwogfQogCiB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6bWFr
ZUZlbmNlcygpCiB7Ci0gICAgUmVuZGVyUHRyPFJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yPiBv
cGVuRmVuY2UgPSBjcmVhdGVNYXRoTUxPcGVyYXRvcihtX29wZW4sIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6UHJlZml4LCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlKTsKLSAgICBS
ZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKG9wZW5GZW5jZS5sZWFrUHRyKCksIGZpcnN0Q2hpbGQo
KSk7CisgICAgYXV0byBvcGVuRmVuY2UgPSBjcmVhdGVNYXRoTUxPcGVyYXRvcihtX29wZW4sIE1h
dGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6UHJlZml4LCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6
OkZlbmNlKTsKKyAgICBSZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKG9wZW5GZW5jZS5yZWxlYXNl
KCksIGZpcnN0Q2hpbGQoKSk7CiAKLSAgICBSZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3Bl
cmF0b3I+IGNsb3NlRmVuY2UgPSBjcmVhdGVNYXRoTUxPcGVyYXRvcihtX2Nsb3NlLCBNYXRoTUxP
cGVyYXRvckRpY3Rpb25hcnk6OlBvc3RmaXgsIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6RmVu
Y2UpOworICAgIGF1dG8gY2xvc2VGZW5jZSA9IGNyZWF0ZU1hdGhNTE9wZXJhdG9yKG1fY2xvc2Us
IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6UG9zdGZpeCwgTWF0aE1MT3BlcmF0b3JEaWN0aW9u
YXJ5OjpGZW5jZSk7CiAgICAgbV9jbG9zZUZlbmNlUmVuZGVyZXIgPSBjbG9zZUZlbmNlLmdldCgp
OwotICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoY2xvc2VGZW5jZS5sZWFrUHRyKCkpOwor
ICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoY2xvc2VGZW5jZS5yZWxlYXNlKCkpOwogfQog
CiB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwg
UmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKQEAgLTEwOSw3ICsxMDksNyBAQCB2b2lkIFJlbmRl
ck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZAogCiAgICAgLy8gRklYTUU6IEFkZGluZyBvciByZW1vdmluZyBhIGNoaWxk
IHNob3VsZCBwb3NzaWJseSBjYXVzZSBhbGwgbGF0ZXIgc2VwYXJhdG9ycyB0byBzaGlmdCBwbGFj
ZXMgaWYgdGhleSdyZSBkaWZmZXJlbnQsIGFzIGxhdGVyIGNoaWxkIHBvc2l0aW9ucyBjaGFuZ2Ug
YnkgKzEgb3IgLTEuIFRoaXMgc2hvdWxkIGFsc28gaGFuZGxlIHN1cnJvZ2F0ZSBwYWlycy4gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU5MzguCiAKLSAgICBS
ZW5kZXJQdHI8UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I+IHNlcGFyYXRvclJlbmRlcmVyOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gc2VwYXJhdG9y
UmVuZGVyZXI7CiAgICAgaWYgKG1fc2VwYXJhdG9ycy5nZXQoKSkgewogICAgICAgICB1bnNpZ25l
ZCBpbnQgY291bnQgPSAwOwogICAgICAgICBmb3IgKE5vZGUqIHBvc2l0aW9uID0gY2hpbGQtPm5v
ZGUoKTsgcG9zaXRpb247IHBvc2l0aW9uID0gcG9zaXRpb24tPnByZXZpb3VzU2libGluZygpKSB7
CkBAIC0xNDEsMTEgKzE0MSwxMSBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQo
UmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAgICAgICAv
LyBBZGRpbmcgfHh8IGJlZm9yZSBhbiBleGlzdGluZyB8eXwgZS5nLiBpbiBlbGVtZW50ICh5KSAt
IGZpcnN0IGluc2VydCBvdXIgbmV3IGNoaWxkIHx4fCwgdGhlbiBpdHMgc2VwYXJhdG9yLCB0byBn
ZXQgKHgsIHkpLgogICAgICAgICBSZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKGNoaWxkLCBiZWZv
cmVDaGlsZCk7CiAgICAgICAgIGlmIChzZXBhcmF0b3JSZW5kZXJlcikKLSAgICAgICAgICAgIFJl
bmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoc2VwYXJhdG9yUmVuZGVyZXIubGVha1B0cigpLCBiZWZv
cmVDaGlsZCk7CisgICAgICAgICAgICBSZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKHNlcGFyYXRv
clJlbmRlcmVyLnJlbGVhc2UoKSwgYmVmb3JlQ2hpbGQpOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IC8vIEFkZGluZyB8eXwgYXQgdGhlIGVuZCBvZiBhbiBleGlzdGluZyBlbGVtZW50IGUuZy4gKHgp
IC0gaW5zZXJ0IHRoZSBzZXBhcmF0b3IgZmlyc3QgYmVmb3JlIHRoZSBjbG9zaW5nIGZlbmNlLCB0
aGVuIHx5fCwgdG8gZ2V0ICh4LCB5KS4KICAgICAgICAgaWYgKHNlcGFyYXRvclJlbmRlcmVyKQot
ICAgICAgICAgICAgUmVuZGVyTWF0aE1MUm93OjphZGRDaGlsZChzZXBhcmF0b3JSZW5kZXJlci5s
ZWFrUHRyKCksIG1fY2xvc2VGZW5jZVJlbmRlcmVyKTsKKyAgICAgICAgICAgIFJlbmRlck1hdGhN
TFJvdzo6YWRkQ2hpbGQoc2VwYXJhdG9yUmVuZGVyZXIucmVsZWFzZSgpLCBtX2Nsb3NlRmVuY2VS
ZW5kZXJlcik7CiAgICAgICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoY2hpbGQsIG1fY2xv
c2VGZW5jZVJlbmRlcmVyKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuaAppbmRleCBmNjI1Y2RhLi4wZDhlYWZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TEZlbmNlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MRmVuY2VkLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZENoaWxk
KFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpIGZpbmFsOwog
ICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBmaW5hbDsKIAotICAgIFJlbmRlclB0cjxSZW5k
ZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gY3JlYXRlTWF0aE1MT3BlcmF0b3IoY29uc3QgU3RyaW5n
JiBvcGVyYXRvclN0cmluZywgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtLCBNYXRoTUxP
cGVyYXRvckRpY3Rpb25hcnk6OkZsYWcpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJNYXRo
TUxGZW5jZWRPcGVyYXRvcj4gY3JlYXRlTWF0aE1MT3BlcmF0b3IoY29uc3QgU3RyaW5nJiBvcGVy
YXRvclN0cmluZywgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtLCBNYXRoTUxPcGVyYXRv
ckRpY3Rpb25hcnk6OkZsYWcpOwogICAgIHZvaWQgbWFrZUZlbmNlcygpOwogCiAgICAgU3RyaW5n
IG1fb3BlbjsKLS0gCjIuOC4xCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>