<?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>117156</bug_id>
          
          <creation_ts>2013-06-03 09:09:20 -0700</creation_ts>
          <short_desc>[GTK] Migrate WebKitFaviconDatabase to GTask</short_desc>
          <delta_ts>2013-06-19 00:25:16 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>117149</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>896484</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-03 09:09:20 -0700</bug_when>
    <thetext>Migrate WebKitFaviconDatabase to GTask</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896485</commentid>
    <comment_count>1</comment_count>
      <attachid>203601</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-03 09:12:44 -0700</bug_when>
    <thetext>Created attachment 203601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896486</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-03 09:14:12 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901245</commentid>
    <comment_count>3</comment_count>
      <attachid>203601</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-06-17 20:44:27 -0700</bug_when>
    <thetext>Comment on attachment 203601
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp:-172
&gt; -        if (!g_cancellable_is_cancelled(data-&gt;cancellable.get())) {

I just couldn&apos;t figure out why you&apos;re no longer checking for cancellation here, the rest looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901288</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-18 00:00:53 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 203601 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=203601&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp:-172
&gt; &gt; -        if (!g_cancellable_is_cancelled(data-&gt;cancellable.get())) {
&gt; 
&gt; I just couldn&apos;t figure out why you&apos;re no longer checking for cancellation here, the rest looks good to me.

That was to make sure that cancelled error had precedence over any other error, so we just completed the operation with g_simple_async_result_complete(). With GTask cancellation always has precedence (when check_cancellable is TRUE, which is the default), because all g_task_propagate methods first check if task was cancelled, so here we ignore the cancelled and complete the operation either with g_task_return_error or g_task_return_boolean, in both cases cancellation will be handled in the finish method when calling g_task_propagate_boolean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901365</commentid>
    <comment_count>5</comment_count>
      <attachid>203601</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-06-18 05:29:55 -0700</bug_when>
    <thetext>Comment on attachment 203601
Patch

OK, yay GTask doing the right thing =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901677</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-19 00:25:16 -0700</bug_when>
    <thetext>Committed r151725: &lt;http://trac.webkit.org/changeset/151725&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203601</attachid>
            <date>2013-06-03 09:12:44 -0700</date>
            <delta_ts>2013-06-18 05:29:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-gtask-favicons.diff</filename>
            <type>text/plain</type>
            <size>9162</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzOGQ4YmNkLi5jZGIwZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTMtMDYtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtHVEtdIE1pZ3JhdGUgV2ViS2l0RmF2aWNvbkRhdGFiYXNlIHRvIEdUYXNr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcxNTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdEZhdmljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChwcm9jZXNz
UGVuZGluZ0ljb25zRm9yUGFnZVVSTCk6CisgICAgICAgICh3ZWJraXRfZmF2aWNvbl9kYXRhYmFz
ZV9nZXRfZmF2aWNvbik6CisgICAgICAgICh3ZWJraXRfZmF2aWNvbl9kYXRhYmFzZV9nZXRfZmF2
aWNvbl9maW5pc2gpOgorCisyMDEzLTA2LTAzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKwogICAgICAgICBbR1RLXSBNaWdyYXRlIFdlYktpdFdlYlZpZXcgdG8g
R1Rhc2sKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NzE1NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRGYXZpY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0RmF2aWNvbkRhdGFiYXNlLmNwcAppbmRleCA2YWFkMDRhLi5hZjI3NGI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGYXZpY29uRGF0YWJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZhdmlj
b25EYXRhYmFzZS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgZW51bSB7CiAKIHN0YXRpYyBndWludCBz
aWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCwgfTsKIAotdHlwZWRlZiBWZWN0b3I8R1JlZlB0cjxH
U2ltcGxlQXN5bmNSZXN1bHQ+ID4gUGVuZGluZ0ljb25SZXF1ZXN0VmVjdG9yOwordHlwZWRlZiBW
ZWN0b3I8R1JlZlB0cjxHVGFzaz4gPiBQZW5kaW5nSWNvblJlcXVlc3RWZWN0b3I7CiB0eXBlZGVm
IEhhc2hNYXA8U3RyaW5nLCBQZW5kaW5nSWNvblJlcXVlc3RWZWN0b3IqPiBQZW5kaW5nSWNvblJl
cXVlc3RNYXA7CiAKIHN0cnVjdCBfV2ViS2l0RmF2aWNvbkRhdGFiYXNlUHJpdmF0ZSB7CkBAIC0x
NjcsMTggKzE2NywxNSBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzUGVuZGluZ0ljb25zRm9yUGFnZVVS
TChXZWJLaXRGYXZpY29uRGF0YWJhc2UqIGRhdGFiYXNlLCBjb25zdAogICAgIFJlZlB0cjxjYWly
b19zdXJmYWNlX3Q+IGljb24gPSBnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHkoZGF0YWJhc2Us
IHBhZ2VVUkwsICZlcnJvci5vdXRQdHIoKSk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHBlbmRpbmdJY29uUmVxdWVzdHMtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgIEdTaW1wbGVBc3lu
Y1Jlc3VsdCogcmVzdWx0ID0gcGVuZGluZ0ljb25SZXF1ZXN0cy0+YXQoaSkuZ2V0KCk7Ci0gICAg
ICAgIEdldEZhdmljb25TdXJmYWNlQXN5bmNEYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8R2V0RmF2
aWNvblN1cmZhY2VBc3luY0RhdGEqPihnX3NpbXBsZV9hc3luY19yZXN1bHRfZ2V0X29wX3Jlc19n
cG9pbnRlcihyZXN1bHQpKTsKLSAgICAgICAgaWYgKCFnX2NhbmNlbGxhYmxlX2lzX2NhbmNlbGxl
ZChkYXRhLT5jYW5jZWxsYWJsZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikKLSAg
ICAgICAgICAgICAgICBnX3NpbXBsZV9hc3luY19yZXN1bHRfdGFrZV9lcnJvcihyZXN1bHQsIGVy
cm9yLnJlbGVhc2UoKSk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBkYXRh
LT5pY29uID0gaWNvbjsKLSAgICAgICAgICAgICAgICBkYXRhLT5zaG91bGRSZWxlYXNlSWNvbkZv
clBhZ2VVUkwgPSBmYWxzZTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgR1Rhc2sqIHRhc2sgPSBw
ZW5kaW5nSWNvblJlcXVlc3RzLT5hdChpKS5nZXQoKTsKKyAgICAgICAgaWYgKGVycm9yKQorICAg
ICAgICAgICAgZ190YXNrX3JldHVybl9lcnJvcih0YXNrLCBlcnJvci5yZWxlYXNlKCkpOworICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgIEdldEZhdmljb25TdXJmYWNlQXN5bmNEYXRhKiBkYXRh
ID0gc3RhdGljX2Nhc3Q8R2V0RmF2aWNvblN1cmZhY2VBc3luY0RhdGEqPihnX3Rhc2tfZ2V0X3Rh
c2tfZGF0YSh0YXNrKSk7CisgICAgICAgICAgICBkYXRhLT5pY29uID0gaWNvbjsKKyAgICAgICAg
ICAgIGRhdGEtPnNob3VsZFJlbGVhc2VJY29uRm9yUGFnZVVSTCA9IGZhbHNlOworICAgICAgICAg
ICAgZ190YXNrX3JldHVybl9ib29sZWFuKHRhc2ssIFRSVUUpOwogICAgICAgICB9Ci0KLSAgICAg
ICAgZ19zaW1wbGVfYXN5bmNfcmVzdWx0X2NvbXBsZXRlKHJlc3VsdCk7CiAgICAgfQogICAgIGRl
bGV0ZVBlbmRpbmdJY29uUmVxdWVzdHMoZGF0YWJhc2UsIHBlbmRpbmdJY29uUmVxdWVzdHMsIHBh
Z2VVUkwpOwogfQpAQCAtMjM4LDI4ICsyMzUsNiBAQCBzdGF0aWMgUGVuZGluZ0ljb25SZXF1ZXN0
VmVjdG9yKiBnZXRPckNyZWF0ZVBlbmRpbmdJY29uUmVxdWVzdHMoV2ViS2l0RmF2aWNvbkRhdAog
ICAgIHJldHVybiBpY29uczsKIH0KIAotc3RhdGljIHZvaWQgc2V0RXJyb3JGb3JBc3luY1Jlc3Vs
dChHU2ltcGxlQXN5bmNSZXN1bHQqIHJlc3VsdCwgV2ViS2l0RmF2aWNvbkRhdGFiYXNlRXJyb3Ig
ZXJyb3IsIGNvbnN0IFN0cmluZyYgcGFnZVVSTCA9IFN0cmluZygpKQotewotICAgIEFTU0VSVChy
ZXN1bHQpOwotCi0gICAgc3dpdGNoIChlcnJvcikgewotICAgIGNhc2UgV0VCS0lUX0ZBVklDT05f
REFUQUJBU0VfRVJST1JfTk9UX0lOSVRJQUxJWkVEOgotICAgICAgICBnX3NpbXBsZV9hc3luY19y
ZXN1bHRfc2V0X2Vycm9yKHJlc3VsdCwgV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfRVJST1IsIGVy
cm9yLCBfKCJGYXZpY29ucyBkYXRhYmFzZSBub3QgaW5pdGlhbGl6ZWQgeWV0IikpOwotICAgICAg
ICBicmVhazsKLQotICAgIGNhc2UgV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfRVJST1JfRkFWSUNP
Tl9OT1RfRk9VTkQ6Ci0gICAgICAgIGdfc2ltcGxlX2FzeW5jX3Jlc3VsdF9zZXRfZXJyb3IocmVz
dWx0LCBXRUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9FUlJPUiwgZXJyb3IsIF8oIlBhZ2UgJXMgZG9l
cyBub3QgaGF2ZSBhIGZhdmljb24iKSwgcGFnZVVSTC51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAg
YnJlYWs7Ci0KLSAgICBjYXNlIFdFQktJVF9GQVZJQ09OX0RBVEFCQVNFX0VSUk9SX0ZBVklDT05f
VU5LTk9XTjoKLSAgICAgICAgZ19zaW1wbGVfYXN5bmNfcmVzdWx0X3NldF9lcnJvcihyZXN1bHQs
IFdFQktJVF9GQVZJQ09OX0RBVEFCQVNFX0VSUk9SLCBlcnJvciwgXygiVW5rbm93biBmYXZpY29u
IGZvciBwYWdlICVzIiksIHBhZ2VVUkwudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIGJyZWFrOwot
Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotfQot
CiBHUXVhcmsgd2Via2l0X2Zhdmljb25fZGF0YWJhc2VfZXJyb3JfcXVhcmsodm9pZCkKIHsKICAg
ICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoIldlYktpdEZhdmljb25EYXRhYmFz
ZUVycm9yIik7CkBAIC0yODcsMjkgKzI2MiwyNyBAQCB2b2lkIHdlYmtpdF9mYXZpY29uX2RhdGFi
YXNlX2dldF9mYXZpY29uKFdlYktpdEZhdmljb25EYXRhYmFzZSogZGF0YWJhc2UsIGNvbnN0CiAg
ICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfRkFWSUNPTl9EQVRBQkFTRShkYXRhYmFzZSkp
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwocGFnZVVSSSk7CiAKLSAgICBHUmVmUHRyPEdTaW1wbGVB
c3luY1Jlc3VsdD4gcmVzdWx0ID0gYWRvcHRHUmVmKGdfc2ltcGxlX2FzeW5jX3Jlc3VsdF9uZXco
R19PQkpFQ1QoZGF0YWJhc2UpLCBjYWxsYmFjaywgdXNlckRhdGEsIHJlaW50ZXJwcmV0X2Nhc3Q8
Z3BvaW50ZXI+KHdlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF9mYXZpY29uKSkpOwotICAgIGdf
c2ltcGxlX2FzeW5jX3Jlc3VsdF9zZXRfY2hlY2tfY2FuY2VsbGFibGUocmVzdWx0LmdldCgpLCBj
YW5jZWxsYWJsZSk7Ci0KLSAgICBHZXRGYXZpY29uU3VyZmFjZUFzeW5jRGF0YSogZGF0YSA9IGNy
ZWF0ZUdldEZhdmljb25TdXJmYWNlQXN5bmNEYXRhKCk7Ci0gICAgZ19zaW1wbGVfYXN5bmNfcmVz
dWx0X3NldF9vcF9yZXNfZ3BvaW50ZXIocmVzdWx0LmdldCgpLCBkYXRhLCByZWludGVycHJldF9j
YXN0PEdEZXN0cm95Tm90aWZ5PihkZXN0cm95R2V0RmF2aWNvblN1cmZhY2VBc3luY0RhdGEpKTsK
LSAgICBkYXRhLT5mYXZpY29uRGF0YWJhc2UgPSBkYXRhYmFzZTsKLSAgICBkYXRhLT5wYWdlVVJM
ID0gU3RyaW5nOjpmcm9tVVRGOChwYWdlVVJJKTsKLSAgICBkYXRhLT5jYW5jZWxsYWJsZSA9IGNh
bmNlbGxhYmxlOwotCiAgICAgV2ViS2l0RmF2aWNvbkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IGRh
dGFiYXNlLT5wcml2OwogICAgIFdlYkljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlSW1wbCA9IHBy
aXYtPmljb25EYXRhYmFzZS5nZXQoKTsKICAgICBpZiAoIWljb25EYXRhYmFzZUltcGwtPmlzT3Bl
bigpKSB7Ci0gICAgICAgIHNldEVycm9yRm9yQXN5bmNSZXN1bHQocmVzdWx0LmdldCgpLCBXRUJL
SVRfRkFWSUNPTl9EQVRBQkFTRV9FUlJPUl9OT1RfSU5JVElBTElaRUQpOwotICAgICAgICBnX3Np
bXBsZV9hc3luY19yZXN1bHRfY29tcGxldGVfaW5faWRsZShyZXN1bHQuZ2V0KCkpOworICAgICAg
ICBnX3Rhc2tfcmVwb3J0X25ld19lcnJvcihkYXRhYmFzZSwgY2FsbGJhY2ssIHVzZXJEYXRhLCAw
LAorICAgICAgICAgICAgV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfRVJST1IsIFdFQktJVF9GQVZJ
Q09OX0RBVEFCQVNFX0VSUk9SX05PVF9JTklUSUFMSVpFRCwgXygiRmF2aWNvbnMgZGF0YWJhc2Ug
bm90IGluaXRpYWxpemVkIHlldCIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlm
IChkYXRhLT5wYWdlVVJMLmlzRW1wdHkoKSB8fCBkYXRhLT5wYWdlVVJMLnN0YXJ0c1dpdGgoImFi
b3V0OiIpKSB7Ci0gICAgICAgIHNldEVycm9yRm9yQXN5bmNSZXN1bHQocmVzdWx0LmdldCgpLCBX
RUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9FUlJPUl9GQVZJQ09OX05PVF9GT1VORCwgZGF0YS0+cGFn
ZVVSTCk7Ci0gICAgICAgIGdfc2ltcGxlX2FzeW5jX3Jlc3VsdF9jb21wbGV0ZV9pbl9pZGxlKHJl
c3VsdC5nZXQoKSk7CisgICAgaWYgKGdfc3RyX2hhc19wcmVmaXgocGFnZVVSSSwgImFib3V0OiIp
KSB7CisgICAgICAgIGdfdGFza19yZXBvcnRfbmV3X2Vycm9yKGRhdGFiYXNlLCBjYWxsYmFjaywg
dXNlckRhdGEsIDAsCisgICAgICAgICAgICBXRUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9FUlJPUiwg
V0VCS0lUX0ZBVklDT05fREFUQUJBU0VfRVJST1JfRkFWSUNPTl9OT1RfRk9VTkQsIF8oIlBhZ2Ug
JXMgZG9lcyBub3QgaGF2ZSBhIGZhdmljb24iKSwgcGFnZVVSSSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKKyAgICBHUmVmUHRyPEdUYXNrPiB0YXNrID0gYWRvcHRHUmVmKGdfdGFza19uZXco
ZGF0YWJhc2UsIGNhbmNlbGxhYmxlLCBjYWxsYmFjaywgdXNlckRhdGEpKTsKKworICAgIEdldEZh
dmljb25TdXJmYWNlQXN5bmNEYXRhKiBkYXRhID0gY3JlYXRlR2V0RmF2aWNvblN1cmZhY2VBc3lu
Y0RhdGEoKTsKKyAgICBkYXRhLT5mYXZpY29uRGF0YWJhc2UgPSBkYXRhYmFzZTsKKyAgICBkYXRh
LT5wYWdlVVJMID0gU3RyaW5nOjpmcm9tVVRGOChwYWdlVVJJKTsKKyAgICBnX3Rhc2tfc2V0X3Rh
c2tfZGF0YSh0YXNrLmdldCgpLCBkYXRhLCByZWludGVycHJldF9jYXN0PEdEZXN0cm95Tm90aWZ5
PihkZXN0cm95R2V0RmF2aWNvblN1cmZhY2VBc3luY0RhdGEpKTsKKwogICAgIHByaXYtPmljb25E
YXRhYmFzZS0+cmV0YWluSWNvbkZvclBhZ2VVUkwoZGF0YS0+cGFnZVVSTCk7CiAKICAgICAvLyBX
ZSBhc2sgZm9yIHRoZSBpY29uIGRpcmVjdGx5LiBJZiB3ZSBkb24ndCBnZXQgdGhlIGljb24gZGF0
YSBub3csCkBAIC0zMTcsNyArMjkwLDcgQEAgdm9pZCB3ZWJraXRfZmF2aWNvbl9kYXRhYmFzZV9n
ZXRfZmF2aWNvbihXZWJLaXRGYXZpY29uRGF0YWJhc2UqIGRhdGFiYXNlLCBjb25zdAogICAgIEdP
d25QdHI8R0Vycm9yPiBlcnJvcjsKICAgICBkYXRhLT5pY29uID0gZ2V0SWNvblN1cmZhY2VTeW5j
aHJvbm91c2x5KGRhdGFiYXNlLCBkYXRhLT5wYWdlVVJMLCAmZXJyb3Iub3V0UHRyKCkpOwogICAg
IGlmIChkYXRhLT5pY29uKSB7Ci0gICAgICAgIGdfc2ltcGxlX2FzeW5jX3Jlc3VsdF9jb21wbGV0
ZV9pbl9pZGxlKHJlc3VsdC5nZXQoKSk7CisgICAgICAgIGdfdGFza19yZXR1cm5fYm9vbGVhbih0
YXNrLmdldCgpLCBUUlVFKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzI1LDggKzI5
OCw3IEBAIHZvaWQgd2Via2l0X2Zhdmljb25fZGF0YWJhc2VfZ2V0X2Zhdmljb24oV2ViS2l0RmF2
aWNvbkRhdGFiYXNlKiBkYXRhYmFzZSwgY29uc3QKICAgICBkYXRhLT5zaG91bGRSZWxlYXNlSWNv
bkZvclBhZ2VVUkwgPSB0cnVlOwogCiAgICAgaWYgKGdfZXJyb3JfbWF0Y2hlcyhlcnJvci5nZXQo
KSwgV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfRVJST1IsIFdFQktJVF9GQVZJQ09OX0RBVEFCQVNF
X0VSUk9SX0ZBVklDT05fTk9UX0ZPVU5EKSkgewotICAgICAgICBnX3NpbXBsZV9hc3luY19yZXN1
bHRfdGFrZV9lcnJvcihyZXN1bHQuZ2V0KCksIGVycm9yLnJlbGVhc2UoKSk7Ci0gICAgICAgIGdf
c2ltcGxlX2FzeW5jX3Jlc3VsdF9jb21wbGV0ZV9pbl9pZGxlKHJlc3VsdC5nZXQoKSk7CisgICAg
ICAgIGdfdGFza19yZXR1cm5fZXJyb3IodGFzay5nZXQoKSwgZXJyb3IucmVsZWFzZSgpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzM3LDE0ICszMDksMTQgQEAgdm9pZCB3ZWJraXRf
ZmF2aWNvbl9kYXRhYmFzZV9nZXRfZmF2aWNvbihXZWJLaXRGYXZpY29uRGF0YWJhc2UqIGRhdGFi
YXNlLCBjb25zdAogICAgIFN0cmluZyBpY29uVVJMRm9yUGFnZVVSTDsKICAgICBpY29uRGF0YWJh
c2VJbXBsLT5zeW5jaHJvbm91c0ljb25VUkxGb3JQYWdlVVJMKGRhdGEtPnBhZ2VVUkwsIGljb25V
UkxGb3JQYWdlVVJMKTsKICAgICBpZiAoIWljb25VUkxGb3JQYWdlVVJMLmlzRW1wdHkoKSB8fCAh
aWNvbkRhdGFiYXNlSW1wbC0+aXNVcmxJbXBvcnRDb21wbGV0ZWQoKSkgewotICAgICAgICBQZW5k
aW5nSWNvblJlcXVlc3RWZWN0b3IqIGljb25zID0gZ2V0T3JDcmVhdGVQZW5kaW5nSWNvblJlcXVl
c3RzKGRhdGFiYXNlLCBkYXRhLT5wYWdlVVJMKTsKLSAgICAgICAgQVNTRVJUKGljb25zKTsKLSAg
ICAgICAgaWNvbnMtPmFwcGVuZChyZXN1bHQpOworICAgICAgICBQZW5kaW5nSWNvblJlcXVlc3RW
ZWN0b3IqIGljb25SZXF1ZXN0cyA9IGdldE9yQ3JlYXRlUGVuZGluZ0ljb25SZXF1ZXN0cyhkYXRh
YmFzZSwgZGF0YS0+cGFnZVVSTCk7CisgICAgICAgIEFTU0VSVChpY29uUmVxdWVzdHMpOworICAg
ICAgICBpY29uUmVxdWVzdHMtPmFwcGVuZCh0YXNrKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIHNldEVycm9yRm9yQXN5bmNSZXN1bHQocmVzdWx0LmdldCgpLCBXRUJLSVRfRkFWSUNP
Tl9EQVRBQkFTRV9FUlJPUl9GQVZJQ09OX1VOS05PV04sIGRhdGEtPnBhZ2VVUkwpOwotICAgIGdf
c2ltcGxlX2FzeW5jX3Jlc3VsdF9jb21wbGV0ZV9pbl9pZGxlKHJlc3VsdC5nZXQoKSk7CisgICAg
Z190YXNrX3JldHVybl9uZXdfZXJyb3IodGFzay5nZXQoKSwgV0VCS0lUX0ZBVklDT05fREFUQUJB
U0VfRVJST1IsIFdFQktJVF9GQVZJQ09OX0RBVEFCQVNFX0VSUk9SX0ZBVklDT05fVU5LTk9XTiwK
KyAgICAgICAgXygiVW5rbm93biBmYXZpY29uIGZvciBwYWdlICVzIiksIHBhZ2VVUkkpOwogfQog
CiAvKioKQEAgLTM2MCwxNCArMzMyLDE0IEBAIHZvaWQgd2Via2l0X2Zhdmljb25fZGF0YWJhc2Vf
Z2V0X2Zhdmljb24oV2ViS2l0RmF2aWNvbkRhdGFiYXNlKiBkYXRhYmFzZSwgY29uc3QKICAqLwog
Y2Fpcm9fc3VyZmFjZV90KiB3ZWJraXRfZmF2aWNvbl9kYXRhYmFzZV9nZXRfZmF2aWNvbl9maW5p
c2goV2ViS2l0RmF2aWNvbkRhdGFiYXNlKiBkYXRhYmFzZSwgR0FzeW5jUmVzdWx0KiByZXN1bHQs
IEdFcnJvcioqIGVycm9yKQogewotICAgIEdTaW1wbGVBc3luY1Jlc3VsdCogc2ltcGxlUmVzdWx0
ID0gR19TSU1QTEVfQVNZTkNfUkVTVUxUKHJlc3VsdCk7Ci0gICAgZ193YXJuX2lmX2ZhaWwoZ19z
aW1wbGVfYXN5bmNfcmVzdWx0X2dldF9zb3VyY2VfdGFnKHNpbXBsZVJlc3VsdCkgPT0gd2Via2l0
X2Zhdmljb25fZGF0YWJhc2VfZ2V0X2Zhdmljb24pOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KFdFQktJVF9JU19GQVZJQ09OX0RBVEFCQVNFKGRhdGFiYXNlKSwgMCk7CisgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwoZ190YXNrX2lzX3ZhbGlkKHJlc3VsdCwgZGF0YWJhc2UpLCAwKTsKIAotICAg
IGlmIChnX3NpbXBsZV9hc3luY19yZXN1bHRfcHJvcGFnYXRlX2Vycm9yKHNpbXBsZVJlc3VsdCwg
ZXJyb3IpKQorICAgIEdUYXNrKiB0YXNrID0gR19UQVNLKHJlc3VsdCk7CisgICAgaWYgKCFnX3Rh
c2tfcHJvcGFnYXRlX2Jvb2xlYW4odGFzaywgZXJyb3IpKQogICAgICAgICByZXR1cm4gMDsKIAot
ICAgIEdldEZhdmljb25TdXJmYWNlQXN5bmNEYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8R2V0RmF2
aWNvblN1cmZhY2VBc3luY0RhdGEqPihnX3NpbXBsZV9hc3luY19yZXN1bHRfZ2V0X29wX3Jlc19n
cG9pbnRlcihzaW1wbGVSZXN1bHQpKTsKLSAgICBBU1NFUlQoZGF0YSk7CisgICAgR2V0RmF2aWNv
blN1cmZhY2VBc3luY0RhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxHZXRGYXZpY29uU3VyZmFjZUFz
eW5jRGF0YSo+KGdfdGFza19nZXRfdGFza19kYXRhKHRhc2spKTsKICAgICByZXR1cm4gY2Fpcm9f
c3VyZmFjZV9yZWZlcmVuY2UoZGF0YS0+aWNvbi5nZXQoKSk7CiB9CiAK
</data>
<flag name="review"
          id="225042"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>