<?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>50225</bug_id>
          
          <creation_ts>2010-11-30 04:39:00 -0800</creation_ts>
          <short_desc>[GTK] Use gtk_widget_render_icon() to render media buttons using gtk stock icons</short_desc>
          <delta_ts>2010-12-07 04:44:08 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>50623</dup_id>
          
          <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>0</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>314953</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-11-30 04:39:00 -0800</bug_when>
    <thetext>gtk_widget_render_icon() returns the right version of the icon depending on the widget direction, so we don&apos;t need to change the icon name. It also uses the gtk icon cache, so we can avoid loading the icons from files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314954</commentid>
    <comment_count>1</comment_count>
      <attachid>75124</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-11-30 04:40:52 -0800</bug_when>
    <thetext>Created attachment 75124
Patch to use gtk_widget_render_icon()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315618</commentid>
    <comment_count>2</comment_count>
      <attachid>75124</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-01 06:38:16 -0800</bug_when>
    <thetext>Comment on attachment 75124
Patch to use gtk_widget_render_icon()

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

Great. Just a couple small issues.

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:60
&gt; +#define WEBKIT_MEDIA_BUTTON_SIZE &quot;webkit-media-button-size&quot;

I think you should just use this this directly.

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:77
&gt; +        RefPtr&lt;BitmapImage&gt; img = BitmapImage::create();
&gt; +        return img.release();

No need to cache this. You can simply return BitmapImage::create();

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:91
&gt; +    RefPtr&lt;BitmapImage&gt; img = BitmapImage::create(surface);
&gt; +    return img.release();

Same here, I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316084</commentid>
    <comment_count>3</comment_count>
      <attachid>75368</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-12-02 04:41:17 -0800</bug_when>
    <thetext>Created attachment 75368
New patch

It also uses gtk_widget_render_icon() for search entry icons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316087</commentid>
    <comment_count>4</comment_count>
      <attachid>75368</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-02 05:04:00 -0800</bug_when>
    <thetext>Comment on attachment 75368
New patch

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

This patch seems to contain some bits from your other media styling patch. Other than that it looks pretty good. I have a few comments.

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:72
&gt; +    GdkPixbuf* icon = gtk_widget_render_icon(widget, iconName, iconSize, &quot;button&quot;);

Consider using a PlatformRefPtr here.

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:484
&gt; -    // FIXME: This should not be hard-coded.
&gt; -    IntSize size = IntSize(14, 14);
&gt; -    style-&gt;setWidth(Length(size.width(), Fixed));
&gt; -    style-&gt;setHeight(Length(size.height(), Fixed));
&gt; +    gint width, height;
&gt; +    gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &amp;width, &amp;height);
&gt; +    style-&gt;setWidth(Length(width, Fixed));
&gt; +    style-&gt;setHeight(Length(height, Fixed));

Instead of basing this on the size of the icon, it should be based on the height / width of the search box. Otherwise the icon might paint outside the box or be very small in relation to the field size.

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:504
&gt; +    static Image* searchImage = loadStockIcon(GTK_WIDGET(gtkEntry()), GTK_STOCK_FIND, GTK_ICON_SIZE_MENU).releaseRef();

Now might be a good time to make searchImage a member of RenderThemeGtk so that it can be properly freed.

&gt; WebCore/platform/gtk/RenderThemeGtk.cpp:524
&gt; +    static Image* cancelImage = loadStockIcon(GTK_WIDGET(gtkEntry()), GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU).releaseRef();

Maybe time to make this a member as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318134</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-12-07 04:44:08 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 50623 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75124</attachid>
            <date>2010-11-30 04:40:52 -0800</date>
            <delta_ts>2010-12-02 04:41:17 -0800</delta_ts>
            <desc>Patch to use gtk_widget_render_icon()</desc>
            <filename>media-buttons.diff</filename>
            <type>text/plain</type>
            <size>7129</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
N2Y0M2U5ZC4uMzNmYjhkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMS0zMCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gVXNlIGd0a193aWRnZXRfcmVuZGVyX2ljb24o
KSB0byByZW5kZXIgbWVkaWEgYnV0dG9ucyB1c2luZyBndGsgc3RvY2sgaWNvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMjI1CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9h
ZFN0b2NrSWNvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6aW5pdE1lZGlh
U3R5bGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6UmVuZGVyVGhlbWVH
dGspOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OnBsYXRmb3JtQ29sb3JzRGlk
Q2hhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaDoKKwogMjAx
MC0xMS0yOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IGZpeCBmb3Igbm9uLUlDVSBwbGF0Zm9ybXMgYWZ0ZXIgcjcyODg3LgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGZlNmM5ZTkuLjUxNzExMDYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJSZW5kZXJUaGVtZUd0ay5oIgogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5j
bHVkZSAiQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5j
bHVkZSAiR093blB0ci5oIgogI2luY2x1ZGUgIkdyYWRpZW50LmgiCkBAIC01Niw2ICs1Nyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKICNpZiBF
TkFCTEUoVklERU8pCisjZGVmaW5lIFdFQktJVF9NRURJQV9CVVRUT05fU0laRSAid2Via2l0LW1l
ZGlhLWJ1dHRvbi1zaXplIgorCiBzdGF0aWMgSFRNTE1lZGlhRWxlbWVudCogZ2V0TWVkaWFFbGVt
ZW50RnJvbVJlbmRlck9iamVjdChSZW5kZXJPYmplY3QqIG8pCiB7CiAgICAgTm9kZSogbm9kZSA9
IG8tPm5vZGUoKTsKQEAgLTY2LDMzICs2OSw0MCBAQCBzdGF0aWMgSFRNTE1lZGlhRWxlbWVudCog
Z2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9iamVjdChSZW5kZXJPYmplY3QqIG8pCiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtZWRpYU5vZGUpOwogfQogCi1zdGF0
aWMgZ2NoYXIqIGdldEljb25OYW1lRm9yVGV4dERpcmVjdGlvbihjb25zdCBjaGFyKiBiYXNlTmFt
ZSkKK3N0YXRpYyBQYXNzUmVmUHRyPEltYWdlPiBsb2FkU3RvY2tJY29uKEd0a1dpZGdldCogd2lk
Z2V0LCBjb25zdCBnY2hhciAqaWNvbk5hbWUsIEd0a0ljb25TaXplIGljb25TaXplKQogewotICAg
IEdTdHJpbmcqIG5hbWVXaXRoRGlyZWN0aW9uID0gZ19zdHJpbmdfbmV3KGJhc2VOYW1lKTsKLSAg
ICBHdGtUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24gPSBndGtfd2lkZ2V0X2dldF9kZWZhdWx0
X2RpcmVjdGlvbigpOworICAgIEdka1BpeGJ1ZiogaWNvbiA9IGd0a193aWRnZXRfcmVuZGVyX2lj
b24od2lkZ2V0LCBpY29uTmFtZSwgaWNvblNpemUsICJidXR0b24iKTsKKyAgICBpZiAoIWljb24p
IHsKKyAgICAgICAgUmVmUHRyPEJpdG1hcEltYWdlPiBpbWcgPSBCaXRtYXBJbWFnZTo6Y3JlYXRl
KCk7CisgICAgICAgIHJldHVybiBpbWcucmVsZWFzZSgpOworICAgIH0KIAotICAgIGlmICh0ZXh0
RGlyZWN0aW9uID09IEdUS19URVhUX0RJUl9SVEwpCi0gICAgICAgIGdfc3RyaW5nX2FwcGVuZChu
YW1lV2l0aERpcmVjdGlvbiwgIi1ydGwiKTsKLSAgICBlbHNlIGlmICh0ZXh0RGlyZWN0aW9uID09
IEdUS19URVhUX0RJUl9MVFIpCi0gICAgICAgIGdfc3RyaW5nX2FwcGVuZChuYW1lV2l0aERpcmVj
dGlvbiwgIi1sdHIiKTsKKyAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBjYWlyb19pbWFn
ZV9zdXJmYWNlX2NyZWF0ZShnZGtfcGl4YnVmX2dldF9oYXNfYWxwaGEoaWNvbikgPworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBSVJP
X0ZPUk1BVF9BUkdCMzIgOiBDQUlST19GT1JNQVRfUkdCMjQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RrX3BpeGJ1Zl9nZXRfd2lk
dGgoaWNvbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2RrX3BpeGJ1Zl9nZXRfaGVpZ2h0KGljb24pKTsKKyAgICBjYWlyb190KiBj
b250ZXh0ID0gY2Fpcm9fY3JlYXRlKHN1cmZhY2UpOworICAgIGdka19jYWlyb19zZXRfc291cmNl
X3BpeGJ1Zihjb250ZXh0LCBpY29uLCAwLCAwKTsKKyAgICBjYWlyb19wYWludChjb250ZXh0KTsK
KyAgICBjYWlyb19kZXN0cm95KGNvbnRleHQpOworICAgIGdfb2JqZWN0X3VucmVmKGljb24pOwog
Ci0gICAgcmV0dXJuIGdfc3RyaW5nX2ZyZWUobmFtZVdpdGhEaXJlY3Rpb24sIEZBTFNFKTsKKyAg
ICBSZWZQdHI8Qml0bWFwSW1hZ2U+IGltZyA9IEJpdG1hcEltYWdlOjpjcmVhdGUoc3VyZmFjZSk7
CisgICAgcmV0dXJuIGltZy5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgUmVuZGVyVGhlbWVHdGs6Omlu
aXRNZWRpYVN0eWxpbmcoR3RrU3R5bGUqIHN0eWxlLCBib29sIGZvcmNlKQordm9pZCBSZW5kZXJU
aGVtZUd0azo6aW5pdE1lZGlhU3R5bGluZyhib29sIGZvcmNlKQogewogICAgIHN0YXRpYyBib29s
IHN0eWxpbmdJbml0aWFsaXplZCA9IGZhbHNlOwogCiAgICAgaWYgKCFzdHlsaW5nSW5pdGlhbGl6
ZWQgfHwgZm9yY2UpIHsKKyAgICAgICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBHVEtfV0lER0VUKGd0
a0NvbnRhaW5lcigpKTsKKyAgICAgICAgR3RrU3R5bGUqIHN0eWxlID0gZ3RrX3dpZGdldF9nZXRf
c3R5bGUod2lkZ2V0KTsKKwogICAgICAgICBtX3BhbmVsQ29sb3IgPSBzdHlsZS0+YmdbR1RLX1NU
QVRFX05PUk1BTF07CiAgICAgICAgIG1fc2xpZGVyQ29sb3IgPSBzdHlsZS0+YmdbR1RLX1NUQVRF
X0FDVElWRV07CiAgICAgICAgIG1fc2xpZGVyVGh1bWJDb2xvciA9IHN0eWxlLT5iZ1tHVEtfU1RB
VEVfU0VMRUNURURdOwogCi0gICAgICAgIC8vIE5hbWVzIG9mIHRoZXNlIGljb25zIGNhbiB2YXJ5
IGJlY2F1c2Ugb2YgdGV4dCBkaXJlY3Rpb24uCi0gICAgICAgIGdjaGFyKiBwbGF5QnV0dG9uSWNv
bk5hbWUgPSBnZXRJY29uTmFtZUZvclRleHREaXJlY3Rpb24oImd0ay1tZWRpYS1wbGF5Iik7Ci0g
ICAgICAgIGdjaGFyKiBzZWVrQmFja0J1dHRvbkljb25OYW1lID0gZ2V0SWNvbk5hbWVGb3JUZXh0
RGlyZWN0aW9uKCJndGstbWVkaWEtcmV3aW5kIik7Ci0gICAgICAgIGdjaGFyKiBzZWVrRm9yd2Fy
ZEJ1dHRvbkljb25OYW1lID0gZ2V0SWNvbk5hbWVGb3JUZXh0RGlyZWN0aW9uKCJndGstbWVkaWEt
Zm9yd2FyZCIpOwotCiAgICAgICAgIG1fZnVsbHNjcmVlbkJ1dHRvbi5jbGVhcigpOwogICAgICAg
ICBtX211dGVCdXR0b24uY2xlYXIoKTsKICAgICAgICAgbV91bm11dGVCdXR0b24uY2xlYXIoKTsK
QEAgLTEwMSwyMCArMTExLDIyIEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmluaXRNZWRpYVN0eWxp
bmcoR3RrU3R5bGUqIHN0eWxlLCBib29sIGZvcmNlKQogICAgICAgICBtX3NlZWtCYWNrQnV0dG9u
LmNsZWFyKCk7CiAgICAgICAgIG1fc2Vla0ZvcndhcmRCdXR0b24uY2xlYXIoKTsKIAotICAgICAg
ICBtX2Z1bGxzY3JlZW5CdXR0b24gPSBJbWFnZTo6bG9hZFBsYXRmb3JtVGhlbWVJY29uKCJndGst
ZnVsbHNjcmVlbiIsIG1fbWVkaWFJY29uU2l6ZSk7CisgICAgICAgIEd0a0ljb25TaXplIGljb25T
aXplID0gZ3RrX2ljb25fc2l6ZV9mcm9tX25hbWUoV0VCS0lUX01FRElBX0JVVFRPTl9TSVpFKTsK
KyAgICAgICAgaWYgKCFpY29uU2l6ZSkKKyAgICAgICAgICAgIGljb25TaXplID0gZ3RrX2ljb25f
c2l6ZV9yZWdpc3RlcihXRUJLSVRfTUVESUFfQlVUVE9OX1NJWkUsIG1fbWVkaWFJY29uU2l6ZSwg
bV9tZWRpYUljb25TaXplKTsKKwogICAgICAgICAvLyBOb3RlIHRoYXQgdGhlIG11dGVCdXR0b24g
YW5kIHVubXV0ZUJ1dHRvbiB0YWtlIGljb25zIHJlZmxlY3RpbmcKICAgICAgICAgLy8gdGhlICpj
dXJyZW50KiBzdGF0ZS4gSGVuY2UsIHRoZSB1bm11dGVCdXR0b24gcmVwcmVzZW50cyB0aGUgKm11
dGVkKgogICAgICAgICAvLyBzdGF0dXMsIHRoZSBtdXRlQnV0dG9uIHJlcHJlc2VudHMgdGhlIHRo
ZW4gY3VycmVudCAqdW5tdXRlZCogc3RhdHVzLgogICAgICAgICBtX211dGVCdXR0b24gPSBJbWFn
ZTo6bG9hZFBsYXRmb3JtVGhlbWVJY29uKCJhdWRpby12b2x1bWUtaGlnaCIsIG1fbWVkaWFJY29u
U2l6ZSk7CiAgICAgICAgIG1fdW5tdXRlQnV0dG9uID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVRoZW1l
SWNvbigiYXVkaW8tdm9sdW1lLW11dGVkIiwgbV9tZWRpYUljb25TaXplKTsKLSAgICAgICAgbV9w
bGF5QnV0dG9uID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVRoZW1lSWNvbihyZWludGVycHJldF9jYXN0
PGNvbnN0IGNoYXIqPihwbGF5QnV0dG9uSWNvbk5hbWUpLCBtX21lZGlhSWNvblNpemUpOwotICAg
ICAgICBtX3BhdXNlQnV0dG9uID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVRoZW1lSWNvbigiZ3RrLW1l
ZGlhLXBhdXNlIiwgbV9tZWRpYUljb25TaXplKTsKLSAgICAgICAgbV9zZWVrQmFja0J1dHRvbiA9
IEltYWdlOjpsb2FkUGxhdGZvcm1UaGVtZUljb24ocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFy
Kj4oc2Vla0JhY2tCdXR0b25JY29uTmFtZSksIG1fbWVkaWFJY29uU2l6ZSk7Ci0gICAgICAgIG1f
c2Vla0ZvcndhcmRCdXR0b24gPSBJbWFnZTo6bG9hZFBsYXRmb3JtVGhlbWVJY29uKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHNlZWtGb3J3YXJkQnV0dG9uSWNvbk5hbWUpLCBtX21lZGlh
SWNvblNpemUpOwotCi0gICAgICAgIGdfZnJlZShwbGF5QnV0dG9uSWNvbk5hbWUpOwotICAgICAg
ICBnX2ZyZWUoc2Vla0JhY2tCdXR0b25JY29uTmFtZSk7Ci0gICAgICAgIGdfZnJlZShzZWVrRm9y
d2FyZEJ1dHRvbkljb25OYW1lKTsKKworICAgICAgICBtX3BsYXlCdXR0b24gPSBsb2FkU3RvY2tJ
Y29uKHdpZGdldCwgR1RLX1NUT0NLX01FRElBX1BMQVksIGljb25TaXplKTsKKyAgICAgICAgbV9w
YXVzZUJ1dHRvbiA9IGxvYWRTdG9ja0ljb24od2lkZ2V0LCBHVEtfU1RPQ0tfTUVESUFfUEFVU0Us
IGljb25TaXplKTsKKyAgICAgICAgbV9mdWxsc2NyZWVuQnV0dG9uID0gbG9hZFN0b2NrSWNvbih3
aWRnZXQsIEdUS19TVE9DS19GVUxMU0NSRUVOLCBpY29uU2l6ZSk7CisgICAgICAgIG1fc2Vla0Jh
Y2tCdXR0b24gPSBsb2FkU3RvY2tJY29uKHdpZGdldCwgR1RLX1NUT0NLX01FRElBX1JFV0lORCwg
aWNvblNpemUpOworICAgICAgICBtX3NlZWtGb3J3YXJkQnV0dG9uID0gbG9hZFN0b2NrSWNvbih3
aWRnZXQsIEdUS19TVE9DS19NRURJQV9GT1JXQVJELCBpY29uU2l6ZSk7CisKICAgICAgICAgc3R5
bGluZ0luaXRpYWxpemVkID0gdHJ1ZTsKICAgICB9CiB9CkBAIC0xNzYsNyArMTg4LDcgQEAgUmVu
ZGVyVGhlbWVHdGs6OlJlbmRlclRoZW1lR3RrKCkKICAgICArK21vekd0a1JlZkNvdW50OwogCiAj
aWYgRU5BQkxFKFZJREVPKQotICAgIGluaXRNZWRpYVN0eWxpbmcoZ3RrX3JjX2dldF9zdHlsZShH
VEtfV0lER0VUKGd0a0NvbnRhaW5lcigpKSksIGZhbHNlKTsKKyAgICBpbml0TWVkaWFTdHlsaW5n
KGZhbHNlKTsKICNlbmRpZgogfQogCkBAIC03NjEsNyArNzczLDcgQEAgR3RrV2lkZ2V0KiBSZW5k
ZXJUaGVtZUd0azo6Z3RrU2Nyb2xsYmFyKCkKIHZvaWQgUmVuZGVyVGhlbWVHdGs6OnBsYXRmb3Jt
Q29sb3JzRGlkQ2hhbmdlKCkKIHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgaW5pdE1lZGlhU3R5
bGluZyhndGtfcmNfZ2V0X3N0eWxlKEdUS19XSURHRVQoZ3RrQ29udGFpbmVyKCkpKSwgdHJ1ZSk7
CisgICAgaW5pdE1lZGlhU3R5bGluZyh0cnVlKTsKICNlbmRpZgogICAgIFJlbmRlclRoZW1lOjpw
bGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvUmVuZGVyVGhlbWVHdGsuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1l
R3RrLmgKaW5kZXggYWMwOGNmMS4uZDRhOWRhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJU
aGVtZUd0ay5oCkBAIC0xMzcsNyArMTM3LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RTbGlkZXJUaHVtYlNpemUoUmVuZGVyT2JqZWN0KiBvYmplY3QpIGNvbnN0OwogCiAj
aWYgRU5BQkxFKFZJREVPKQotICAgIHZpcnR1YWwgdm9pZCBpbml0TWVkaWFTdHlsaW5nKEd0a1N0
eWxlKiBzdHlsZSwgYm9vbCBmb3JjZSk7CisgICAgdmlydHVhbCB2b2lkIGluaXRNZWRpYVN0eWxp
bmcoYm9vbCBmb3JjZSk7CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0
dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAg
ICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3Qg
UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlh
TXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jik7Cg==
</data>
<flag name="review"
          id="65867"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75368</attachid>
            <date>2010-12-02 04:41:17 -0800</date>
            <delta_ts>2010-12-02 05:03:59 -0800</delta_ts>
            <desc>New patch</desc>
            <filename>media-buttons-render.diff</filename>
            <type>text/plain</type>
            <size>10129</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OWJkZGRlNS4uZDE0OWZhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0xMi0wMiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gVXNlIGd0a193aWRnZXRfcmVuZGVyX2ljb24o
KSB0byByZW5kZXIgbWVkaWEgYnV0dG9ucyB1c2luZyBndGsgc3RvY2sgaWNvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMjI1CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9h
ZFN0b2NrSWNvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6aW5pdE1lZGlh
Q29sb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjppbml0TWVkaWFTdHls
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjpSZW5kZXJUaGVtZUd0ayk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6cGFpbnRTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OmFkanVzdFNlYXJj
aEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpjZW50ZXJS
ZWN0VmVydGljYWxseUluUGFyZW50SW5wdXRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lR3RrOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9u
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6Omd0a1Njcm9sbGJhcik6
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmg6CisKIDIwMTAtMTItMDEg
IEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6
IEFkZGVkIGEgZm9yd2FyZGluZyBoZWFkZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVt
ZUd0ay5jcHAKaW5kZXggZmU2YzllOS4uNzBmY2YyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Jl
bmRlclRoZW1lR3RrLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1l
R3RrLmgiCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJCaXRtYXBJ
bWFnZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJHT3duUHRy
LmgiCiAjaW5jbHVkZSAiR3JhZGllbnQuaCIKQEAgLTY2LDMyICs2Nyw0MCBAQCBzdGF0aWMgSFRN
TE1lZGlhRWxlbWVudCogZ2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9iamVjdChSZW5kZXJPYmpl
Y3QqIG8pCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtZWRpYU5v
ZGUpOwogfQogCi1zdGF0aWMgZ2NoYXIqIGdldEljb25OYW1lRm9yVGV4dERpcmVjdGlvbihjb25z
dCBjaGFyKiBiYXNlTmFtZSkKK3N0YXRpYyBQYXNzUmVmUHRyPEltYWdlPiBsb2FkU3RvY2tJY29u
KEd0a1dpZGdldCogd2lkZ2V0LCBjb25zdCBnY2hhciAqaWNvbk5hbWUsIEd0a0ljb25TaXplIGlj
b25TaXplKQogewotICAgIEdTdHJpbmcqIG5hbWVXaXRoRGlyZWN0aW9uID0gZ19zdHJpbmdfbmV3
KGJhc2VOYW1lKTsKLSAgICBHdGtUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24gPSBndGtfd2lk
Z2V0X2dldF9kZWZhdWx0X2RpcmVjdGlvbigpOworICAgIEdka1BpeGJ1ZiogaWNvbiA9IGd0a193
aWRnZXRfcmVuZGVyX2ljb24od2lkZ2V0LCBpY29uTmFtZSwgaWNvblNpemUsICJidXR0b24iKTsK
KyAgICBpZiAoIWljb24pCisgICAgICAgIHJldHVybiBCaXRtYXBJbWFnZTo6Y3JlYXRlKCk7CiAK
LSAgICBpZiAodGV4dERpcmVjdGlvbiA9PSBHVEtfVEVYVF9ESVJfUlRMKQotICAgICAgICBnX3N0
cmluZ19hcHBlbmQobmFtZVdpdGhEaXJlY3Rpb24sICItcnRsIik7Ci0gICAgZWxzZSBpZiAodGV4
dERpcmVjdGlvbiA9PSBHVEtfVEVYVF9ESVJfTFRSKQotICAgICAgICBnX3N0cmluZ19hcHBlbmQo
bmFtZVdpdGhEaXJlY3Rpb24sICItbHRyIik7CisgICAgY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNl
ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGUoZ2RrX3BpeGJ1Zl9nZXRfaGFzX2FscGhhKGlj
b24pID8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBDQUlST19GT1JNQVRfQVJHQjMyIDogQ0FJUk9fRk9STUFUX1JHQjI0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdka19w
aXhidWZfZ2V0X3dpZHRoKGljb24pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdka19waXhidWZfZ2V0X2hlaWdodChpY29uKSk7Cisg
ICAgY2Fpcm9fdCogY29udGV4dCA9IGNhaXJvX2NyZWF0ZShzdXJmYWNlKTsKKyAgICBnZGtfY2Fp
cm9fc2V0X3NvdXJjZV9waXhidWYoY29udGV4dCwgaWNvbiwgMCwgMCk7CisgICAgY2Fpcm9fcGFp
bnQoY29udGV4dCk7CisgICAgY2Fpcm9fZGVzdHJveShjb250ZXh0KTsKKyAgICBnX29iamVjdF91
bnJlZihpY29uKTsKIAotICAgIHJldHVybiBnX3N0cmluZ19mcmVlKG5hbWVXaXRoRGlyZWN0aW9u
LCBGQUxTRSk7CisgICAgUmVmUHRyPEJpdG1hcEltYWdlPiBpbWcgPSBCaXRtYXBJbWFnZTo6Y3Jl
YXRlKHN1cmZhY2UpOworICAgIHJldHVybiBpbWcucmVsZWFzZSgpOwogfQogCi12b2lkIFJlbmRl
clRoZW1lR3RrOjppbml0TWVkaWFTdHlsaW5nKEd0a1N0eWxlKiBzdHlsZSwgYm9vbCBmb3JjZSkK
K3ZvaWQgUmVuZGVyVGhlbWVHdGs6OmluaXRNZWRpYUNvbG9ycyhHdGtTdHlsZSogc3R5bGUpCit7
CisgICAgbV9wYW5lbENvbG9yID0gc3R5bGUtPmJnW0dUS19TVEFURV9OT1JNQUxdOworICAgIG1f
c2xpZGVyQ29sb3IgPSBzdHlsZS0+YmdbR1RLX1NUQVRFX0FDVElWRV07CisgICAgbV9zbGlkZXJU
aHVtYkNvbG9yID0gc3R5bGUtPmJnW0dUS19TVEFURV9TRUxFQ1RFRF07Cit9CisKK3ZvaWQgUmVu
ZGVyVGhlbWVHdGs6OmluaXRNZWRpYVN0eWxpbmcoYm9vbCBmb3JjZSkKIHsKICAgICBzdGF0aWMg
Ym9vbCBzdHlsaW5nSW5pdGlhbGl6ZWQgPSBmYWxzZTsKIAogICAgIGlmICghc3R5bGluZ0luaXRp
YWxpemVkIHx8IGZvcmNlKSB7Ci0gICAgICAgIG1fcGFuZWxDb2xvciA9IHN0eWxlLT5iZ1tHVEtf
U1RBVEVfTk9STUFMXTsKLSAgICAgICAgbV9zbGlkZXJDb2xvciA9IHN0eWxlLT5iZ1tHVEtfU1RB
VEVfQUNUSVZFXTsKLSAgICAgICAgbV9zbGlkZXJUaHVtYkNvbG9yID0gc3R5bGUtPmJnW0dUS19T
VEFURV9TRUxFQ1RFRF07Ci0KLSAgICAgICAgLy8gTmFtZXMgb2YgdGhlc2UgaWNvbnMgY2FuIHZh
cnkgYmVjYXVzZSBvZiB0ZXh0IGRpcmVjdGlvbi4KLSAgICAgICAgZ2NoYXIqIHBsYXlCdXR0b25J
Y29uTmFtZSA9IGdldEljb25OYW1lRm9yVGV4dERpcmVjdGlvbigiZ3RrLW1lZGlhLXBsYXkiKTsK
LSAgICAgICAgZ2NoYXIqIHNlZWtCYWNrQnV0dG9uSWNvbk5hbWUgPSBnZXRJY29uTmFtZUZvclRl
eHREaXJlY3Rpb24oImd0ay1tZWRpYS1yZXdpbmQiKTsKLSAgICAgICAgZ2NoYXIqIHNlZWtGb3J3
YXJkQnV0dG9uSWNvbk5hbWUgPSBnZXRJY29uTmFtZUZvclRleHREaXJlY3Rpb24oImd0ay1tZWRp
YS1mb3J3YXJkIik7CisgICAgICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gR1RLX1dJREdFVChndGtD
b250YWluZXIoKSk7CisgICAgICAgIGluaXRNZWRpYUNvbG9ycyhndGtfd2lkZ2V0X2dldF9zdHls
ZSh3aWRnZXQpKTsKIAogICAgICAgICBtX2Z1bGxzY3JlZW5CdXR0b24uY2xlYXIoKTsKICAgICAg
ICAgbV9tdXRlQnV0dG9uLmNsZWFyKCk7CkBAIC0xMDEsMjAgKzExMCwyMiBAQCB2b2lkIFJlbmRl
clRoZW1lR3RrOjppbml0TWVkaWFTdHlsaW5nKEd0a1N0eWxlKiBzdHlsZSwgYm9vbCBmb3JjZSkK
ICAgICAgICAgbV9zZWVrQmFja0J1dHRvbi5jbGVhcigpOwogICAgICAgICBtX3NlZWtGb3J3YXJk
QnV0dG9uLmNsZWFyKCk7CiAKLSAgICAgICAgbV9mdWxsc2NyZWVuQnV0dG9uID0gSW1hZ2U6Omxv
YWRQbGF0Zm9ybVRoZW1lSWNvbigiZ3RrLWZ1bGxzY3JlZW4iLCBtX21lZGlhSWNvblNpemUpOwor
ICAgICAgICBHdGtJY29uU2l6ZSBpY29uU2l6ZSA9IGd0a19pY29uX3NpemVfZnJvbV9uYW1lKCJ3
ZWJraXQtbWVkaWEtYnV0dG9uLXNpemUiKTsKKyAgICAgICAgaWYgKCFpY29uU2l6ZSkKKyAgICAg
ICAgICAgIGljb25TaXplID0gZ3RrX2ljb25fc2l6ZV9yZWdpc3Rlcigid2Via2l0LW1lZGlhLWJ1
dHRvbi1zaXplIiwgbV9tZWRpYUljb25TaXplLCBtX21lZGlhSWNvblNpemUpOworCiAgICAgICAg
IC8vIE5vdGUgdGhhdCB0aGUgbXV0ZUJ1dHRvbiBhbmQgdW5tdXRlQnV0dG9uIHRha2UgaWNvbnMg
cmVmbGVjdGluZwogICAgICAgICAvLyB0aGUgKmN1cnJlbnQqIHN0YXRlLiBIZW5jZSwgdGhlIHVu
bXV0ZUJ1dHRvbiByZXByZXNlbnRzIHRoZSAqbXV0ZWQqCiAgICAgICAgIC8vIHN0YXR1cywgdGhl
IG11dGVCdXR0b24gcmVwcmVzZW50cyB0aGUgdGhlbiBjdXJyZW50ICp1bm11dGVkKiBzdGF0dXMu
CiAgICAgICAgIG1fbXV0ZUJ1dHRvbiA9IEltYWdlOjpsb2FkUGxhdGZvcm1UaGVtZUljb24oImF1
ZGlvLXZvbHVtZS1oaWdoIiwgbV9tZWRpYUljb25TaXplKTsKICAgICAgICAgbV91bm11dGVCdXR0
b24gPSBJbWFnZTo6bG9hZFBsYXRmb3JtVGhlbWVJY29uKCJhdWRpby12b2x1bWUtbXV0ZWQiLCBt
X21lZGlhSWNvblNpemUpOwotICAgICAgICBtX3BsYXlCdXR0b24gPSBJbWFnZTo6bG9hZFBsYXRm
b3JtVGhlbWVJY29uKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBsYXlCdXR0b25JY29u
TmFtZSksIG1fbWVkaWFJY29uU2l6ZSk7Ci0gICAgICAgIG1fcGF1c2VCdXR0b24gPSBJbWFnZTo6
bG9hZFBsYXRmb3JtVGhlbWVJY29uKCJndGstbWVkaWEtcGF1c2UiLCBtX21lZGlhSWNvblNpemUp
OwotICAgICAgICBtX3NlZWtCYWNrQnV0dG9uID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVRoZW1lSWNv
bihyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihzZWVrQmFja0J1dHRvbkljb25OYW1lKSwg
bV9tZWRpYUljb25TaXplKTsKLSAgICAgICAgbV9zZWVrRm9yd2FyZEJ1dHRvbiA9IEltYWdlOjps
b2FkUGxhdGZvcm1UaGVtZUljb24ocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oc2Vla0Zv
cndhcmRCdXR0b25JY29uTmFtZSksIG1fbWVkaWFJY29uU2l6ZSk7Ci0KLSAgICAgICAgZ19mcmVl
KHBsYXlCdXR0b25JY29uTmFtZSk7Ci0gICAgICAgIGdfZnJlZShzZWVrQmFja0J1dHRvbkljb25O
YW1lKTsKLSAgICAgICAgZ19mcmVlKHNlZWtGb3J3YXJkQnV0dG9uSWNvbk5hbWUpOworCisgICAg
ICAgIG1fcGxheUJ1dHRvbiA9IGxvYWRTdG9ja0ljb24od2lkZ2V0LCBHVEtfU1RPQ0tfTUVESUFf
UExBWSwgaWNvblNpemUpOworICAgICAgICBtX3BhdXNlQnV0dG9uID0gbG9hZFN0b2NrSWNvbih3
aWRnZXQsIEdUS19TVE9DS19NRURJQV9QQVVTRSwgaWNvblNpemUpOworICAgICAgICBtX2Z1bGxz
Y3JlZW5CdXR0b24gPSBsb2FkU3RvY2tJY29uKHdpZGdldCwgR1RLX1NUT0NLX0ZVTExTQ1JFRU4s
IGljb25TaXplKTsKKyAgICAgICAgbV9zZWVrQmFja0J1dHRvbiA9IGxvYWRTdG9ja0ljb24od2lk
Z2V0LCBHVEtfU1RPQ0tfTUVESUFfUkVXSU5ELCBpY29uU2l6ZSk7CisgICAgICAgIG1fc2Vla0Zv
cndhcmRCdXR0b24gPSBsb2FkU3RvY2tJY29uKHdpZGdldCwgR1RLX1NUT0NLX01FRElBX0ZPUldB
UkQsIGljb25TaXplKTsKKwogICAgICAgICBzdHlsaW5nSW5pdGlhbGl6ZWQgPSB0cnVlOwogICAg
IH0KIH0KQEAgLTE3Niw3ICsxODcsNyBAQCBSZW5kZXJUaGVtZUd0azo6UmVuZGVyVGhlbWVHdGso
KQogICAgICsrbW96R3RrUmVmQ291bnQ7CiAKICNpZiBFTkFCTEUoVklERU8pCi0gICAgaW5pdE1l
ZGlhU3R5bGluZyhndGtfcmNfZ2V0X3N0eWxlKEdUS19XSURHRVQoZ3RrQ29udGFpbmVyKCkpKSwg
ZmFsc2UpOworICAgIGluaXRNZWRpYVN0eWxpbmcoZmFsc2UpOwogI2VuZGlmCiB9CiAKQEAgLTQ2
NywxMCArNDc4LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFkanVzdFNlYXJjaEZpZWxkUmVz
dWx0c0RlY29yYXRpb25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzCiAgICAgc3R5bGUtPnJlc2V0
Qm9yZGVyKCk7CiAgICAgc3R5bGUtPnJlc2V0UGFkZGluZygpOwogCi0gICAgLy8gRklYTUU6IFRo
aXMgc2hvdWxkIG5vdCBiZSBoYXJkLWNvZGVkLgotICAgIEludFNpemUgc2l6ZSA9IEludFNpemUo
MTQsIDE0KTsKLSAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKHNpemUud2lkdGgoKSwgRml4ZWQp
KTsKLSAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChzaXplLmhlaWdodCgpLCBGaXhlZCkpOwor
ICAgIGdpbnQgd2lkdGgsIGhlaWdodDsKKyAgICBndGtfaWNvbl9zaXplX2xvb2t1cChHVEtfSUNP
Tl9TSVpFX01FTlUsICZ3aWR0aCwgJmhlaWdodCk7CisgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0
aCh3aWR0aCwgRml4ZWQpKTsKKyAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChoZWlnaHQsIEZp
eGVkKSk7CiB9CiAKIHN0YXRpYyBJbnRSZWN0IGNlbnRlclJlY3RWZXJ0aWNhbGx5SW5QYXJlbnRJ
bnB1dEVsZW1lbnQoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IEludFJlY3QmIHJlY3QpCkBA
IC00OTAsNyArNTAxLDcgQEAgc3RhdGljIEludFJlY3QgY2VudGVyUmVjdFZlcnRpY2FsbHlJblBh
cmVudElucHV0RWxlbWVudChSZW5kZXJPYmplY3QqIG9iamVjdCwgY28KIAogYm9vbCBSZW5kZXJU
aGVtZUd0azo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVjdCog
b2JqZWN0LCBjb25zdCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAg
c3RhdGljIEltYWdlKiBzZWFyY2hJbWFnZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1UaGVtZUljb24o
R1RLX1NUT0NLX0ZJTkQsIHJlY3Qud2lkdGgoKSkucmVsZWFzZVJlZigpOworICAgIHN0YXRpYyBJ
bWFnZSogc2VhcmNoSW1hZ2UgPSBsb2FkU3RvY2tJY29uKEdUS19XSURHRVQoZ3RrRW50cnkoKSks
IEdUS19TVE9DS19GSU5ELCBHVEtfSUNPTl9TSVpFX01FTlUpLnJlbGVhc2VSZWYoKTsKICAgICBJ
bnRSZWN0IGNlbnRlcmVkUmVjdChjZW50ZXJSZWN0VmVydGljYWxseUluUGFyZW50SW5wdXRFbGVt
ZW50KG9iamVjdCwgcmVjdCkpOwogICAgIGkuY29udGV4dC0+ZHJhd0ltYWdlKHNlYXJjaEltYWdl
LCBDb2xvclNwYWNlRGV2aWNlUkdCLCBjZW50ZXJlZFJlY3QpOwogICAgIHJldHVybiBmYWxzZTsK
QEAgLTUwMSwxOCArNTEyLDE4IEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFkanVzdFNlYXJjaEZp
ZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0CiAgICAgc3R5bGUt
PnJlc2V0Qm9yZGVyKCk7CiAgICAgc3R5bGUtPnJlc2V0UGFkZGluZygpOwogCi0gICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIG5vdCBiZSBoYXJkLWNvZGVkLgotICAgIEludFNpemUgc2l6ZSA9IElu
dFNpemUoMTQsIDE0KTsKLSAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKHNpemUud2lkdGgoKSwg
Rml4ZWQpKTsKLSAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChzaXplLmhlaWdodCgpLCBGaXhl
ZCkpOworICAgIGdpbnQgd2lkdGgsIGhlaWdodDsKKyAgICBndGtfaWNvbl9zaXplX2xvb2t1cChH
VEtfSUNPTl9TSVpFX01FTlUsICZ3aWR0aCwgJmhlaWdodCk7CisgICAgc3R5bGUtPnNldFdpZHRo
KExlbmd0aCh3aWR0aCwgRml4ZWQpKTsKKyAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChoZWln
aHQsIEZpeGVkKSk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVHdGs6OnBhaW50U2VhcmNoRmllbGRD
YW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgaSwgY29u
c3QgSW50UmVjdCYgcmVjdCkKK2Jvb2wgUmVuZGVyVGhlbWVHdGs6OnBhaW50U2VhcmNoRmllbGRD
YW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIC8vIFRPRE86IEJyaWdodGVu
aW5nIHVwIHRoZSBpbWFnZSBvbiBob3ZlciBpcyBkZXNpcmFibGUgaGVyZSwgSSBiZWxpZXZlLgot
ICAgIHN0YXRpYyBJbWFnZSogY2FuY2VsSW1hZ2UgPSBJbWFnZTo6bG9hZFBsYXRmb3JtVGhlbWVJ
Y29uKEdUS19TVE9DS19DTEVBUiwgcmVjdC53aWR0aCgpKS5yZWxlYXNlUmVmKCk7Ci0gICAgSW50
UmVjdCBjZW50ZXJlZFJlY3QoY2VudGVyUmVjdFZlcnRpY2FsbHlJblBhcmVudElucHV0RWxlbWVu
dChvYmplY3QsIHJlY3QpKTsKLSAgICBpLmNvbnRleHQtPmRyYXdJbWFnZShjYW5jZWxJbWFnZSwg
Q29sb3JTcGFjZURldmljZVJHQiwgY2VudGVyZWRSZWN0KTsKKyAgICBzdGF0aWMgSW1hZ2UqIGNh
bmNlbEltYWdlID0gbG9hZFN0b2NrSWNvbihHVEtfV0lER0VUKGd0a0VudHJ5KCkpLCBHVEtfU1RP
Q0tfQ0xFQVIsIEdUS19JQ09OX1NJWkVfTUVOVSkucmVsZWFzZVJlZigpOworICAgIEludFJlY3Qg
Y2VudGVyZWRSZWN0KGNlbnRlclJlY3RWZXJ0aWNhbGx5SW5QYXJlbnRJbnB1dEVsZW1lbnQocmVu
ZGVyT2JqZWN0LCByZWN0KSk7CisgICAgcGFpbnRJbmZvLmNvbnRleHQtPmRyYXdJbWFnZShjYW5j
ZWxJbWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgY2VudGVyZWRSZWN0KTsKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKQEAgLTc2MSw3ICs3NzIsNyBAQCBHdGtXaWRnZXQqIFJlbmRlclRoZW1lR3Rr
OjpndGtTY3JvbGxiYXIoKQogdm9pZCBSZW5kZXJUaGVtZUd0azo6cGxhdGZvcm1Db2xvcnNEaWRD
aGFuZ2UoKQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBpbml0TWVkaWFTdHlsaW5nKGd0a19y
Y19nZXRfc3R5bGUoR1RLX1dJREdFVChndGtDb250YWluZXIoKSkpLCB0cnVlKTsKKyAgICBpbml0
TWVkaWFTdHlsaW5nKHRydWUpOwogI2VuZGlmCiAgICAgUmVuZGVyVGhlbWU6OnBsYXRmb3JtQ29s
b3JzRGlkQ2hhbmdlKCk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5k
ZXJUaGVtZUd0ay5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAppbmRl
eCBhYzA4Y2YxLi43ZmM3ZmMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5k
ZXJUaGVtZUd0ay5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgK
QEAgLTEzNyw3ICsxMzcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNs
aWRlclRodW1iU2l6ZShSZW5kZXJPYmplY3QqIG9iamVjdCkgY29uc3Q7CiAKICNpZiBFTkFCTEUo
VklERU8pCi0gICAgdmlydHVhbCB2b2lkIGluaXRNZWRpYVN0eWxpbmcoR3RrU3R5bGUqIHN0eWxl
LCBib29sIGZvcmNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdE1lZGlhQ29sb3JzKEd0a1N0eWxl
Kik7CisgICAgdmlydHVhbCB2b2lkIGluaXRNZWRpYVN0eWxpbmcoYm9vbCBmb3JjZSk7CiAgICAg
dmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCosIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRN
ZWRpYVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50
UmVjdCYpOwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJPYmpl
Y3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7Cg==
</data>
<flag name="review"
          id="66153"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>