<?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>51830</bug_id>
          
          <creation_ts>2011-01-03 10:29:00 -0800</creation_ts>
          <short_desc>[GTK] Use GtkStyleContext to get platform colors</short_desc>
          <delta_ts>2011-01-05 02:47:21 -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>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>
          <dependson>51764</dependson>
          <blocked>50820</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>328624</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-01-03 10:29:00 -0800</bug_when>
    <thetext>This depends on bug #51764 since the patch for stock icons contains the initial GtkStyleContext port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328625</commentid>
    <comment_count>1</comment_count>
      <attachid>77821</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-01-03 10:32:57 -0800</bug_when>
    <thetext>Created attachment 77821
Use GtkStyleContext API to get platform colors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328807</commentid>
    <comment_count>2</comment_count>
      <attachid>77821</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-03 15:21:39 -0800</bug_when>
    <thetext>Comment on attachment 77821
Use GtkStyleContext API to get platform colors

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

Looks great. I have one suggested improvement below.

&gt; WebCore/platform/gtk/RenderThemeGtk3.cpp:716
&gt; +static Color getStyleColor(GType widgetType, bool background, GtkStateFlags flags)

It think it&apos;s okay to use a bool here since this helper is so localized, but using an enum as an argument type is generally preferred.

&gt; WebCore/platform/gtk/RenderThemeGtk3.cpp:731
&gt; +    gdkColor.pixel = 0;
&gt; +    gdkColor.red = (guint16) (gdkRGBAColor.red * 65535);
&gt; +    gdkColor.green = (guint16) (gdkRGBAColor.green * 65535);
&gt; +    gdkColor.blue = (guint16) (gdkRGBAColor.blue * 65535);
&gt; +

I think it makes sense to create a WebCore color here directly instead of relying on a GdkColor intermediary. Perhaps this could just be:

return Color(gdkRGBAColor.red, gdkRGBAColor.green, gdkRGBAColor.blue, gdkRGBAColor.alpha);

I could even see adding a specialized constructor in Color.h and Color.cpp for GDK 3.x&apos;s GdkRGBA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328923</commentid>
    <comment_count>3</comment_count>
      <attachid>77870</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-01-04 01:54:41 -0800</bug_when>
    <thetext>Created attachment 77870
Updated patch

I&apos;ve added Color constructor for GdkRGBA which simplifies everything, thanks Martin :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329045</commentid>
    <comment_count>4</comment_count>
      <attachid>77870</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-04 10:28:52 -0800</bug_when>
    <thetext>Comment on attachment 77870
Updated patch

Very nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329496</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-01-05 02:45:25 -0800</bug_when>
    <thetext>Committed r75056: &lt;http://trac.webkit.org/changeset/75056&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77821</attachid>
            <date>2011-01-03 10:32:57 -0800</date>
            <delta_ts>2011-01-04 01:54:41 -0800</delta_ts>
            <desc>Use GtkStyleContext API to get platform colors</desc>
            <filename>style-context-colors.diff</filename>
            <type>text/plain</type>
            <size>4959</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWUxZWQ1OC4uYjhiYjIwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0wMS0wMyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gVXNlIEd0a1N0eWxlQ29udGV4dCB0byBnZXQg
cGxhdGZvcm0gY29sb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01MTgzMAorCisgICAgICAgIFVzZSBHdGtTdHlsZUNvbnRleHQgQVBJIHRvIGdldCBw
bGF0Zm9ybSBjb2xvcnMgd2hlbiBidWlsZGluZyB3aXRoCisgICAgICAgIEdUSysgMy54LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBzaG91bGQgbm90IGNoYW5nZSBmdW5jdGlvbmFsaXR5
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrMy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpnZXRTdHlsZUNvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
R3RrOjpwbGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6cGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91
bmRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6cGxhdGZvcm1BY3Rp
dmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVHdGs6OnBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3Jv
dW5kQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OmluYWN0aXZlTGlz
dEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZUd0azo6YWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6aW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdy
b3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjpzeXN0ZW1Db2xv
cik6CisKIDIwMTEtMDEtMDIgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSdWJiZXItc3RhbXBlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0azMuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
UmVuZGVyVGhlbWVHdGszLmNwcAppbmRleCAyOWU2NGRkLi4xOWRhMzVjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0azMuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrMy5jcHAKQEAgLTcxMyw2MSArNzEzLDcyIEBAIFBsYXRm
b3JtUmVmUHRyPEdka1BpeGJ1Zj4gUmVuZGVyVGhlbWVHdGs6OmdldFN0b2NrSWNvbihHVHlwZSB3
aWRnZXRUeXBlLCBjb25zdCBjCiAgICAgcmV0dXJuIGFkb3B0UGxhdGZvcm1SZWYoaWNvbik7CiB9
CiAKK3N0YXRpYyBDb2xvciBnZXRTdHlsZUNvbG9yKEdUeXBlIHdpZGdldFR5cGUsIGJvb2wgYmFj
a2dyb3VuZCwgR3RrU3RhdGVGbGFncyBmbGFncykKK3sKKyAgICBHdGtTdHlsZUNvbnRleHQqIGNv
bnRleHQgPSBnZXRTdHlsZUNvbnRleHQod2lkZ2V0VHlwZSk7CisgICAgR2RrUkdCQSBnZGtSR0JB
Q29sb3I7CisgICAgR2RrQ29sb3IgZ2RrQ29sb3I7CisKKyAgICBpZiAoYmFja2dyb3VuZCkKKyAg
ICAgICAgZ3RrX3N0eWxlX2NvbnRleHRfZ2V0X2JhY2tncm91bmRfY29sb3IoY29udGV4dCwgZmxh
Z3MsICZnZGtSR0JBQ29sb3IpOworICAgIGVsc2UKKyAgICAgICAgZ3RrX3N0eWxlX2NvbnRleHRf
Z2V0X2NvbG9yKGNvbnRleHQsIGZsYWdzLCAmZ2RrUkdCQUNvbG9yKTsKKworICAgIGdka0NvbG9y
LnBpeGVsID0gMDsKKyAgICBnZGtDb2xvci5yZWQgPSAoZ3VpbnQxNikgKGdka1JHQkFDb2xvci5y
ZWQgKiA2NTUzNSk7CisgICAgZ2RrQ29sb3IuZ3JlZW4gPSAoZ3VpbnQxNikgKGdka1JHQkFDb2xv
ci5ncmVlbiAqIDY1NTM1KTsKKyAgICBnZGtDb2xvci5ibHVlID0gKGd1aW50MTYpIChnZGtSR0JB
Q29sb3IuYmx1ZSAqIDY1NTM1KTsKKworICAgIHJldHVybiBnZGtDb2xvcjsKK30KKwogQ29sb3Ig
UmVuZGVyVGhlbWVHdGs6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkg
Y29uc3QKIHsKLSAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a0VudHJ5KCk7Ci0gICAgcmV0dXJu
IGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCktPmJhc2VbR1RLX1NUQVRFX1NFTEVDVEVEXTsK
KyAgICByZXR1cm4gZ2V0U3R5bGVDb2xvcihHVEtfVFlQRV9FTlRSWSwgdHJ1ZSwgR1RLX1NUQVRF
X0ZMQUdfU0VMRUNURUQpOwogfQogCiBDb2xvciBSZW5kZXJUaGVtZUd0azo6cGxhdGZvcm1JbmFj
dGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0CiB7Ci0gICAgR3RrV2lkZ2V0KiB3
aWRnZXQgPSBndGtFbnRyeSgpOwotICAgIHJldHVybiBndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRn
ZXQpLT5iYXNlW0dUS19TVEFURV9BQ1RJVkVdOworICAgIHJldHVybiBnZXRTdHlsZUNvbG9yKEdU
S19UWVBFX0VOVFJZLCB0cnVlLCBHVEtfU1RBVEVfRkxBR19BQ1RJVkUpOwogfQogCiBDb2xvciBS
ZW5kZXJUaGVtZUd0azo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBj
b25zdAogewotICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrRW50cnkoKTsKLSAgICByZXR1cm4g
Z3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KS0+dGV4dFtHVEtfU1RBVEVfU0VMRUNURURdOwor
ICAgIHJldHVybiBnZXRTdHlsZUNvbG9yKEdUS19UWVBFX0VOVFJZLCBmYWxzZSwgR1RLX1NUQVRF
X0ZMQUdfU0VMRUNURUQpOwogfQogCiBDb2xvciBSZW5kZXJUaGVtZUd0azo6cGxhdGZvcm1JbmFj
dGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNvbnN0CiB7Ci0gICAgR3RrV2lkZ2V0KiB3
aWRnZXQgPSBndGtFbnRyeSgpOwotICAgIHJldHVybiBndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRn
ZXQpLT50ZXh0W0dUS19TVEFURV9BQ1RJVkVdOworICAgIHJldHVybiBnZXRTdHlsZUNvbG9yKEdU
S19UWVBFX0VOVFJZLCBmYWxzZSwgR1RLX1NUQVRFX0ZMQUdfQUNUSVZFKTsKIH0KIAogQ29sb3Ig
UmVuZGVyVGhlbWVHdGs6OmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBj
b25zdAogewotICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrVHJlZVZpZXcoKTsKLSAgICByZXR1
cm4gZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KS0+YmFzZVtHVEtfU1RBVEVfU0VMRUNURURd
OworICAgIHJldHVybiBnZXRTdHlsZUNvbG9yKEdUS19UWVBFX1RSRUVfVklFVywgdHJ1ZSwgR1RL
X1NUQVRFX0ZMQUdfU0VMRUNURUQpOwogfQogCiBDb2xvciBSZW5kZXJUaGVtZUd0azo6aW5hY3Rp
dmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3QKIHsKLSAgICBHdGtXaWRn
ZXQqIHdpZGdldCA9IGd0a1RyZWVWaWV3KCk7Ci0gICAgcmV0dXJuIGd0a193aWRnZXRfZ2V0X3N0
eWxlKHdpZGdldCktPmJhc2VbR1RLX1NUQVRFX0FDVElWRV07CisgICAgcmV0dXJuIGdldFN0eWxl
Q29sb3IoR1RLX1RZUEVfVFJFRV9WSUVXLCB0cnVlLCBHVEtfU1RBVEVfRkxBR19BQ1RJVkUpOwog
fQogCiBDb2xvciBSZW5kZXJUaGVtZUd0azo6YWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91
bmRDb2xvcigpIGNvbnN0CiB7Ci0gICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtUcmVlVmlldygp
OwotICAgIHJldHVybiBndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLT50ZXh0W0dUS19TVEFU
RV9TRUxFQ1RFRF07CisgICAgcmV0dXJuIGdldFN0eWxlQ29sb3IoR1RLX1RZUEVfVFJFRV9WSUVX
LCBmYWxzZSwgR1RLX1NUQVRFX0ZMQUdfU0VMRUNURUQpOwogfQogCiBDb2xvciBSZW5kZXJUaGVt
ZUd0azo6aW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3QKIHsK
LSAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a1RyZWVWaWV3KCk7Ci0gICAgcmV0dXJuIGd0a193
aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCktPnRleHRbR1RLX1NUQVRFX0FDVElWRV07CisgICAgcmV0
dXJuIGdldFN0eWxlQ29sb3IoR1RLX1RZUEVfVFJFRV9WSUVXLCBmYWxzZSwgR1RLX1NUQVRFX0ZM
QUdfQUNUSVZFKTsKIH0KIAogQ29sb3IgUmVuZGVyVGhlbWVHdGs6OnN5c3RlbUNvbG9yKGludCBj
c3NWYWx1ZUlkKSBjb25zdAogewogICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkgewogICAgIGNhc2Ug
Q1NTVmFsdWVCdXR0b250ZXh0OgotICAgICAgICByZXR1cm4gQ29sb3IoZ3RrX3dpZGdldF9nZXRf
c3R5bGUoZ3RrQnV0dG9uKCkpLT5mZ1tHVEtfU1RBVEVfTk9STUFMXSk7CisgICAgICAgIHJldHVy
biBnZXRTdHlsZUNvbG9yKEdUS19UWVBFX0JVVFRPTiwgZmFsc2UsIHN0YXRpY19jYXN0PEd0a1N0
YXRlRmxhZ3M+KDApKTsKICAgICBjYXNlIENTU1ZhbHVlQ2FwdGlvbnRleHQ6Ci0gICAgICAgIHJl
dHVybiBDb2xvcihndGtfd2lkZ2V0X2dldF9zdHlsZShndGtFbnRyeSgpKS0+ZmdbR1RLX1NUQVRF
X05PUk1BTF0pOworICAgICAgICByZXR1cm4gZ2V0U3R5bGVDb2xvcihHVEtfVFlQRV9FTlRSWSwg
ZmFsc2UsIHN0YXRpY19jYXN0PEd0a1N0YXRlRmxhZ3M+KDApKTsKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gUmVuZGVyVGhlbWU6OnN5c3RlbUNvbG9yKGNzc1ZhbHVlSWQpOwogICAgIH0K
</data>
<flag name="review"
          id="69014"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77870</attachid>
            <date>2011-01-04 01:54:41 -0800</date>
            <delta_ts>2011-01-05 02:47:21 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>style-context-colors2.diff</filename>
            <type>text/plain</type>
            <size>7072</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWUxZWQ1OC4uZWRlMjFlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMS0wMS0wNCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gVXNlIEd0a1N0eWxlQ29udGV4dCB0byBnZXQg
cGxhdGZvcm0gY29sb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01MTgzMAorCisgICAgICAgIFVzZSBHdGtTdHlsZUNvbnRleHQgQVBJIHRvIGdldCBw
bGF0Zm9ybSBjb2xvcnMgd2hlbiBidWlsZGluZyB3aXRoCisgICAgICAgIEdUSysgMy54LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBzaG91bGQgbm90IGNoYW5nZSBmdW5jdGlvbmFsaXR5
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaDogQWRkIHNwZWNpYWxpemVk
IGNvbnN0cnVjdG9yIGZvciBHZGtSR0JBLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0
ay9Db2xvckd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6Q29sb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29sb3I6Om9wZXJhdG9yIEdka1JHQkEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9SZW5kZXJUaGVtZUd0azMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVH
dGs6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lR3RrOjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjpwbGF0Zm9ybUFjdGl2
ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZUd0azo6cGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6YWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91
bmRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUd0azo6aW5hY3RpdmVMaXN0
Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lR3RrOjphY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjppbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3Jv
dW5kQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OnN5c3RlbUNvbG9y
KToKKwogMjAxMS0wMS0wMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3IuaAppbmRleCAyZTRlOTYyLi5lZjBkMzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
CkBAIC00NCw2ICs0NCw5IEBAIFFUX0VORF9OQU1FU1BBQ0UKIAogI2lmIFBMQVRGT1JNKEdUSykK
IHR5cGVkZWYgc3RydWN0IF9HZGtDb2xvciBHZGtDb2xvcjsKKyNpZm5kZWYgR1RLX0FQSV9WRVJT
SU9OXzIKK3R5cGVkZWYgc3RydWN0IF9HZGtSR0JBIEdka1JHQkE7CisjZW5kaWYKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oV1gpCkBAIC0xMjUsNiArMTI4LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFU
Rk9STShHVEspCiAgICAgQ29sb3IoY29uc3QgR2RrQ29sb3ImKTsKICAgICAvLyBXZSBjYW4ndCBz
ZW5zaWJseSBnbyBiYWNrIHRvIEdka0NvbG9yIHdpdGhvdXQgbG9zaW5nIHRoZSBhbHBoYSB2YWx1
ZQorI2lmbmRlZiBHVEtfQVBJX1ZFUlNJT05fMgorICAgIENvbG9yKGNvbnN0IEdka1JHQkEmKTsK
KyAgICBvcGVyYXRvciBHZGtSR0JBKCkgY29uc3Q7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oV1gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9Db2xv
ckd0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9Db2xvckd0ay5jcHAKaW5k
ZXggMjdmMWIxNC4uOGY1NmJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ndGsvQ29sb3JHdGsuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Nv
bG9yR3RrLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxw
IFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5M
LgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMCw2ICszMSwyNSBAQCBDb2xvcjo6Q29sb3IoY29u
c3QgR2RrQ29sb3ImIGMpCiB7CiB9CiAKKyNpZm5kZWYgR1RLX0FQSV9WRVJTSU9OXzIKK0NvbG9y
OjpDb2xvcihjb25zdCBHZGtSR0JBJiBjKQorICAgIDogbV9jb2xvcihtYWtlUkdCQShzdGF0aWNf
Y2FzdDxpbnQ+KGMucmVkICogMjU1KSwKKyAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8aW50PihjLmdyZWVuICogMjU1KSwKKyAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8aW50PihjLmJsdWUgKiAyNTUpLAorICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2Fz
dDxpbnQ+KGMuYWxwaGEgKiAyNTUpKSkKKyAgICAsIG1fdmFsaWQodHJ1ZSkKK3sKK30KKworQ29s
b3I6Om9wZXJhdG9yIEdka1JHQkEoKSBjb25zdAoreworICAgIGRvdWJsZSByZWQsIGdyZWVuLCBi
bHVlLCBhbHBoYTsKKyAgICBnZXRSR0JBKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKKyAgICBH
ZGtSR0JBIHJnYmEgPSB7IHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIH07CisgICAgcmV0dXJuIHJn
YmE7Cit9CisjZW5kaWYKKwogfQogCiAvLyB2aW06IHRzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGszLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1JlbmRlclRoZW1lR3RrMy5jcHAKaW5kZXggMjllNjRkZC4uNGI0MzAyOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGszLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0azMuY3BwCkBAIC03MTUsNTkgKzcxNSw3MSBA
QCBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhidWY+IFJlbmRlclRoZW1lR3RrOjpnZXRTdG9ja0ljb24o
R1R5cGUgd2lkZ2V0VHlwZSwgY29uc3QgYwogCiBDb2xvciBSZW5kZXJUaGVtZUd0azo6cGxhdGZv
cm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdAogewotICAgIEd0a1dpZGdl
dCogd2lkZ2V0ID0gZ3RrRW50cnkoKTsKLSAgICByZXR1cm4gZ3RrX3dpZGdldF9nZXRfc3R5bGUo
d2lkZ2V0KS0+YmFzZVtHVEtfU1RBVEVfU0VMRUNURURdOworICAgIEdka1JHQkEgZ2RrUkdCQUNv
bG9yOworICAgIGd0a19zdHlsZV9jb250ZXh0X2dldF9iYWNrZ3JvdW5kX2NvbG9yKGdldFN0eWxl
Q29udGV4dChHVEtfVFlQRV9FTlRSWSksIEdUS19TVEFURV9GTEFHX1NFTEVDVEVELCAmZ2RrUkdC
QUNvbG9yKTsKKyAgICByZXR1cm4gZ2RrUkdCQUNvbG9yOwogfQogCiBDb2xvciBSZW5kZXJUaGVt
ZUd0azo6cGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0CiB7
Ci0gICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtFbnRyeSgpOwotICAgIHJldHVybiBndGtfd2lk
Z2V0X2dldF9zdHlsZSh3aWRnZXQpLT5iYXNlW0dUS19TVEFURV9BQ1RJVkVdOworICAgIEdka1JH
QkEgZ2RrUkdCQUNvbG9yOworICAgIGd0a19zdHlsZV9jb250ZXh0X2dldF9iYWNrZ3JvdW5kX2Nv
bG9yKGdldFN0eWxlQ29udGV4dChHVEtfVFlQRV9FTlRSWSksIEdUS19TVEFURV9GTEFHX0FDVElW
RSwgJmdka1JHQkFDb2xvcik7CisgICAgcmV0dXJuIGdka1JHQkFDb2xvcjsKIH0KIAogQ29sb3Ig
UmVuZGVyVGhlbWVHdGs6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkg
Y29uc3QKIHsKLSAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a0VudHJ5KCk7Ci0gICAgcmV0dXJu
IGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCktPnRleHRbR1RLX1NUQVRFX1NFTEVDVEVEXTsK
KyAgICBHZGtSR0JBIGdka1JHQkFDb2xvcjsKKyAgICBndGtfc3R5bGVfY29udGV4dF9nZXRfY29s
b3IoZ2V0U3R5bGVDb250ZXh0KEdUS19UWVBFX0VOVFJZKSwgR1RLX1NUQVRFX0ZMQUdfU0VMRUNU
RUQsICZnZGtSR0JBQ29sb3IpOworICAgIHJldHVybiBnZGtSR0JBQ29sb3I7CiB9CiAKIENvbG9y
IFJlbmRlclRoZW1lR3RrOjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9y
KCkgY29uc3QKIHsKLSAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a0VudHJ5KCk7Ci0gICAgcmV0
dXJuIGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCktPnRleHRbR1RLX1NUQVRFX0FDVElWRV07
CisgICAgR2RrUkdCQSBnZGtSR0JBQ29sb3I7CisgICAgZ3RrX3N0eWxlX2NvbnRleHRfZ2V0X2Nv
bG9yKGdldFN0eWxlQ29udGV4dChHVEtfVFlQRV9FTlRSWSksIEdUS19TVEFURV9GTEFHX0FDVElW
RSwgJmdka1JHQkFDb2xvcik7CisgICAgcmV0dXJuIGdka1JHQkFDb2xvcjsKIH0KIAogQ29sb3Ig
UmVuZGVyVGhlbWVHdGs6OmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBj
b25zdAogewotICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrVHJlZVZpZXcoKTsKLSAgICByZXR1
cm4gZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KS0+YmFzZVtHVEtfU1RBVEVfU0VMRUNURURd
OworICAgIEdka1JHQkEgZ2RrUkdCQUNvbG9yOworICAgIGd0a19zdHlsZV9jb250ZXh0X2dldF9i
YWNrZ3JvdW5kX2NvbG9yKGdldFN0eWxlQ29udGV4dChHVEtfVFlQRV9UUkVFX1ZJRVcpLCBHVEtf
U1RBVEVfRkxBR19TRUxFQ1RFRCwgJmdka1JHQkFDb2xvcik7CisgICAgcmV0dXJuIGdka1JHQkFD
b2xvcjsKIH0KIAogQ29sb3IgUmVuZGVyVGhlbWVHdGs6OmluYWN0aXZlTGlzdEJveFNlbGVjdGlv
bkJhY2tncm91bmRDb2xvcigpIGNvbnN0CiB7Ci0gICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtU
cmVlVmlldygpOwotICAgIHJldHVybiBndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLT5iYXNl
W0dUS19TVEFURV9BQ1RJVkVdOworICAgIEdka1JHQkEgZ2RrUkdCQUNvbG9yOworICAgIGd0a19z
dHlsZV9jb250ZXh0X2dldF9iYWNrZ3JvdW5kX2NvbG9yKGdldFN0eWxlQ29udGV4dChHVEtfVFlQ
RV9UUkVFX1ZJRVcpLCBHVEtfU1RBVEVfRkxBR19BQ1RJVkUsICZnZGtSR0JBQ29sb3IpOworICAg
IHJldHVybiBnZGtSR0JBQ29sb3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1lR3RrOjphY3RpdmVM
aXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3QKIHsKLSAgICBHdGtXaWRnZXQq
IHdpZGdldCA9IGd0a1RyZWVWaWV3KCk7Ci0gICAgcmV0dXJuIGd0a193aWRnZXRfZ2V0X3N0eWxl
KHdpZGdldCktPnRleHRbR1RLX1NUQVRFX1NFTEVDVEVEXTsKKyAgICBHZGtSR0JBIGdka1JHQkFD
b2xvcjsKKyAgICBndGtfc3R5bGVfY29udGV4dF9nZXRfY29sb3IoZ2V0U3R5bGVDb250ZXh0KEdU
S19UWVBFX1RSRUVfVklFVyksIEdUS19TVEFURV9GTEFHX1NFTEVDVEVELCAmZ2RrUkdCQUNvbG9y
KTsKKyAgICByZXR1cm4gZ2RrUkdCQUNvbG9yOwogfQogCiBDb2xvciBSZW5kZXJUaGVtZUd0azo6
aW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3QKIHsKLSAgICBH
dGtXaWRnZXQqIHdpZGdldCA9IGd0a1RyZWVWaWV3KCk7Ci0gICAgcmV0dXJuIGd0a193aWRnZXRf
Z2V0X3N0eWxlKHdpZGdldCktPnRleHRbR1RLX1NUQVRFX0FDVElWRV07CisgICAgR2RrUkdCQSBn
ZGtSR0JBQ29sb3I7CisgICAgZ3RrX3N0eWxlX2NvbnRleHRfZ2V0X2NvbG9yKGdldFN0eWxlQ29u
dGV4dChHVEtfVFlQRV9UUkVFX1ZJRVcpLCBHVEtfU1RBVEVfRkxBR19BQ1RJVkUsICZnZGtSR0JB
Q29sb3IpOworICAgIHJldHVybiBnZGtSR0JBQ29sb3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1l
R3RrOjpzeXN0ZW1Db2xvcihpbnQgY3NzVmFsdWVJZCkgY29uc3QKIHsKKyAgICBHZGtSR0JBIGdk
a1JHQkFDb2xvcjsKKwogICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkgewogICAgIGNhc2UgQ1NTVmFs
dWVCdXR0b250ZXh0OgotICAgICAgICByZXR1cm4gQ29sb3IoZ3RrX3dpZGdldF9nZXRfc3R5bGUo
Z3RrQnV0dG9uKCkpLT5mZ1tHVEtfU1RBVEVfTk9STUFMXSk7CisgICAgICAgIGd0a19zdHlsZV9j
b250ZXh0X2dldF9jb2xvcihnZXRTdHlsZUNvbnRleHQoR1RLX1RZUEVfQlVUVE9OKSwgc3RhdGlj
X2Nhc3Q8R3RrU3RhdGVGbGFncz4oMCksICZnZGtSR0JBQ29sb3IpOworICAgICAgICByZXR1cm4g
Z2RrUkdCQUNvbG9yOwogICAgIGNhc2UgQ1NTVmFsdWVDYXB0aW9udGV4dDoKLSAgICAgICAgcmV0
dXJuIENvbG9yKGd0a193aWRnZXRfZ2V0X3N0eWxlKGd0a0VudHJ5KCkpLT5mZ1tHVEtfU1RBVEVf
Tk9STUFMXSk7CisgICAgICAgIGd0a19zdHlsZV9jb250ZXh0X2dldF9jb2xvcihnZXRTdHlsZUNv
bnRleHQoR1RLX1RZUEVfRU5UUlkpLCBzdGF0aWNfY2FzdDxHdGtTdGF0ZUZsYWdzPigwKSwgJmdk
a1JHQkFDb2xvcik7CisgICAgICAgIHJldHVybiBnZGtSR0JBQ29sb3I7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpzeXN0ZW1Db2xvcihjc3NWYWx1ZUlkKTsKICAg
ICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>