<?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>162557</bug_id>
          
          <creation_ts>2016-09-26 07:13:21 -0700</creation_ts>
          <short_desc>Add CairoUniquePtr and use it in FontPlatformDataFreetype.cpp</short_desc>
          <delta_ts>2016-09-26 11:59:46 -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 Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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 Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1233391</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-26 07:13:21 -0700</bug_when>
    <thetext>Add CairoUniquePtr and use it in FontPlatformDataFreetype.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233392</commentid>
    <comment_count>1</comment_count>
      <attachid>289826</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-26 07:16:17 -0700</bug_when>
    <thetext>Created attachment 289826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233415</commentid>
    <comment_count>2</comment_count>
      <attachid>289826</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-26 08:26:29 -0700</bug_when>
    <thetext>Comment on attachment 289826
Patch

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

&gt; Source/WebCore/platform/graphics/cairo/CairoUniquePtr.h:41
&gt; +    void operator() (cairo_font_options_t* ptr) const

At first glance, it isn&apos;t obvious to me why this uses operator() instead of the destructor, but that&apos;s what all the other such smart pointers with custom deleters do.
r=me, see my feedback in https://bugs.webkit.org/show_bug.cgi?id=162558 about uniting all of these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233492</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-26 11:54:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; At first glance, it isn&apos;t obvious to me why this uses operator() instead of
&gt; the destructor, but that&apos;s what all the other such smart pointers with
&gt; custom deleters do.

The deleter has to be a function object, so it uses operator()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233496</commentid>
    <comment_count>4</comment_count>
      <attachid>289826</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-26 11:59:41 -0700</bug_when>
    <thetext>Comment on attachment 289826
Patch

Clearing flags on attachment: 289826

Committed r206383: &lt;http://trac.webkit.org/changeset/206383&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233497</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-26 11:59:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289826</attachid>
            <date>2016-09-26 07:16:17 -0700</date>
            <delta_ts>2016-09-26 11:59:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162557-20160926161319.patch</filename>
            <type>text/plain</type>
            <size>5512</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZhY2E5NThkNGM3YjFl
YjFhNTIxYmIxMDY0MDQzMWU0ODY1Yzk0ZC4uODg4YjJlYzQ4NDJmNThjZGZiMDBlMGJiOTU5ZDEw
Mjc3ODVkNzNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSArMSwxNCBAQAorMjAxNi0wOS0yNiAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIENhaXJv
VW5pcXVlUHRyIGFuZCB1c2UgaXQgaW4gRm9udFBsYXRmb3JtRGF0YUZyZWV0eXBlLmNwcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNTU3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9DYWlyb1VuaXF1ZVB0ci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNhaXJvUHRyRGVsZXRlcjxjYWlyb19mb250X29wdGlvbnNfdD46Om9wZXJhdG9yKCkpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGFGcmVlVHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXREZWZhdWx0Q2Fpcm9Gb250T3B0aW9ucyk6IFJl
dHVybiBhIHNtYXJ0IHBvaW50ZXIuCisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
OjpidWlsZFNjYWxlZEZvbnQpOiBVc2Ugc21hcnQgcG9pbnRlci4KKwogPT0gUm9sbGVkIG92ZXIg
dG8gQ2hhbmdlTG9nLTIwMTYtMDktMjYgPT0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVW5pcXVlUHRyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1VuaXF1ZVB0ci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3YTUw
MDdkMjFhNDQwODA4NGMzMzEwZDViNzEwOWNkZTZjMzQwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1VuaXF1ZVB0ci5oCkBA
IC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDxjYWlyby5oPgorI2luY2x1ZGUgPG1lbW9yeT4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ2Fpcm9QdHJEZWxldGVyIHsKKyAg
ICB2b2lkIG9wZXJhdG9yKCkoVCogcHRyKSBjb25zdCA9IGRlbGV0ZTsKK307CisKK3RlbXBsYXRl
PHR5cGVuYW1lIFQ+Cit1c2luZyBDYWlyb1VuaXF1ZVB0ciA9IHN0ZDo6dW5pcXVlX3B0cjxULCBD
YWlyb1B0ckRlbGV0ZXI8VD4+OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBDYWlyb1B0ckRlbGV0ZXI8
Y2Fpcm9fZm9udF9vcHRpb25zX3Q+IHsKKyAgICB2b2lkIG9wZXJhdG9yKCkgKGNhaXJvX2ZvbnRf
b3B0aW9uc190KiBwdHIpIGNvbnN0CisgICAgeworICAgICAgICBjYWlyb19mb250X29wdGlvbnNf
ZGVzdHJveShwdHIpOworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0
Zm9ybURhdGFGcmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
cmVldHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCmluZGV4IGJmN2E1NmZiNjlhMzc3
MWI0YjIzYmQxNGQ1MzliYmZlZDQ3ZTAxOTcuLmExYTEyM2I1ZTlmZTA5NDE2YzRlMGY0MGU4ZTgw
Y2QwODk1ZmQ2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNw
cApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZvbnRQ
bGF0Zm9ybURhdGEuaCIKIAorI2luY2x1ZGUgIkNhaXJvVW5pcXVlUHRyLmgiCiAjaW5jbHVkZSAi
Q2Fpcm9VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGb250
RGVzY3JpcHRpb24uaCIKQEAgLTEwNSwxNiArMTA2LDE2IEBAIHZvaWQgc2V0Q2Fpcm9Gb250T3B0
aW9uc0Zyb21Gb250Q29uZmlnUGF0dGVybihjYWlyb19mb250X29wdGlvbnNfdCogb3B0aW9ucywg
RmNQCiAgICAgICAgIGNhaXJvX2ZvbnRfb3B0aW9uc19zZXRfaGludF9zdHlsZShvcHRpb25zLCBD
QUlST19ISU5UX1NUWUxFX05PTkUpOwogfQogCi1zdGF0aWMgY2Fpcm9fZm9udF9vcHRpb25zX3Qq
IGdldERlZmF1bHRDYWlyb0ZvbnRPcHRpb25zKCkKK3N0YXRpYyBDYWlyb1VuaXF1ZVB0cjxjYWly
b19mb250X29wdGlvbnNfdD4gZ2V0RGVmYXVsdENhaXJvRm9udE9wdGlvbnMoKQogewogI2lmIFBM
QVRGT1JNKEdUSykKICAgICBpZiAoR2RrU2NyZWVuKiBzY3JlZW4gPSBnZGtfc2NyZWVuX2dldF9k
ZWZhdWx0KCkpIHsKICAgICAgICAgY29uc3QgY2Fpcm9fZm9udF9vcHRpb25zX3QqIHNjcmVlbk9w
dGlvbnMgPSBnZGtfc2NyZWVuX2dldF9mb250X29wdGlvbnMoc2NyZWVuKTsKICAgICAgICAgaWYg
KHNjcmVlbk9wdGlvbnMpCi0gICAgICAgICAgICByZXR1cm4gY2Fpcm9fZm9udF9vcHRpb25zX2Nv
cHkoc2NyZWVuT3B0aW9ucyk7CisgICAgICAgICAgICByZXR1cm4gQ2Fpcm9VbmlxdWVQdHI8Y2Fp
cm9fZm9udF9vcHRpb25zX3Q+KGNhaXJvX2ZvbnRfb3B0aW9uc19jb3B5KHNjcmVlbk9wdGlvbnMp
KTsKICAgICB9CiAjZW5kaWYKLSAgICByZXR1cm4gY2Fpcm9fZm9udF9vcHRpb25zX2NyZWF0ZSgp
OworICAgIHJldHVybiBDYWlyb1VuaXF1ZVB0cjxjYWlyb19mb250X29wdGlvbnNfdD4oY2Fpcm9f
Zm9udF9vcHRpb25zX2NyZWF0ZSgpKTsKIH0KIAogc3RhdGljIEZjUGF0dGVybiogZ2V0RGVmYXVs
dEZvbnRjb25maWdPcHRpb25zKCkKQEAgLTI5OSw5ICszMDAsOSBAQCBTdHJpbmcgRm9udFBsYXRm
b3JtRGF0YTo6ZGVzY3JpcHRpb24oKSBjb25zdAogCiB2b2lkIEZvbnRQbGF0Zm9ybURhdGE6OmJ1
aWxkU2NhbGVkRm9udChjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCiB7Ci0gICAgY2Fpcm9f
Zm9udF9vcHRpb25zX3QqIG9wdGlvbnMgPSBnZXREZWZhdWx0Q2Fpcm9Gb250T3B0aW9ucygpOwor
ICAgIENhaXJvVW5pcXVlUHRyPGNhaXJvX2ZvbnRfb3B0aW9uc190PiBvcHRpb25zID0gZ2V0RGVm
YXVsdENhaXJvRm9udE9wdGlvbnMoKTsKICAgICBGY1BhdHRlcm4qIG9wdGlvbnNQYXR0ZXJuID0g
bV9wYXR0ZXJuID8gbV9wYXR0ZXJuLmdldCgpIDogZ2V0RGVmYXVsdEZvbnRjb25maWdPcHRpb25z
KCk7Ci0gICAgc2V0Q2Fpcm9Gb250T3B0aW9uc0Zyb21Gb250Q29uZmlnUGF0dGVybihvcHRpb25z
LCBvcHRpb25zUGF0dGVybik7CisgICAgc2V0Q2Fpcm9Gb250T3B0aW9uc0Zyb21Gb250Q29uZmln
UGF0dGVybihvcHRpb25zLmdldCgpLCBvcHRpb25zUGF0dGVybik7CiAKICAgICBjYWlyb19tYXRy
aXhfdCBjdG07CiAgICAgY2Fpcm9fbWF0cml4X2luaXRfaWRlbnRpdHkoJmN0bSk7CkBAIC0zNDAs
OCArMzQxLDcgQEAgdm9pZCBGb250UGxhdGZvcm1EYXRhOjpidWlsZFNjYWxlZEZvbnQoY2Fpcm9f
Zm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRlKCZm
b250TWF0cml4LCAwLjAsIDEuMCk7CiAgICAgfQogCi0gICAgbV9zY2FsZWRGb250ID0gYWRvcHRS
ZWYoY2Fpcm9fc2NhbGVkX2ZvbnRfY3JlYXRlKGZvbnRGYWNlLCAmZm9udE1hdHJpeCwgJmN0bSwg
b3B0aW9ucykpOwotICAgIGNhaXJvX2ZvbnRfb3B0aW9uc19kZXN0cm95KG9wdGlvbnMpOworICAg
IG1fc2NhbGVkRm9udCA9IGFkb3B0UmVmKGNhaXJvX3NjYWxlZF9mb250X2NyZWF0ZShmb250RmFj
ZSwgJmZvbnRNYXRyaXgsICZjdG0sIG9wdGlvbnMuZ2V0KCkpKTsKIH0KIAogYm9vbCBGb250UGxh
dGZvcm1EYXRhOjpoYXNDb21wYXRpYmxlQ2hhcm1hcCgpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>