<?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>98063</bug_id>
          
          <creation_ts>2012-10-01 13:52:16 -0700</creation_ts>
          <short_desc>[GTK] [WK2] Add favicon support to the MiniBrowser</short_desc>
          <delta_ts>2012-10-03 06:54:34 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>98153</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alberto Garcia">berto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731946</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-10-01 13:52:16 -0700</bug_when>
    <thetext>Since r129994 there&apos;s API to get the favicon of a web view, so it
would be nice to use it in the MiniBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732383</commentid>
    <comment_count>1</comment_count>
      <attachid>166631</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-10-02 00:57:57 -0700</bug_when>
    <thetext>Created attachment 166631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732408</commentid>
    <comment_count>2</comment_count>
      <attachid>166631</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-10-02 01:19:38 -0700</bug_when>
    <thetext>Comment on attachment 166631
Patch

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

I guess you should also unref the favicon pixbuf in finalize().

&gt; Tools/MiniBrowser/gtk/BrowserWindow.c:375
&gt; +    cairo_surface_t *surface;
&gt; +
&gt; +    surface = webkit_web_view_get_favicon(window-&gt;webView);

Use a single line here:

cairo_surface_t *surface = webkit_web_view_get_favicon(window-&gt;webView);

&gt; Tools/MiniBrowser/gtk/BrowserWindow.c:445
&gt; +    g_signal_connect(window-&gt;uriEntry, &quot;notify::text&quot;, G_CALLBACK(uriEntryTextChanged), (gpointer)window);

Don&apos;t use the gpointer cast, it&apos;s not needed, I know there are several there already, but that&apos;s old code copied from GtkLauncher, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732424</commentid>
    <comment_count>3</comment_count>
      <attachid>166631</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-10-02 01:46:34 -0700</bug_when>
    <thetext>Comment on attachment 166631
Patch

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

&gt; Tools/MiniBrowser/gtk/BrowserWindow.c:367
&gt; +    }

Just a small nit. WebKit coding style prefers early returns for these cases. So better 

if (!window-&gt;favicon)
    return;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732448</commentid>
    <comment_count>4</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-10-02 02:32:59 -0700</bug_when>
    <thetext>(In reply to comment #3)

&gt; Just a small nit. WebKit coding style prefers early returns for these cases. So better 
&gt; 
&gt; if (!window-&gt;favicon)
&gt;     return;

If you&apos;re talking about faviconChanged(), there we want to clear the
favicon if it&apos;s NULL, not just return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732547</commentid>
    <comment_count>5</comment_count>
      <attachid>166669</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-10-02 04:49:53 -0700</bug_when>
    <thetext>Created attachment 166669
Patch v2

(In reply to comment #2)
&gt; I guess you should also unref the favicon pixbuf in finalize().

&gt; Use a single line here:
&gt; cairo_surface_t *surface = webkit_web_view_get_favicon(window-&gt;webView);

&gt; &gt; +    g_signal_connect(window-&gt;uriEntry, &quot;notify::text&quot;, G_CALLBACK(uriEntryTextChanged), (gpointer)window);
&gt; Don&apos;t use the gpointer cast, it&apos;s not needed

Ok, here&apos;s the new patch with these three changes.

I also decided not to clear the icon when the URI entry is changed. So
for this to work correctly, WebKitWebView has to emit notify::favicon
also when a new page is loaded and it has no favicon.

The emission of that signal need anyway to be changed since it&apos;s not
being emitted in most cases at the moment, but it should not affect
the MiniBrowser code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732619</commentid>
    <comment_count>6</comment_count>
      <attachid>166669</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-10-02 06:44:17 -0700</bug_when>
    <thetext>Comment on attachment 166669
Patch v2

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

Thanks for taking care of this, Berto. The patch looks good to me in general, I&apos;ve just have a couple of really minor comments

&gt; Tools/ChangeLog:18
&gt; +        (browserWindowConstructed):

You should provide a brief description for each of these functions

&gt; Tools/MiniBrowser/gtk/BrowserWindow.c:397
&gt; +        window-&gt;favicon = NULL;

You could use g_clear_object() here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732661</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-10-02 08:17:27 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 166669 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166669&amp;action=review
&gt; 
&gt; Thanks for taking care of this, Berto. The patch looks good to me in general, I&apos;ve just have a couple of really minor comments
&gt; 
&gt; &gt; Tools/ChangeLog:18
&gt; &gt; +        (browserWindowConstructed):
&gt; 
&gt; You should provide a brief description for each of these functions
&gt; 
&gt; &gt; Tools/MiniBrowser/gtk/BrowserWindow.c:397
&gt; &gt; +        window-&gt;favicon = NULL;
&gt; 
&gt; You could use g_clear_object() here

Make sure we depend on a recent enough glib to use g_clear_object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733616</commentid>
    <comment_count>8</comment_count>
      <attachid>166669</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-10-03 06:10:56 -0700</bug_when>
    <thetext>Comment on attachment 166669
Patch v2

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

&gt; Tools/MiniBrowser/gtk/BrowserWindow.c:370
&gt; +        cairo_surface_destroy(surface);

webkit_web_view_get_favicon() now returns transfer none, so you shouldn&apos;t destroy the surface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733636</commentid>
    <comment_count>9</comment_count>
      <attachid>166882</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-10-03 06:32:34 -0700</bug_when>
    <thetext>Created attachment 166882
Patch v3

Here&apos;s the updated patch after the API changes in WebKitWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733639</commentid>
    <comment_count>10</comment_count>
      <attachid>166882</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-10-03 06:35:45 -0700</bug_when>
    <thetext>Comment on attachment 166882
Patch v3

Excellent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733651</commentid>
    <comment_count>11</comment_count>
      <attachid>166882</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 06:54:30 -0700</bug_when>
    <thetext>Comment on attachment 166882
Patch v3

Clearing flags on attachment: 166882

Committed r130282: &lt;http://trac.webkit.org/changeset/130282&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733652</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 06:54:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166631</attachid>
            <date>2012-10-02 00:57:57 -0700</date>
            <delta_ts>2012-10-02 04:49:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>favicon.diff</filename>
            <type>text/plain</type>
            <size>3929</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZGE5
ZGRkLi4zMzkxNzU2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTAtMDIgIEFsYmVydG8gR2FyY2lhICA8YWdh
cmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFtXSzJdIEFkZCBmYXZpY29uIHN1cHBv
cnQgdG8gdGhlIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05ODA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFNldCB0aGUgaWNvbiBpbiB0aGUgVVJJIHRleHQgZW50cnkgdXNpbmcgdGhl
IGZhdmljb24gcHJvcGVydHkgb2YKKyAgICAgICAgdGhlIFdlYktpdFdlYlZpZXcuCisKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jOgorICAgICAgICAoX0Jyb3dzZXJX
aW5kb3cpOgorICAgICAgICAodXBkYXRlVXJpRW50cnlJY29uKToKKyAgICAgICAgKHVyaUVudHJ5
VGV4dENoYW5nZWQpOgorICAgICAgICAoZmF2aWNvbkNoYW5nZWQpOgorICAgICAgICAoYnJvd3Nl
cl93aW5kb3dfaW5pdCk6CisgICAgICAgIChicm93c2VyV2luZG93Q29uc3RydWN0ZWQpOgorCiAy
MDEyLTEwLTAxICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFA
aW50ZWwuY29tPgogCiAgICAgICAgIFtHVEtdIFJlbHkgb24gdGhlIGdlbmVyYWwgaW1wbGVtZW50
YXRpb24gZm9yIGRldGVjdGluZyB0aGUgQXBhY2hlIHNlcnZlciBwYXRoLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYyBiL1Rvb2xzL01pbmlCcm93c2Vy
L2d0ay9Ccm93c2VyV2luZG93LmMKaW5kZXggNmVkMmZmNi4uMzQxYjdjZiAxMDA2NDQKLS0tIGEv
VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYworKysgYi9Ub29scy9NaW5pQnJv
d3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCkBAIC01MSw2ICs1MSw3IEBAIHN0cnVjdCBfQnJvd3Nl
cldpbmRvdyB7CiAgICAgR3RrV2lkZ2V0ICpzZXR0aW5nc0RpYWxvZzsKICAgICBXZWJLaXRXZWJW
aWV3ICp3ZWJWaWV3OwogICAgIEd0a1dpZGdldCAqZG93bmxvYWRzQmFyOworICAgIEdka1BpeGJ1
ZiAqZmF2aWNvbjsKIH07CiAKIHN0cnVjdCBfQnJvd3NlcldpbmRvd0NsYXNzIHsKQEAgLTM0OCw2
ICszNDksNDQgQEAgc3RhdGljIHZvaWQgd2ViVmlld1pvb21MZXZlbENoYW5nZWQoR09iamVjdCAq
b2JqZWN0LCBHUGFyYW1TcGVjICpwYXJhbVNwZWMsIEJyb3cKICAgICBicm93c2VyV2luZG93VXBk
YXRlWm9vbUFjdGlvbnMod2luZG93KTsKIH0KIAorc3RhdGljIHZvaWQgdXBkYXRlVXJpRW50cnlJ
Y29uKEJyb3dzZXJXaW5kb3cgKndpbmRvdykKK3sKKyAgICBHdGtFbnRyeSAqZW50cnkgPSBHVEtf
RU5UUlkod2luZG93LT51cmlFbnRyeSk7CisgICAgaWYgKHdpbmRvdy0+ZmF2aWNvbikKKyAgICAg
ICAgZ3RrX2VudHJ5X3NldF9pY29uX2Zyb21fcGl4YnVmKGVudHJ5LCBHVEtfRU5UUllfSUNPTl9Q
UklNQVJZLCB3aW5kb3ctPmZhdmljb24pOworICAgIGVsc2UKKyAgICAgICAgZ3RrX2VudHJ5X3Nl
dF9pY29uX2Zyb21fc3RvY2soZW50cnksIEdUS19FTlRSWV9JQ09OX1BSSU1BUlksIEdUS19TVE9D
S19ORVcpOworfQorCitzdGF0aWMgdm9pZCB1cmlFbnRyeVRleHRDaGFuZ2VkKEdPYmplY3QgKm9i
amVjdCwgR1BhcmFtU3BlYyAqcGFyYW1TcGVjLCBCcm93c2VyV2luZG93ICp3aW5kb3cpCit7Cisg
ICAgaWYgKHdpbmRvdy0+ZmF2aWNvbikgeworICAgICAgICBnX29iamVjdF91bnJlZih3aW5kb3ct
PmZhdmljb24pOworICAgICAgICB3aW5kb3ctPmZhdmljb24gPSBOVUxMOworICAgICAgICB1cGRh
dGVVcmlFbnRyeUljb24od2luZG93KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGZhdmljb25D
aGFuZ2VkKEdPYmplY3QgKm9iamVjdCwgR1BhcmFtU3BlYyAqcGFyYW1TcGVjLCBCcm93c2VyV2lu
ZG93ICp3aW5kb3cpCit7CisgICAgR2RrUGl4YnVmICpmYXZpY29uID0gTlVMTDsKKyAgICBjYWly
b19zdXJmYWNlX3QgKnN1cmZhY2U7CisKKyAgICBzdXJmYWNlID0gd2Via2l0X3dlYl92aWV3X2dl
dF9mYXZpY29uKHdpbmRvdy0+d2ViVmlldyk7CisgICAgaWYgKHN1cmZhY2UpIHsKKyAgICAgICAg
aW50IHdpZHRoID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFjZSk7CisgICAg
ICAgIGludCBoZWlnaHQgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQoc3VyZmFjZSk7
CisgICAgICAgIGZhdmljb24gPSBnZGtfcGl4YnVmX2dldF9mcm9tX3N1cmZhY2Uoc3VyZmFjZSwg
MCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShzdXJm
YWNlKTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LT5mYXZpY29uKQorICAgICAgICBnX29iamVj
dF91bnJlZih3aW5kb3ctPmZhdmljb24pOworICAgIHdpbmRvdy0+ZmF2aWNvbiA9IGZhdmljb247
CisKKyAgICB1cGRhdGVVcmlFbnRyeUljb24od2luZG93KTsKK30KKwogc3RhdGljIHZvaWQgem9v
bUluQ2FsbGJhY2soQnJvd3NlcldpbmRvdyAqd2luZG93KQogewogICAgIGdkb3VibGUgem9vbUxl
dmVsID0gd2Via2l0X3dlYl92aWV3X2dldF96b29tX2xldmVsKHdpbmRvdy0+d2ViVmlldykgKiB6
b29tU3RlcDsKQEAgLTQwMyw2ICs0NDIsOSBAQCBzdGF0aWMgdm9pZCBicm93c2VyX3dpbmRvd19p
bml0KEJyb3dzZXJXaW5kb3cgKndpbmRvdykKIAogICAgIHdpbmRvdy0+dXJpRW50cnkgPSBndGtf
ZW50cnlfbmV3KCk7CiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKHdpbmRvdy0+dXJpRW50
cnksICJhY3RpdmF0ZSIsIEdfQ0FMTEJBQ0soYWN0aXZhdGVVcmlFbnRyeUNhbGxiYWNrKSwgKGdw
b2ludGVyKXdpbmRvdyk7CisgICAgZ19zaWduYWxfY29ubmVjdCh3aW5kb3ctPnVyaUVudHJ5LCAi
bm90aWZ5Ojp0ZXh0IiwgR19DQUxMQkFDSyh1cmlFbnRyeVRleHRDaGFuZ2VkKSwgKGdwb2ludGVy
KXdpbmRvdyk7CisgICAgZ3RrX2VudHJ5X3NldF9pY29uX2FjdGl2YXRhYmxlKEdUS19FTlRSWSh3
aW5kb3ctPnVyaUVudHJ5KSwgR1RLX0VOVFJZX0lDT05fUFJJTUFSWSwgRkFMU0UpOworICAgIHVw
ZGF0ZVVyaUVudHJ5SWNvbih3aW5kb3cpOwogCiAgICAgR3RrV2lkZ2V0ICp0b29sYmFyID0gZ3Rr
X3Rvb2xiYXJfbmV3KCk7CiAgICAgd2luZG93LT50b29sYmFyID0gdG9vbGJhcjsKQEAgLTQ3Niw2
ICs1MTgsNyBAQCBzdGF0aWMgdm9pZCBicm93c2VyV2luZG93Q29uc3RydWN0ZWQoR09iamVjdCAq
Z09iamVjdCkKICAgICBnX3NpZ25hbF9jb25uZWN0KHdpbmRvdy0+d2ViVmlldywgInBlcm1pc3Np
b24tcmVxdWVzdCIsIEdfQ0FMTEJBQ0sod2ViVmlld0RlY2lkZVBlcm1pc3Npb25SZXF1ZXN0KSwg
d2luZG93KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdpbmRvdy0+d2ViVmlldywgIm1vdXNlLXRh
cmdldC1jaGFuZ2VkIiwgR19DQUxMQkFDSyh3ZWJWaWV3TW91c2VUYXJnZXRDaGFuZ2VkKSwgd2lu
ZG93KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdpbmRvdy0+d2ViVmlldywgIm5vdGlmeTo6em9v
bS1sZXZlbCIsIEdfQ0FMTEJBQ0sod2ViVmlld1pvb21MZXZlbENoYW5nZWQpLCB3aW5kb3cpOwor
ICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2luZG93LT53ZWJWaWV3LCAibm90aWZ5OjpmYXZpY29uIiwg
R19DQUxMQkFDSyhmYXZpY29uQ2hhbmdlZCksIHdpbmRvdyk7CiAKICAgICBnX3NpZ25hbF9jb25u
ZWN0KHdlYmtpdF93ZWJfdmlld19nZXRfY29udGV4dCh3aW5kb3ctPndlYlZpZXcpLCAiZG93bmxv
YWQtc3RhcnRlZCIsIEdfQ0FMTEJBQ0soZG93bmxvYWRTdGFydGVkKSwgd2luZG93KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166669</attachid>
            <date>2012-10-02 04:49:53 -0700</date>
            <delta_ts>2012-10-03 06:32:34 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>favicon.diff</filename>
            <type>text/plain</type>
            <size>3948</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxYmIy
MDlmLi4xMjAzOTNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTAtMDIgIEFsYmVydG8gR2FyY2lhICA8YWdh
cmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFtXSzJdIEFkZCBmYXZpY29uIHN1cHBv
cnQgdG8gdGhlIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05ODA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFNldCB0aGUgaWNvbiBpbiB0aGUgVVJJIHRleHQgZW50cnkgdXNpbmcgdGhl
IGZhdmljb24gcHJvcGVydHkgb2YKKyAgICAgICAgdGhlIFdlYktpdFdlYlZpZXcuCisKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jOgorICAgICAgICAoX0Jyb3dzZXJX
aW5kb3cpOgorICAgICAgICAodXBkYXRlVXJpRW50cnlJY29uKToKKyAgICAgICAgKHVyaUVudHJ5
VGV4dENoYW5nZWQpOgorICAgICAgICAoZmF2aWNvbkNoYW5nZWQpOgorICAgICAgICAoYnJvd3Nl
cldpbmRvd0ZpbmFsaXplKToKKyAgICAgICAgKGJyb3dzZXJfd2luZG93X2luaXQpOgorICAgICAg
ICAoYnJvd3NlcldpbmRvd0NvbnN0cnVjdGVkKToKKwogMjAxMi0xMC0wMiAgUGhpbGlwIFJvZ2Vy
cyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIEZpeCBQZXJmVGVzdCBzdGFuZGFyZCBkZXZp
YXRpb24gY2FsY3VsYXRpb24uCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJv
d3NlcldpbmRvdy5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwppbmRl
eCA2ZWQyZmY2Li5kYWVmOGM5IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJv
d3NlcldpbmRvdy5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMK
QEAgLTUxLDYgKzUxLDcgQEAgc3RydWN0IF9Ccm93c2VyV2luZG93IHsKICAgICBHdGtXaWRnZXQg
KnNldHRpbmdzRGlhbG9nOwogICAgIFdlYktpdFdlYlZpZXcgKndlYlZpZXc7CiAgICAgR3RrV2lk
Z2V0ICpkb3dubG9hZHNCYXI7CisgICAgR2RrUGl4YnVmICpmYXZpY29uOwogfTsKIAogc3RydWN0
IF9Ccm93c2VyV2luZG93Q2xhc3MgewpAQCAtMzQ4LDYgKzM0OSwzNCBAQCBzdGF0aWMgdm9pZCB3
ZWJWaWV3Wm9vbUxldmVsQ2hhbmdlZChHT2JqZWN0ICpvYmplY3QsIEdQYXJhbVNwZWMgKnBhcmFt
U3BlYywgQnJvdwogICAgIGJyb3dzZXJXaW5kb3dVcGRhdGVab29tQWN0aW9ucyh3aW5kb3cpOwog
fQogCitzdGF0aWMgdm9pZCB1cGRhdGVVcmlFbnRyeUljb24oQnJvd3NlcldpbmRvdyAqd2luZG93
KQoreworICAgIEd0a0VudHJ5ICplbnRyeSA9IEdUS19FTlRSWSh3aW5kb3ctPnVyaUVudHJ5KTsK
KyAgICBpZiAod2luZG93LT5mYXZpY29uKQorICAgICAgICBndGtfZW50cnlfc2V0X2ljb25fZnJv
bV9waXhidWYoZW50cnksIEdUS19FTlRSWV9JQ09OX1BSSU1BUlksIHdpbmRvdy0+ZmF2aWNvbik7
CisgICAgZWxzZQorICAgICAgICBndGtfZW50cnlfc2V0X2ljb25fZnJvbV9zdG9jayhlbnRyeSwg
R1RLX0VOVFJZX0lDT05fUFJJTUFSWSwgR1RLX1NUT0NLX05FVyk7Cit9CisKK3N0YXRpYyB2b2lk
IGZhdmljb25DaGFuZ2VkKEdPYmplY3QgKm9iamVjdCwgR1BhcmFtU3BlYyAqcGFyYW1TcGVjLCBC
cm93c2VyV2luZG93ICp3aW5kb3cpCit7CisgICAgR2RrUGl4YnVmICpmYXZpY29uID0gTlVMTDsK
KyAgICBjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Zhdmlj
b24od2luZG93LT53ZWJWaWV3KTsKKworICAgIGlmIChzdXJmYWNlKSB7CisgICAgICAgIGludCB3
aWR0aCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKHN1cmZhY2UpOworICAgICAgICBp
bnQgaGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KHN1cmZhY2UpOworICAg
ICAgICBmYXZpY29uID0gZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKHN1cmZhY2UsIDAsIDAs
IHdpZHRoLCBoZWlnaHQpOworICAgICAgICBjYWlyb19zdXJmYWNlX2Rlc3Ryb3koc3VyZmFjZSk7
CisgICAgfQorCisgICAgaWYgKHdpbmRvdy0+ZmF2aWNvbikKKyAgICAgICAgZ19vYmplY3RfdW5y
ZWYod2luZG93LT5mYXZpY29uKTsKKyAgICB3aW5kb3ctPmZhdmljb24gPSBmYXZpY29uOworCisg
ICAgdXBkYXRlVXJpRW50cnlJY29uKHdpbmRvdyk7Cit9CisKIHN0YXRpYyB2b2lkIHpvb21JbkNh
bGxiYWNrKEJyb3dzZXJXaW5kb3cgKndpbmRvdykKIHsKICAgICBnZG91YmxlIHpvb21MZXZlbCA9
IHdlYmtpdF93ZWJfdmlld19nZXRfem9vbV9sZXZlbCh3aW5kb3ctPndlYlZpZXcpICogem9vbVN0
ZXA7CkBAIC0zNjIsNiArMzkxLDEyIEBAIHN0YXRpYyB2b2lkIHpvb21PdXRDYWxsYmFjayhCcm93
c2VyV2luZG93ICp3aW5kb3cpCiAKIHN0YXRpYyB2b2lkIGJyb3dzZXJXaW5kb3dGaW5hbGl6ZShH
T2JqZWN0ICpnT2JqZWN0KQogeworICAgIEJyb3dzZXJXaW5kb3cgKndpbmRvdyA9IEJST1dTRVJf
V0lORE9XKGdPYmplY3QpOworICAgIGlmICh3aW5kb3ctPmZhdmljb24pIHsKKyAgICAgICAgZ19v
YmplY3RfdW5yZWYod2luZG93LT5mYXZpY29uKTsKKyAgICAgICAgd2luZG93LT5mYXZpY29uID0g
TlVMTDsKKyAgICB9CisKICAgICBHX09CSkVDVF9DTEFTUyhicm93c2VyX3dpbmRvd19wYXJlbnRf
Y2xhc3MpLT5maW5hbGl6ZShnT2JqZWN0KTsKIAogICAgIGlmIChnX2F0b21pY19pbnRfZGVjX2Fu
ZF90ZXN0KCZ3aW5kb3dDb3VudCkpCkBAIC00MDMsNiArNDM4LDggQEAgc3RhdGljIHZvaWQgYnJv
d3Nlcl93aW5kb3dfaW5pdChCcm93c2VyV2luZG93ICp3aW5kb3cpCiAKICAgICB3aW5kb3ctPnVy
aUVudHJ5ID0gZ3RrX2VudHJ5X25ldygpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZCh3
aW5kb3ctPnVyaUVudHJ5LCAiYWN0aXZhdGUiLCBHX0NBTExCQUNLKGFjdGl2YXRlVXJpRW50cnlD
YWxsYmFjayksIChncG9pbnRlcil3aW5kb3cpOworICAgIGd0a19lbnRyeV9zZXRfaWNvbl9hY3Rp
dmF0YWJsZShHVEtfRU5UUlkod2luZG93LT51cmlFbnRyeSksIEdUS19FTlRSWV9JQ09OX1BSSU1B
UlksIEZBTFNFKTsKKyAgICB1cGRhdGVVcmlFbnRyeUljb24od2luZG93KTsKIAogICAgIEd0a1dp
ZGdldCAqdG9vbGJhciA9IGd0a190b29sYmFyX25ldygpOwogICAgIHdpbmRvdy0+dG9vbGJhciA9
IHRvb2xiYXI7CkBAIC00NzYsNiArNTEzLDcgQEAgc3RhdGljIHZvaWQgYnJvd3NlcldpbmRvd0Nv
bnN0cnVjdGVkKEdPYmplY3QgKmdPYmplY3QpCiAgICAgZ19zaWduYWxfY29ubmVjdCh3aW5kb3ct
PndlYlZpZXcsICJwZXJtaXNzaW9uLXJlcXVlc3QiLCBHX0NBTExCQUNLKHdlYlZpZXdEZWNpZGVQ
ZXJtaXNzaW9uUmVxdWVzdCksIHdpbmRvdyk7CiAgICAgZ19zaWduYWxfY29ubmVjdCh3aW5kb3ct
PndlYlZpZXcsICJtb3VzZS10YXJnZXQtY2hhbmdlZCIsIEdfQ0FMTEJBQ0sod2ViVmlld01vdXNl
VGFyZ2V0Q2hhbmdlZCksIHdpbmRvdyk7CiAgICAgZ19zaWduYWxfY29ubmVjdCh3aW5kb3ctPndl
YlZpZXcsICJub3RpZnk6Onpvb20tbGV2ZWwiLCBHX0NBTExCQUNLKHdlYlZpZXdab29tTGV2ZWxD
aGFuZ2VkKSwgd2luZG93KTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHdpbmRvdy0+d2ViVmlldywg
Im5vdGlmeTo6ZmF2aWNvbiIsIEdfQ0FMTEJBQ0soZmF2aWNvbkNoYW5nZWQpLCB3aW5kb3cpOwog
CiAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NvbnRleHQod2luZG93
LT53ZWJWaWV3KSwgImRvd25sb2FkLXN0YXJ0ZWQiLCBHX0NBTExCQUNLKGRvd25sb2FkU3RhcnRl
ZCksIHdpbmRvdyk7CiAK
</data>
<flag name="review"
          id="179079"
          type_id="1"
          status="-"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166882</attachid>
            <date>2012-10-03 06:32:34 -0700</date>
            <delta_ts>2012-10-03 06:54:30 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>favicon.diff</filename>
            <type>text/plain</type>
            <size>3847</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiYzRk
NmYwLi5hZjRkZTBiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xICsxLDIwIEBACisyMDEyLTEwLTAzICBBbGJlcnRvIEdhcmNpYSAgPGFnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBbV0syXSBBZGQgZmF2aWNvbiBzdXBwb3J0
IHRvIHRoZSBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTgwNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZXQgdGhlIGljb24gaW4gdGhlIFVSSSB0ZXh0IGVudHJ5IHVzaW5nIHRoZSBm
YXZpY29uIHByb3BlcnR5IG9mCisgICAgICAgIHRoZSBXZWJLaXRXZWJWaWV3LgorCisgICAgICAg
ICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYzoKKyAgICAgICAgKF9Ccm93c2VyV2lu
ZG93KToKKyAgICAgICAgKHVwZGF0ZVVyaUVudHJ5SWNvbik6CisgICAgICAgICh1cmlFbnRyeVRl
eHRDaGFuZ2VkKToKKyAgICAgICAgKGZhdmljb25DaGFuZ2VkKToKKyAgICAgICAgKGJyb3dzZXJX
aW5kb3dGaW5hbGl6ZSk6CisgICAgICAgIChicm93c2VyX3dpbmRvd19pbml0KToKKyAgICAgICAg
KGJyb3dzZXJXaW5kb3dDb25zdHJ1Y3RlZCk6CisKID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxv
Zy0yMDEyLTEwLTAyID09CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3Nl
cldpbmRvdy5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwppbmRleCA2
ZWQyZmY2Li44NmIwNDQ2IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3Nl
cldpbmRvdy5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMKQEAg
LTUxLDYgKzUxLDcgQEAgc3RydWN0IF9Ccm93c2VyV2luZG93IHsKICAgICBHdGtXaWRnZXQgKnNl
dHRpbmdzRGlhbG9nOwogICAgIFdlYktpdFdlYlZpZXcgKndlYlZpZXc7CiAgICAgR3RrV2lkZ2V0
ICpkb3dubG9hZHNCYXI7CisgICAgR2RrUGl4YnVmICpmYXZpY29uOwogfTsKIAogc3RydWN0IF9C
cm93c2VyV2luZG93Q2xhc3MgewpAQCAtMzQ4LDYgKzM0OSwzMyBAQCBzdGF0aWMgdm9pZCB3ZWJW
aWV3Wm9vbUxldmVsQ2hhbmdlZChHT2JqZWN0ICpvYmplY3QsIEdQYXJhbVNwZWMgKnBhcmFtU3Bl
YywgQnJvdwogICAgIGJyb3dzZXJXaW5kb3dVcGRhdGVab29tQWN0aW9ucyh3aW5kb3cpOwogfQog
CitzdGF0aWMgdm9pZCB1cGRhdGVVcmlFbnRyeUljb24oQnJvd3NlcldpbmRvdyAqd2luZG93KQor
eworICAgIEd0a0VudHJ5ICplbnRyeSA9IEdUS19FTlRSWSh3aW5kb3ctPnVyaUVudHJ5KTsKKyAg
ICBpZiAod2luZG93LT5mYXZpY29uKQorICAgICAgICBndGtfZW50cnlfc2V0X2ljb25fZnJvbV9w
aXhidWYoZW50cnksIEdUS19FTlRSWV9JQ09OX1BSSU1BUlksIHdpbmRvdy0+ZmF2aWNvbik7Cisg
ICAgZWxzZQorICAgICAgICBndGtfZW50cnlfc2V0X2ljb25fZnJvbV9zdG9jayhlbnRyeSwgR1RL
X0VOVFJZX0lDT05fUFJJTUFSWSwgR1RLX1NUT0NLX05FVyk7Cit9CisKK3N0YXRpYyB2b2lkIGZh
dmljb25DaGFuZ2VkKEdPYmplY3QgKm9iamVjdCwgR1BhcmFtU3BlYyAqcGFyYW1TcGVjLCBCcm93
c2VyV2luZG93ICp3aW5kb3cpCit7CisgICAgR2RrUGl4YnVmICpmYXZpY29uID0gTlVMTDsKKyAg
ICBjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Zhdmljb24o
d2luZG93LT53ZWJWaWV3KTsKKworICAgIGlmIChzdXJmYWNlKSB7CisgICAgICAgIGludCB3aWR0
aCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKHN1cmZhY2UpOworICAgICAgICBpbnQg
aGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KHN1cmZhY2UpOworICAgICAg
ICBmYXZpY29uID0gZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKHN1cmZhY2UsIDAsIDAsIHdp
ZHRoLCBoZWlnaHQpOworICAgIH0KKworICAgIGlmICh3aW5kb3ctPmZhdmljb24pCisgICAgICAg
IGdfb2JqZWN0X3VucmVmKHdpbmRvdy0+ZmF2aWNvbik7CisgICAgd2luZG93LT5mYXZpY29uID0g
ZmF2aWNvbjsKKworICAgIHVwZGF0ZVVyaUVudHJ5SWNvbih3aW5kb3cpOworfQorCiBzdGF0aWMg
dm9pZCB6b29tSW5DYWxsYmFjayhCcm93c2VyV2luZG93ICp3aW5kb3cpCiB7CiAgICAgZ2RvdWJs
ZSB6b29tTGV2ZWwgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3pvb21fbGV2ZWwod2luZG93LT53ZWJW
aWV3KSAqIHpvb21TdGVwOwpAQCAtMzYyLDYgKzM5MCwxMiBAQCBzdGF0aWMgdm9pZCB6b29tT3V0
Q2FsbGJhY2soQnJvd3NlcldpbmRvdyAqd2luZG93KQogCiBzdGF0aWMgdm9pZCBicm93c2VyV2lu
ZG93RmluYWxpemUoR09iamVjdCAqZ09iamVjdCkKIHsKKyAgICBCcm93c2VyV2luZG93ICp3aW5k
b3cgPSBCUk9XU0VSX1dJTkRPVyhnT2JqZWN0KTsKKyAgICBpZiAod2luZG93LT5mYXZpY29uKSB7
CisgICAgICAgIGdfb2JqZWN0X3VucmVmKHdpbmRvdy0+ZmF2aWNvbik7CisgICAgICAgIHdpbmRv
dy0+ZmF2aWNvbiA9IE5VTEw7CisgICAgfQorCiAgICAgR19PQkpFQ1RfQ0xBU1MoYnJvd3Nlcl93
aW5kb3dfcGFyZW50X2NsYXNzKS0+ZmluYWxpemUoZ09iamVjdCk7CiAKICAgICBpZiAoZ19hdG9t
aWNfaW50X2RlY19hbmRfdGVzdCgmd2luZG93Q291bnQpKQpAQCAtNDAzLDYgKzQzNyw4IEBAIHN0
YXRpYyB2b2lkIGJyb3dzZXJfd2luZG93X2luaXQoQnJvd3NlcldpbmRvdyAqd2luZG93KQogCiAg
ICAgd2luZG93LT51cmlFbnRyeSA9IGd0a19lbnRyeV9uZXcoKTsKICAgICBnX3NpZ25hbF9jb25u
ZWN0X3N3YXBwZWQod2luZG93LT51cmlFbnRyeSwgImFjdGl2YXRlIiwgR19DQUxMQkFDSyhhY3Rp
dmF0ZVVyaUVudHJ5Q2FsbGJhY2spLCAoZ3BvaW50ZXIpd2luZG93KTsKKyAgICBndGtfZW50cnlf
c2V0X2ljb25fYWN0aXZhdGFibGUoR1RLX0VOVFJZKHdpbmRvdy0+dXJpRW50cnkpLCBHVEtfRU5U
UllfSUNPTl9QUklNQVJZLCBGQUxTRSk7CisgICAgdXBkYXRlVXJpRW50cnlJY29uKHdpbmRvdyk7
CiAKICAgICBHdGtXaWRnZXQgKnRvb2xiYXIgPSBndGtfdG9vbGJhcl9uZXcoKTsKICAgICB3aW5k
b3ctPnRvb2xiYXIgPSB0b29sYmFyOwpAQCAtNDc2LDYgKzUxMiw3IEBAIHN0YXRpYyB2b2lkIGJy
b3dzZXJXaW5kb3dDb25zdHJ1Y3RlZChHT2JqZWN0ICpnT2JqZWN0KQogICAgIGdfc2lnbmFsX2Nv
bm5lY3Qod2luZG93LT53ZWJWaWV3LCAicGVybWlzc2lvbi1yZXF1ZXN0IiwgR19DQUxMQkFDSyh3
ZWJWaWV3RGVjaWRlUGVybWlzc2lvblJlcXVlc3QpLCB3aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nv
bm5lY3Qod2luZG93LT53ZWJWaWV3LCAibW91c2UtdGFyZ2V0LWNoYW5nZWQiLCBHX0NBTExCQUNL
KHdlYlZpZXdNb3VzZVRhcmdldENoYW5nZWQpLCB3aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nvbm5l
Y3Qod2luZG93LT53ZWJWaWV3LCAibm90aWZ5Ojp6b29tLWxldmVsIiwgR19DQUxMQkFDSyh3ZWJW
aWV3Wm9vbUxldmVsQ2hhbmdlZCksIHdpbmRvdyk7CisgICAgZ19zaWduYWxfY29ubmVjdCh3aW5k
b3ctPndlYlZpZXcsICJub3RpZnk6OmZhdmljb24iLCBHX0NBTExCQUNLKGZhdmljb25DaGFuZ2Vk
KSwgd2luZG93KTsKIAogICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2Via2l0X3dlYl92aWV3X2dldF9j
b250ZXh0KHdpbmRvdy0+d2ViVmlldyksICJkb3dubG9hZC1zdGFydGVkIiwgR19DQUxMQkFDSyhk
b3dubG9hZFN0YXJ0ZWQpLCB3aW5kb3cpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>