<?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>108035</bug_id>
          
          <creation_ts>2013-01-27 11:02:01 -0800</creation_ts>
          <short_desc>[EFL][WK2] Rely more on C API in ewk_favicon_database</short_desc>
          <delta_ts>2013-01-28 01:04:09 -0800</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 EFL</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>
          
          <blocked>107657</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>naginenis</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>817383</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-27 11:02:01 -0800</bug_when>
    <thetext>As per Bug 107657, we should start using the C API internally to avoid violating layering. ewk_favicon_database still has a few calls to the internal C++ API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817387</commentid>
    <comment_count>1</comment_count>
      <attachid>184917</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-27 11:15:37 -0800</bug_when>
    <thetext>Created attachment 184917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817388</commentid>
    <comment_count>2</comment_count>
      <attachid>184918</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-27 11:24:21 -0800</bug_when>
    <thetext>Created attachment 184918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817428</commentid>
    <comment_count>3</comment_count>
      <attachid>184918</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-27 16:15:00 -0800</bug_when>
    <thetext>Comment on attachment 184918
Patch

I am not entirely convinced this is necessary.

For port specific API, there is no need to force a C API between public APIs and Proxys (in my opinion). If GTK were to use the new, WKIconDatabaseTryGetCairoSurfaceForURL, then this would be helping consolidate WebKit2.

I r+ because the patch seems correct and you handle your port abstractions as you see fit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817537</commentid>
    <comment_count>4</comment_count>
      <attachid>184918</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-27 23:20:36 -0800</bug_when>
    <thetext>Comment on attachment 184918
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/cairo/WKIconDatabaseCairo.h:34
&gt; +WK_EXPORT cairo_surface_t* WKIconDatabaseTryGetCairoSurfaceForURL(WKIconDatabaseRef iconDatabase, WKURLRef url);

Kenneth, I&apos;m having doubts about this API now. Should we have an API that returns an Evas Object instead of a cairo surface? This makes more sense for EFL port and we really shouldn&apos;t expose cairo surfaces to applications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817570</commentid>
    <comment_count>5</comment_count>
      <attachid>184918</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-01-28 00:32:25 -0800</bug_when>
    <thetext>Comment on attachment 184918
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/cairo/WKIconDatabaseCairo.h:34
&gt;&gt; +WK_EXPORT cairo_surface_t* WKIconDatabaseTryGetCairoSurfaceForURL(WKIconDatabaseRef iconDatabase, WKURLRef url);
&gt; 
&gt; Kenneth, I&apos;m having doubts about this API now. Should we have an API that returns an Evas Object instead of a cairo surface? This makes more sense for EFL port and we really shouldn&apos;t expose cairo surfaces to applications.

In the EFL API it might make more sense to return an Evas Object, but our C API is slightly lower level so returning a cairo_surface_t seems fine, especially for special browser cases or so where the browser/client might want to store the images locally or so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817572</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-28 00:35:43 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 184918 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184918&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/C/cairo/WKIconDatabaseCairo.h:34
&gt; &gt;&gt; +WK_EXPORT cairo_surface_t* WKIconDatabaseTryGetCairoSurfaceForURL(WKIconDatabaseRef iconDatabase, WKURLRef url);
&gt; &gt; 
&gt; &gt; Kenneth, I&apos;m having doubts about this API now. Should we have an API that returns an Evas Object instead of a cairo surface? This makes more sense for EFL port and we really shouldn&apos;t expose cairo surfaces to applications.
&gt; 
&gt; In the EFL API it might make more sense to return an Evas Object, but our C API is slightly lower level so returning a cairo_surface_t seems fine, especially for special browser cases or so where the browser/client might want to store the images locally or so.

Ok, thanks for confirming. Let&apos;s land this then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817585</commentid>
    <comment_count>7</comment_count>
      <attachid>184918</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-28 01:04:03 -0800</bug_when>
    <thetext>Comment on attachment 184918
Patch

Clearing flags on attachment: 184918

Committed r140952: &lt;http://trac.webkit.org/changeset/140952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817586</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-28 01:04:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184917</attachid>
            <date>2013-01-27 11:15:37 -0800</date>
            <delta_ts>2013-01-27 11:24:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>108035_ewk_favicon_extend_capi.patch</filename>
            <type>text/plain</type>
            <size>8004</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwYTQ2NzdhLi5jZGUwMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTMtMDEtMjcgIENocmlzdG9waGUgRHVtZXogIDxkY2hyaXNAZ21haWwuY29tPgorCisg
ICAgICAgIFtFRkxdW1dLMl0gUmVseSBtb3JlIG9uIEMgQVBJIGluIGV3a19mYXZpY29uX2RhdGFi
YXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgw
MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWx5
IGxlc3Mgb24gaW50ZXJuYWwgQysrIEFQSSBpbiBld2tfZmF2aWNvbl9kYXRhYmFzZSBhbmQgdXNl
IEMgQVBJCisgICAgICAgIGluc3RlYWQgb2YgYXZvaWQgYnJlYWtpbmcgQVBJIGxheWVyaW5nLgor
CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L2NhaXJvL1dLSWNvbkRhdGFiYXNlQ2Fpcm8uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLSWNvbkRh
dGFiYXNlVHJ5R2V0Q2Fpcm9TdXJmYWNlRm9yVVJMKTogQWRkIEMgQVBJIGZvciBnZXR0aW5nIHRo
ZQorICAgICAgICBmYXZpY29uIGZvciBhIGdpdmVuIHBhZ2UgVVJMIGFzIGEgY2Fpcm9fc3VyZmFj
ZV90Ki4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvY2Fpcm8vV0tJY29uRGF0YWJhc2VDYWly
by5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRh
YmFzZS5jcHA6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6OmRpZENoYW5nZUljb25Gb3JQ
YWdlVVJMKToKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6Z2V0SWNvblN1cmZhY2VTeW5j
aHJvbm91c2x5KToKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6aWNvbkRhdGFSZWFkeUZv
clBhZ2VVUkwpOgorCiAyMDEzLTAxLTI2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBzaGFyZWQgQ2hpbGRQcm9jZXNzIGNvZGUgdG8gZW50ZXIgcGx1
Zy1pbiBzYW5kYm94LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBiZmMyZWY2Li4zNWFk
ZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMzUsNiArMzUsOCBAQCBsaXN0KEFQ
UEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL3gxMS9O
ZXRzY2FwZVBsdWdpbk1vZHVsZVgxMS5jcHAKIAorICAgIFVJUHJvY2Vzcy9BUEkvQy9jYWlyby9X
S0ljb25EYXRhYmFzZUNhaXJvLmNwcAorCiAgICAgVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcu
Y3BwCiAKICAgICBVSVByb2Nlc3MvQVBJL2NwcC9lZmwvV0tFaW5hU2hhcmVkU3RyaW5nLmNwcApA
QCAtMTYzLDYgKzE2NSw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklF
UwogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvRG93bmxvYWRzL3NvdXAiCiAgICAgIiR7V0VC
S0lUMl9ESVJ9L1NoYXJlZC9lZmwiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9zb3VwIgor
ICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MvY2Fpcm8iCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1VJUHJvY2Vzcy9BUEkvQy9lZmwiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vz
cy9BUEkvQy9zb3VwIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2NwcC9lZmwi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2Fpcm8vV0tJY29u
RGF0YWJhc2VDYWlyby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2Fpcm8v
V0tJY29uRGF0YWJhc2VDYWlyby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMTU1NThjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9jYWlyby9XS0ljb25EYXRhYmFzZUNhaXJvLmNwcApAQCAtMCwwICsxLDQxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tJY29uRGF0
YWJhc2VDYWlyby5oIgorCisjaW5jbHVkZSAiTmF0aXZlSW1hZ2VDYWlyby5oIgorI2luY2x1ZGUg
IldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYkljb25EYXRhYmFzZS5oIgorCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK2NhaXJvX3N1cmZhY2Vf
dCogV0tJY29uRGF0YWJhc2VUcnlHZXRDYWlyb1N1cmZhY2VGb3JVUkwoV0tJY29uRGF0YWJhc2VS
ZWYgaWNvbkRhdGFiYXNlLCBXS1VSTFJlZiB1cmwpCit7CisgICAgTmF0aXZlSW1hZ2VDYWlybyog
bmF0aXZlSW1hZ2UgPSB0b0ltcGwoaWNvbkRhdGFiYXNlKS0+bmF0aXZlSW1hZ2VGb3JQYWdlVVJM
KHRvV1RGU3RyaW5nKHVybCkpOworCisgICAgcmV0dXJuIG5hdGl2ZUltYWdlID8gbmF0aXZlSW1h
Z2UtPnN1cmZhY2UoKSA6IDA7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvY2Fpcm8vV0tJY29uRGF0YWJhc2VDYWlyby5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL2NhaXJvL1dLSWNvbkRhdGFiYXNlQ2Fpcm8uaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5lYTYyMzExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL2NhaXJvL1dLSWNvbkRhdGFiYXNlQ2Fpcm8uaApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEludGVsIENvcnBvcmF0aW9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2Uu
aD4KKwordHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX3N1cmZhY2UgY2Fpcm9fc3VyZmFjZV90OworCisj
aWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBjYWly
b19zdXJmYWNlX3QqIFdLSWNvbkRhdGFiYXNlVHJ5R2V0Q2Fpcm9TdXJmYWNlRm9yVVJMKFdLSWNv
bkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSwgV0tVUkxSZWYgdXJsKTsKKworI2lmZGVmIF9fY3Bs
dXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcAppbmRleCAwMzkzOThiLi40NWE3M2Zi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmlj
b25fZGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19mYXZpY29uX2RhdGFiYXNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiV0tB
UElDYXN0LmgiCiAjaW5jbHVkZSAiV0tJY29uRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJXS0ljb25E
YXRhYmFzZUNhaXJvLmgiCiAjaW5jbHVkZSAiV0tVUkwuaCIKICNpbmNsdWRlICJXZWJJY29uRGF0
YWJhc2UuaCIKICNpbmNsdWRlICJld2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgiCkBAIC0x
MzQsNyArMTM1LDcgQEAgdm9pZCBFd2tGYXZpY29uRGF0YWJhc2U6OmRpZENoYW5nZUljb25Gb3JQ
YWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWcKICAgICBpZiAoZXdrSWNvbkRh
dGFiYXNlLT5tX2NoYW5nZUxpc3RlbmVycy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIENTdHJpbmcgcGFnZVVSTCA9IHRvSW1wbChwYWdlVVJMUmVmKS0+c3RyaW5nKCkudXRmOCgp
OworICAgIENTdHJpbmcgcGFnZVVSTCA9IHRvV1RGU3RyaW5nKHBhZ2VVUkxSZWYpLnV0ZjgoKTsK
IAogICAgIENoYW5nZUxpc3RlbmVyTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGV3a0ljb25EYXRh
YmFzZS0+bV9jaGFuZ2VMaXN0ZW5lcnMuYmVnaW4oKTsKICAgICBDaGFuZ2VMaXN0ZW5lck1hcDo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gZXdrSWNvbkRhdGFiYXNlLT5tX2NoYW5nZUxpc3RlbmVycy5l
bmQoKTsKQEAgLTE0NiwxNCArMTQ3LDEyIEBAIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBF
d2tGYXZpY29uRGF0YWJhc2U6OmdldEljb25TdXJmYWNlU3luY2hyb25vdXNseShXS1VSCiB7CiAg
ICAgV0tJY29uRGF0YWJhc2VSZXRhaW5JY29uRm9yVVJMKG1faWNvbkRhdGFiYXNlLmdldCgpLCBw
YWdlVVJMKTsKIAotICAgIFdlYkNvcmU6Ok5hdGl2ZUltYWdlUHRyIGljb24gPSB0b0ltcGwobV9p
Y29uRGF0YWJhc2UuZ2V0KCkpLT5uYXRpdmVJbWFnZUZvclBhZ2VVUkwodG9XVEZTdHJpbmcocGFn
ZVVSTCkpOwotICAgIGlmICghaWNvbikgeworICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHN1
cmZhY2UgPSBXS0ljb25EYXRhYmFzZVRyeUdldENhaXJvU3VyZmFjZUZvclVSTChtX2ljb25EYXRh
YmFzZS5nZXQoKSwgcGFnZVVSTCk7CisgICAgaWYgKCFzdXJmYWNlKSB7CiAgICAgICAgIFdLSWNv
bkRhdGFiYXNlUmVsZWFzZUljb25Gb3JVUkwobV9pY29uRGF0YWJhc2UuZ2V0KCksIHBhZ2VVUkwp
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90
PiBzdXJmYWNlID0gaWNvbi0+c3VyZmFjZSgpOwotCiAgICAgcmV0dXJuIHN1cmZhY2UucmVsZWFz
ZSgpOwogfQogCkBAIC0xNjEsNyArMTYwLDcgQEAgdm9pZCBFd2tGYXZpY29uRGF0YWJhc2U6Omlj
b25EYXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWcKIHsK
ICAgICBFd2tGYXZpY29uRGF0YWJhc2UqIGV3a0ljb25EYXRhYmFzZSA9IGNvbnN0X2Nhc3Q8RXdr
RmF2aWNvbkRhdGFiYXNlKj4oc3RhdGljX2Nhc3Q8Y29uc3QgRXdrRmF2aWNvbkRhdGFiYXNlKj4o
Y2xpZW50SW5mbykpOwogCi0gICAgU3RyaW5nIHVybFN0cmluZyA9IHRvSW1wbChwYWdlVVJMKS0+
c3RyaW5nKCk7CisgICAgU3RyaW5nIHVybFN0cmluZyA9IHRvV1RGU3RyaW5nKHBhZ2VVUkwpOwog
ICAgIGlmICghZXdrSWNvbkRhdGFiYXNlLT5tX2ljb25SZXF1ZXN0cy5jb250YWlucyh1cmxTdHJp
bmcpKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184918</attachid>
            <date>2013-01-27 11:24:21 -0800</date>
            <delta_ts>2013-01-28 01:04:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>108035_ewk_favicon_extend_capi.patch</filename>
            <type>text/plain</type>
            <size>8014</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwYTQ2NzdhLi4zZTU2OWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTMtMDEtMjcgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJlbHkgbW9yZSBvbiBDIEFQSSBpbiBld2tfZmF2
aWNvbl9kYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA4MDM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVseSBsZXNzIG9uIGludGVybmFsIEMrKyBBUEkgaW4gZXdrX2Zhdmljb25fZGF0YWJh
c2UgYW5kIHVzZSBDIEFQSQorICAgICAgICBpbnN0ZWFkIG9mIGF2b2lkIGJyZWFraW5nIEFQSSBs
YXllcmluZy4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9jYWlyby9XS0ljb25EYXRhYmFzZUNhaXJvLmNwcDogQWRkZWQuCisgICAgICAg
IChXS0ljb25EYXRhYmFzZVRyeUdldENhaXJvU3VyZmFjZUZvclVSTCk6IEFkZCBDIEFQSSBmb3Ig
Z2V0dGluZyB0aGUKKyAgICAgICAgZmF2aWNvbiBmb3IgYSBnaXZlbiBwYWdlIFVSTCBhcyBhIGNh
aXJvX3N1cmZhY2VfdCouCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2NhaXJvL1dLSWNvbkRh
dGFiYXNlQ2Fpcm8uaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zh
dmljb25fZGF0YWJhc2UuY3BwOgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjpkaWRDaGFu
Z2VJY29uRm9yUGFnZVVSTCk6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6OmdldEljb25T
dXJmYWNlU3luY2hyb25vdXNseSk6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6Omljb25E
YXRhUmVhZHlGb3JQYWdlVVJMKToKKwogMjAxMy0wMS0yNiAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ugc2hhcmVkIENoaWxkUHJvY2VzcyBjb2RlIHRv
IGVudGVyIHBsdWctaW4gc2FuZGJveC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYmZj
MmVmNi4uMzVhZGUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTM1LDYgKzM1LDgg
QEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBTaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1bGVYMTEuY3BwCiAKKyAgICBVSVByb2Nlc3MvQVBJ
L0MvY2Fpcm8vV0tJY29uRGF0YWJhc2VDYWlyby5jcHAKKwogICAgIFVJUHJvY2Vzcy9BUEkvQy9l
ZmwvV0tWaWV3LmNwcAogCiAgICAgVUlQcm9jZXNzL0FQSS9jcHAvZWZsL1dLRWluYVNoYXJlZFN0
cmluZy5jcHAKQEAgLTE2Myw2ICsxNjUsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVf
RElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL0Rvd25sb2Fkcy9zb3VwIgog
ICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvZWZsIgogICAgICIke1dFQktJVDJfRElSfS9TaGFy
ZWQvc291cCIKKyAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9DL2NhaXJvIgogICAg
ICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MvZWZsIgogICAgICIke1dFQktJVDJfRElS
fS9VSVByb2Nlc3MvQVBJL0Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQ
SS9jcHAvZWZsIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2Nh
aXJvL1dLSWNvbkRhdGFiYXNlQ2Fpcm8uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL2NhaXJvL1dLSWNvbkRhdGFiYXNlQ2Fpcm8uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjE1NTU4Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvY2Fpcm8vV0tJY29uRGF0YWJhc2VDYWlyby5jcHAKQEAgLTAsMCArMSw0
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldLSWNvbkRhdGFiYXNlQ2Fpcm8uaCIKKworI2luY2x1ZGUgIk5hdGl2ZUltYWdlQ2Fpcm8uaCIK
KyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2UuaCIKKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitjYWly
b19zdXJmYWNlX3QqIFdLSWNvbkRhdGFiYXNlVHJ5R2V0Q2Fpcm9TdXJmYWNlRm9yVVJMKFdLSWNv
bkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSwgV0tVUkxSZWYgdXJsKQoreworICAgIE5hdGl2ZUlt
YWdlQ2Fpcm8qIG5hdGl2ZUltYWdlID0gdG9JbXBsKGljb25EYXRhYmFzZSktPm5hdGl2ZUltYWdl
Rm9yUGFnZVVSTCh0b1dURlN0cmluZyh1cmwpKTsKKworICAgIHJldHVybiBuYXRpdmVJbWFnZSA/
IG5hdGl2ZUltYWdlLT5zdXJmYWNlKCkgOiAwOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL2NhaXJvL1dLSWNvbkRhdGFiYXNlQ2Fpcm8uaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9jYWlyby9XS0ljb25EYXRhYmFzZUNhaXJvLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE2MjMxMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9jYWlyby9XS0ljb25EYXRhYmFzZUNhaXJv
LmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jw
b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPFdlYktp
dDIvV0tCYXNlLmg+CisKK3R5cGVkZWYgc3RydWN0IF9jYWlyb19zdXJmYWNlIGNhaXJvX3N1cmZh
Y2VfdDsKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitXS19F
WFBPUlQgY2Fpcm9fc3VyZmFjZV90KiBXS0ljb25EYXRhYmFzZVRyeUdldENhaXJvU3VyZmFjZUZv
clVSTChXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2UsIFdLVVJMUmVmIHVybCk7CisKKyNp
ZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5jcHAKaW5kZXggMDM5Mzk4
Yi4uNDVhNzNmYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lu
Y2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLSWNvbkRhdGFiYXNlLmgiCisjaW5jbHVk
ZSAiV0tJY29uRGF0YWJhc2VDYWlyby5oIgogI2luY2x1ZGUgIldLVVJMLmgiCiAjaW5jbHVkZSAi
V2ViSWNvbkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0
ZS5oIgpAQCAtMTM0LDcgKzEzNSw3IEBAIHZvaWQgRXdrRmF2aWNvbkRhdGFiYXNlOjpkaWRDaGFu
Z2VJY29uRm9yUGFnZVVSTChXS0ljb25EYXRhYmFzZVJlZiwgV0tVUkxSZWYgcGFnCiAgICAgaWYg
KGV3a0ljb25EYXRhYmFzZS0+bV9jaGFuZ2VMaXN0ZW5lcnMuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBDU3RyaW5nIHBhZ2VVUkwgPSB0b0ltcGwocGFnZVVSTFJlZiktPnN0cmlu
ZygpLnV0ZjgoKTsKKyAgICBDU3RyaW5nIHBhZ2VVUkwgPSB0b1dURlN0cmluZyhwYWdlVVJMUmVm
KS51dGY4KCk7CiAKICAgICBDaGFuZ2VMaXN0ZW5lck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBl
d2tJY29uRGF0YWJhc2UtPm1fY2hhbmdlTGlzdGVuZXJzLmJlZ2luKCk7CiAgICAgQ2hhbmdlTGlz
dGVuZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGV3a0ljb25EYXRhYmFzZS0+bV9jaGFuZ2VM
aXN0ZW5lcnMuZW5kKCk7CkBAIC0xNDYsMTQgKzE0NywxMiBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1
cmZhY2VfdD4gRXdrRmF2aWNvbkRhdGFiYXNlOjpnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHko
V0tVUgogewogICAgIFdLSWNvbkRhdGFiYXNlUmV0YWluSWNvbkZvclVSTChtX2ljb25EYXRhYmFz
ZS5nZXQoKSwgcGFnZVVSTCk7CiAKLSAgICBXZWJDb3JlOjpOYXRpdmVJbWFnZVB0ciBpY29uID0g
dG9JbXBsKG1faWNvbkRhdGFiYXNlLmdldCgpKS0+bmF0aXZlSW1hZ2VGb3JQYWdlVVJMKHRvV1RG
U3RyaW5nKHBhZ2VVUkwpKTsKLSAgICBpZiAoIWljb24pIHsKKyAgICBSZWZQdHI8Y2Fpcm9fc3Vy
ZmFjZV90PiBzdXJmYWNlID0gV0tJY29uRGF0YWJhc2VUcnlHZXRDYWlyb1N1cmZhY2VGb3JVUkwo
bV9pY29uRGF0YWJhc2UuZ2V0KCksIHBhZ2VVUkwpOworICAgIGlmICghc3VyZmFjZSkgewogICAg
ICAgICBXS0ljb25EYXRhYmFzZVJlbGVhc2VJY29uRm9yVVJMKG1faWNvbkRhdGFiYXNlLmdldCgp
LCBwYWdlVVJMKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgUmVmUHRyPGNhaXJv
X3N1cmZhY2VfdD4gc3VyZmFjZSA9IGljb24tPnN1cmZhY2UoKTsKLQogICAgIHJldHVybiBzdXJm
YWNlLnJlbGVhc2UoKTsKIH0KIApAQCAtMTYxLDcgKzE2MCw3IEBAIHZvaWQgRXdrRmF2aWNvbkRh
dGFiYXNlOjppY29uRGF0YVJlYWR5Rm9yUGFnZVVSTChXS0ljb25EYXRhYmFzZVJlZiwgV0tVUkxS
ZWYgcGFnCiB7CiAgICAgRXdrRmF2aWNvbkRhdGFiYXNlKiBld2tJY29uRGF0YWJhc2UgPSBjb25z
dF9jYXN0PEV3a0Zhdmljb25EYXRhYmFzZSo+KHN0YXRpY19jYXN0PGNvbnN0IEV3a0Zhdmljb25E
YXRhYmFzZSo+KGNsaWVudEluZm8pKTsKIAotICAgIFN0cmluZyB1cmxTdHJpbmcgPSB0b0ltcGwo
cGFnZVVSTCktPnN0cmluZygpOworICAgIFN0cmluZyB1cmxTdHJpbmcgPSB0b1dURlN0cmluZyhw
YWdlVVJMKTsKICAgICBpZiAoIWV3a0ljb25EYXRhYmFzZS0+bV9pY29uUmVxdWVzdHMuY29udGFp
bnModXJsU3RyaW5nKSkKICAgICAgICAgcmV0dXJuOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>