<?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>210642</bug_id>
          
          <creation_ts>2020-04-17 02:04:38 -0700</creation_ts>
          <short_desc>[GTK] Update for GdkKeymap API changes</short_desc>
          <delta_ts>2020-04-19 06:51:12 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>210100</blocked>
    
    <blocked>210651</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Claudio Saavedra">csaavedra</reporter>
          <assigned_to name="Claudio Saavedra">csaavedra</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1642609</commentid>
    <comment_count>0</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2020-04-17 02:04:38 -0700</bug_when>
    <thetext>[GTK] Update for GdkKeymap API changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642610</commentid>
    <comment_count>1</comment_count>
      <attachid>396747</attachid>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2020-04-17 02:07:28 -0700</bug_when>
    <thetext>Created attachment 396747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642690</commentid>
    <comment_count>2</comment_count>
      <attachid>396747</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-04-17 08:39:53 -0700</bug_when>
    <thetext>Comment on attachment 396747
Patch

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

&gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:1345
&gt; +    return gdk_keymap_get_caps_lock_state(gdk_keymap_get_for_display(gdk_display_get_default()));

Ah, too bad we are not saving the “GdkEventKey“ as part of the
“PlatformKeyboardEvent” struct; if that was the case we could use

  gdk_keymap_get_for_display(gdk_window_get_display(gdk_event_get_window(event)))

to make this more precise. Anyhoo, just throwing ideas around, I think
the proposed change is fine as-is because the _get_default() was being
used before anyway.

&gt; Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:307
&gt; +    GdkDisplay* display = gdk_window_get_display(pressEvent-&gt;key.window);

Please change this to use “gdk_event_get_window(pressEvent)” before
landing instead of accessing “pressEvent-&gt;key.window” directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642694</commentid>
    <comment_count>3</comment_count>
      <attachid>396747</attachid>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2020-04-17 08:45:14 -0700</bug_when>
    <thetext>Comment on attachment 396747
Patch

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

&gt;&gt; Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:307
&gt;&gt; +    GdkDisplay* display = gdk_window_get_display(pressEvent-&gt;key.window);
&gt; 
&gt; Please change this to use “gdk_event_get_window(pressEvent)” before
&gt; landing instead of accessing “pressEvent-&gt;key.window” directly.

There are other direct accesses to GdkEvent members, should we instead fix those in a follow up?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642696</commentid>
    <comment_count>4</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-04-17 08:47:26 -0700</bug_when>
    <thetext>(In reply to Claudio Saavedra from comment #3)
&gt; Comment on attachment 396747 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=396747&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:307
&gt; &gt;&gt; +    GdkDisplay* display = gdk_window_get_display(pressEvent-&gt;key.window);
&gt; &gt; 
&gt; &gt; Please change this to use “gdk_event_get_window(pressEvent)” before
&gt; &gt; landing instead of accessing “pressEvent-&gt;key.window” directly.
&gt; 
&gt; There are other direct accesses to GdkEvent members, should we instead fix
&gt; those in a follow up?

Sure, a follow-up works as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642699</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-17 08:50:17 -0700</bug_when>
    <thetext>Committed r260255: &lt;https://trac.webkit.org/changeset/260255&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396747.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643195</commentid>
    <comment_count>6</comment_count>
      <attachid>396747</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-04-19 06:51:12 -0700</bug_when>
    <thetext>Comment on attachment 396747
Patch

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

&gt;&gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:1345
&gt;&gt; +    return gdk_keymap_get_caps_lock_state(gdk_keymap_get_for_display(gdk_display_get_default()));
&gt; 
&gt; Ah, too bad we are not saving the “GdkEventKey“ as part of the
&gt; “PlatformKeyboardEvent” struct; if that was the case we could use
&gt; 
&gt;   gdk_keymap_get_for_display(gdk_window_get_display(gdk_event_get_window(event)))
&gt; 
&gt; to make this more precise. Anyhoo, just throwing ideas around, I think
&gt; the proposed change is fine as-is because the _get_default() was being
&gt; used before anyway.

We don&apos;t save the GdkKeyEvent, because this is created in the web process, and we can&apos;t send the GdkWindow of the WebKitWebView to the web process.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396747</attachid>
            <date>2020-04-17 02:07:28 -0700</date>
            <delta_ts>2020-04-17 08:50:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210642-20200417120727.patch</filename>
            <type>text/plain</type>
            <size>12099</size>
            <attacher name="Claudio Saavedra">csaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY0OTViY2JiYzdhMTlj
NGVmYzI0MmMwNGJmMWMwYWE2MzQ2NzY0Ni4uMzVlNTYzZGNkYWZhZjMxYzQ4OTI0YmNiMjc5MzY5
YzY4NWM4N2EwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA0LTE3ICBDbGF1
ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gVXBk
YXRlIGZvciBHZGtLZXltYXAgQVBJIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBuZWVkZWQuCisKKyAgICAgICAgZ2Rr
X2tleW1hcF9nZXRfZGVmYXVsdCgpIGlzIGRlcHJlY2F0ZWQgaW4gR1RLKyAzLjIyLCBzbyB1c2UK
KyAgICAgICAgZ2RrX2tleW1hcF9nZXRfZm9yX2Rpc3BsYXkoKSBpbnN0ZWFkLiBTaW5jZSBpbiBH
VEs0IHRoaXMgbWV0aG9kIGlzCisgICAgICAgIHJlbW92ZWQgdG8gZ2RrX2Rpc3BsYXlfZ2V0X2tl
eW1hcCgpLCBhZGQgYSBoZWxwZXIgdG8KKyAgICAgICAgR3RrVmVyc2lvbmluZy5oIHRvIGF2b2lk
IGNsdXR0ZXJpbmcgd2l0aCBpZmRlZnMgYWxsIG92ZXIgdGhlCisgICAgICAgIHBsYWNlLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaDoKKyAgICAgICAgKGdka19rZXlt
YXBfZ2V0X2Zvcl9kaXNwbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXli
b2FyZEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVu
dDo6Y3VycmVudENhcHNMb2NrU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1LZXli
b2FyZEV2ZW50Ojptb2RpZmllcnNDb250YWluQ2Fwc0xvY2spOgorCiAyMDIwLTA0LTE3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgTW92ZSBhbGxvd1BsdWdpbnMgdG8g
RnJhbWVMb2FkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzAzMGY0Y2Q4ZTAzYzYwMjBiZDkzMWJmYzFlMDk1NDgz
ZjgzMjg3MS4uNDQ1MTY2NzU4YTAxNWIyYjkyNDVlNGVkZjUxZjAyNTIwYzhlYWI2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0wNC0xNyAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2
ZWRyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFVwZGF0ZSBmb3IgR2RrS2V5bWFwIEFQ
SSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTA2NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgbmVlZGVkLgorCisgICAgICAgIGdka19rZXltYXBfZ2V0X2RlZmF1bHQo
KSBpcyBkZXByZWNhdGVkIGluIEdUSysgMy4yMiwgc28gdXNlCisgICAgICAgIGdka19rZXltYXBf
Z2V0X2Zvcl9kaXNwbGF5KCkgaW5zdGVhZC4gU2luY2UgaW4gR1RLNCB0aGlzIG1ldGhvZCBpcwor
ICAgICAgICByZW1vdmVkIHRvIGdka19kaXNwbGF5X2dldF9rZXltYXAoKSwgYWRkIGEgaGVscGVy
IHRvCisgICAgICAgIEd0a1ZlcnNpb25pbmcuaCB0byBhdm9pZCBjbHV0dGVyaW5nIHdpdGggaWZk
ZWZzIGFsbCBvdmVyIHRoZQorICAgICAgICBwbGFjZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
dXRvbWF0aW9uL2d0ay9XZWJBdXRvbWF0aW9uU2Vzc2lvbkd0ay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OmRvS2V5U3Ryb2tlRXZlbnQpOgorCiAyMDIwLTA0LTE3ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CiAKICAgICAgICAgTW92ZSBhbGxvd1BsdWdpbnMgdG8gRnJhbWVMb2FkZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCmluZGV4IDQ1MjE1NTNl
NjQ5ZGQ2ODJmYzM4ZjhiNWQ2M2JjODIxYWQyYTUyMjcuLjE2ZjFiYzZjYTgxZTMwODgxODMzNGQx
ZDYwZjM4ZTA3YmMwM2I4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9HdGtWZXJzaW9uaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1Zl
cnNpb25pbmcuaApAQCAtNTcsNCArNTcsMTAgQEAgZ3RrX2luaXRfY2hlY2soaW50KiwgY2hhcioq
KikKICAgICByZXR1cm4gZ3RrX2luaXRfY2hlY2soKTsKIH0KIAorc3RhdGljIGlubGluZSBHZGtL
ZXltYXAqCitnZGtfa2V5bWFwX2dldF9mb3JfZGlzcGxheShHZGtEaXNwbGF5ICpkaXNwbGF5KQor
eworICAgIHJldHVybiBnZGtfZGlzcGxheV9nZXRfa2V5bWFwKGRpc3BsYXkpOworfQorCiAjZW5k
aWYgLy8gVVNFKEdUSzQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
UGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9QbGF0Zm9ybUtleWJvYXJkRXZlbnRHdGsuY3BwCmluZGV4IDI2OTAwOGI5MDUzYzhkOGI2Nzg3
Y2YyMmYxM2I0NGI0NmRhY2UzMzMuLjFlY2QxZmU2MzBiZjFmY2YyYjRmYTg3NGMxMGZjMDE5MjUw
ZTE5NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybUtl
eWJvYXJkRXZlbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0
Zm9ybUtleWJvYXJkRXZlbnRHdGsuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUGxh
dGZvcm1LZXlib2FyZEV2ZW50LmgiCiAKICNpbmNsdWRlICJHdGtVdGlsaXRpZXMuaCIKKyNpbmNs
dWRlICJHdGtWZXJzaW9uaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNs
dWRlICJUZXh0RW5jb2RpbmcuaCIKICNpbmNsdWRlICJXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIgpA
QCAtMTM0MSw3ICsxMzQyLDcgQEAgdm9pZCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OmRpc2FtYmln
dWF0ZUtleURvd25FdmVudChUeXBlIHR5cGUsIGJvb2wgYmFja3dhcmRDb20KIAogYm9vbCBQbGF0
Zm9ybUtleWJvYXJkRXZlbnQ6OmN1cnJlbnRDYXBzTG9ja1N0YXRlKCkKIHsKLSAgICByZXR1cm4g
Z2RrX2tleW1hcF9nZXRfY2Fwc19sb2NrX3N0YXRlKGdka19rZXltYXBfZ2V0X2RlZmF1bHQoKSk7
CisgICAgcmV0dXJuIGdka19rZXltYXBfZ2V0X2NhcHNfbG9ja19zdGF0ZShnZGtfa2V5bWFwX2dl
dF9mb3JfZGlzcGxheShnZGtfZGlzcGxheV9nZXRfZGVmYXVsdCgpKSk7CiB9CiAKIHZvaWQgUGxh
dGZvcm1LZXlib2FyZEV2ZW50OjpnZXRDdXJyZW50TW9kaWZpZXJTdGF0ZShib29sJiBzaGlmdEtl
eSwgYm9vbCYgY3RybEtleSwgYm9vbCYgYWx0S2V5LCBib29sJiBtZXRhS2V5KQpAQCAtMTM2OSw3
ICsxMzcwLDcgQEAgYm9vbCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6Om1vZGlmaWVyc0NvbnRhaW5D
YXBzTG9jayh1bnNpZ25lZCBtb2RpZmllcikKICAgICBpZiAoIWluaXRpYWxpemVkKSB7CiAgICAg
ICAgIEdVbmlxdWVPdXRQdHI8R2RrS2V5bWFwS2V5PiBrZXlzOwogICAgICAgICBpbnQgZW50cmll
c0NvdW50OwotICAgICAgICBsb2NrTWFza0lzQ2Fwc0xvY2sgPSBnZGtfa2V5bWFwX2dldF9lbnRy
aWVzX2Zvcl9rZXl2YWwoZ2RrX2tleW1hcF9nZXRfZGVmYXVsdCgpLCBHREtfS0VZX0NhcHNfTG9j
aywgJmtleXMub3V0UHRyKCksICZlbnRyaWVzQ291bnQpICYmIGVudHJpZXNDb3VudDsKKyAgICAg
ICAgbG9ja01hc2tJc0NhcHNMb2NrID0gZ2RrX2tleW1hcF9nZXRfZW50cmllc19mb3Jfa2V5dmFs
KGdka19rZXltYXBfZ2V0X2Zvcl9kaXNwbGF5KGdka19kaXNwbGF5X2dldF9kZWZhdWx0KCkpLCBH
REtfS0VZX0NhcHNfTG9jaywgJmtleXMub3V0UHRyKCksICZlbnRyaWVzQ291bnQpICYmIGVudHJp
ZXNDb3VudDsKICAgICB9CiAgICAgcmV0dXJuIGxvY2tNYXNrSXNDYXBzTG9jazsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vZ3RrL1dlYkF1dG9tYXRp
b25TZXNzaW9uR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vZ3Rr
L1dlYkF1dG9tYXRpb25TZXNzaW9uR3RrLmNwcAppbmRleCAyOGM2MThjYjFhOTdjYTRkOTBmNTQ2
NTU3OGIyZWRmZDkxZjdkNmZkLi5kNjAzMWQ5ZmYyM2UzYTUyYmFlNTBkOTc2NThjN2RmMWU5MDJi
NDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2d0ay9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbkd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXV0b21hdGlvbi9ndGsvV2ViQXV0b21hdGlvblNlc3Npb25HdGsuY3BwCkBAIC0yOSw2ICsyOSw3
IEBACiAjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNlc3Npb25NYWNyb3MuaCIKICNpbmNsdWRlICJX
ZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvR3RrVmVyc2lvbmluZy5oPgogI2luY2x1ZGUgPGd0ay9ndGsuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC0xNDYsMTcgKzE0NywxOSBAQCBzdGF0aWMgdm9pZCBkb0tleVN0
cm9rZUV2ZW50KEdka0V2ZW50VHlwZSB0eXBlLCBHdGtXaWRnZXQqIHdpZGdldCwgdW5zaWduZWQg
a2V5VgogICAgIGV2ZW50LT5rZXkud2luZG93ID0gZ3RrX3dpZGdldF9nZXRfd2luZG93KHdpZGdl
dCk7CiAgICAgZ19vYmplY3RfcmVmKGV2ZW50LT5rZXkud2luZG93KTsKIAotICAgIGdka19ldmVu
dF9zZXRfZGV2aWNlKGV2ZW50LmdldCgpLCBnZGtfc2VhdF9nZXRfcG9pbnRlcihnZGtfZGlzcGxh
eV9nZXRfZGVmYXVsdF9zZWF0KGd0a193aWRnZXRfZ2V0X2Rpc3BsYXkod2lkZ2V0KSkpKTsKKyAg
ICBHZGtEaXNwbGF5KiBkaXNwbGF5ID0gZ3RrX3dpZGdldF9nZXRfZGlzcGxheSh3aWRnZXQpOwor
ICAgIGdka19ldmVudF9zZXRfZGV2aWNlKGV2ZW50LmdldCgpLCBnZGtfc2VhdF9nZXRfcG9pbnRl
cihnZGtfZGlzcGxheV9nZXRfZGVmYXVsdF9zZWF0KGRpc3BsYXkpKSk7CiAgICAgZXZlbnQtPmtl
eS5zdGF0ZSA9IHN0YXRlOwogCiAgICAgLy8gV2hlbiBzeW50aGVzaXppbmcgYW4gZXZlbnQsIGFu
IGludmFsaWQgaGFyZHdhcmVfa2V5Y29kZSB2YWx1ZSBjYW4gY2F1c2UgaXQgdG8gYmUgYmFkbHkg
cHJvY2Vzc2VkIGJ5IEdUSysuCiAgICAgR1VuaXF1ZU91dFB0cjxHZGtLZXltYXBLZXk+IGtleXM7
CiAgICAgaW50IGtleXNDb3VudDsKLSAgICBpZiAoZ2RrX2tleW1hcF9nZXRfZW50cmllc19mb3Jf
a2V5dmFsKGdka19rZXltYXBfZ2V0X2RlZmF1bHQoKSwga2V5VmFsLCAma2V5cy5vdXRQdHIoKSwg
JmtleXNDb3VudCkgJiYga2V5c0NvdW50KQorICAgIEdka0tleW1hcCoga2V5bWFwID0gZ2RrX2tl
eW1hcF9nZXRfZm9yX2Rpc3BsYXkoZGlzcGxheSk7CisgICAgaWYgKGdka19rZXltYXBfZ2V0X2Vu
dHJpZXNfZm9yX2tleXZhbChrZXltYXAsIGtleVZhbCwgJmtleXMub3V0UHRyKCksICZrZXlzQ291
bnQpICYmIGtleXNDb3VudCkKICAgICAgICAgZXZlbnQtPmtleS5oYXJkd2FyZV9rZXljb2RlID0g
a2V5cy5nZXQoKVswXS5rZXljb2RlOwogCiAgICAgaWYgKHN0YXRlKSB7Ci0gICAgICAgIGdka19r
ZXltYXBfdHJhbnNsYXRlX2tleWJvYXJkX3N0YXRlKGdka19rZXltYXBfZ2V0X2RlZmF1bHQoKSwg
ZXZlbnQtPmtleS5oYXJkd2FyZV9rZXljb2RlLCBzdGF0aWNfY2FzdDxHZGtNb2RpZmllclR5cGU+
KHN0YXRlKSwKKyAgICAgICAgZ2RrX2tleW1hcF90cmFuc2xhdGVfa2V5Ym9hcmRfc3RhdGUoa2V5
bWFwLCBldmVudC0+a2V5LmhhcmR3YXJlX2tleWNvZGUsIHN0YXRpY19jYXN0PEdka01vZGlmaWVy
VHlwZT4oc3RhdGUpLAogICAgICAgICAgICAgMCwgJmV2ZW50LT5rZXkua2V5dmFsLCBudWxscHRy
LCBudWxscHRyLCBudWxscHRyKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NmU4YzZmODcyMTlkM2U1NGFkMzUzNDA0ZDY5NzI3
MWU1MWJkZWVhLi5mMDVkNzVmYjM1NDQwNTI3N2U1NGQ5ZTU2ZjlkNGExNDlhYmU0N2M5IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMjAtMDQtMTcgIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBVcGRhdGUgZm9yIEdka0tleW1hcCBBUEkgY2hhbmdlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNjQyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IG5lZWRlZC4KKworICAgICAgICBnZGtfa2V5bWFwX2dldF9kZWZhdWx0KCkgaXMgZGVwcmVjYXRl
ZCBpbiBHVEsrIDMuMjIsIHNvIHVzZQorICAgICAgICBnZGtfa2V5bWFwX2dldF9mb3JfZGlzcGxh
eSgpIGluc3RlYWQuIFNpbmNlIGluIEdUSzQgdGhpcyBtZXRob2QgaXMKKyAgICAgICAgcmVtb3Zl
ZCB0byBnZGtfZGlzcGxheV9nZXRfa2V5bWFwKCksIGFkZCBhIGhlbHBlciB0bworICAgICAgICBH
dGtWZXJzaW9uaW5nLmggdG8gYXZvaWQgY2x1dHRlcmluZyB3aXRoIGlmZGVmcyBhbGwgb3ZlciB0
aGUKKyAgICAgICAgcGxhY2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0
R0xpYi9ndGsvV2ViVmlld1Rlc3RHdGsuY3BwOgorICAgICAgICAoV2ViVmlld1Rlc3Q6OmtleVN0
cm9rZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNw
cDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRvS2V5U3Ryb2tlKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdUUjo6
RXZlbnRTZW5kZXJQcm94eTo6a2V5RG93bik6CisKIDIwMjAtMDQtMTcgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtGbGF0cGFrIFNES10gTm90IGZ1
bGx5IGhvb2tlZCBpbiBCdWlsZFNsYXZlU3VwcG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9nbGliL1dlYktpdEdMaWIvZ3RrL1dlYlZpZXdUZXN0R3RrLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL2d0ay9XZWJWaWV3VGVzdEd0ay5jcHAKaW5kZXgg
ODI0OTYyNjI0YmQ1NWQwY2Q3MzM4MTA0NmFkNjM3OTJlNDZhMGI5NC4uMDEyNWQ4ODkwYjc3ZTFj
M2RjMTU0NjljZDIxYzI5YmM3ZDUyZmM5NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9nbGliL1dlYktpdEdMaWIvZ3RrL1dlYlZpZXdUZXN0R3RrLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9ndGsvV2ViVmlld1Rlc3RHdGsuY3BwCkBAIC0yMiw2
ICsyMiw3IEBACiAjaW5jbHVkZSAiV2ViVmlld1Rlc3QuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUv
R1VuaXF1ZVB0ckd0ay5oPgorI2luY2x1ZGUgPFdlYkNvcmUvR3RrVmVyc2lvbmluZy5oPgogI2lu
Y2x1ZGUgPGd0ay9ndGsuaD4KIAogdm9pZCBXZWJWaWV3VGVzdDo6cGxhdGZvcm1EZXN0cm95KCkK
QEAgLTE0MiwxMyArMTQzLDE0IEBAIHZvaWQgV2ViVmlld1Rlc3Q6OmtleVN0cm9rZSh1bnNpZ25l
ZCBrZXlWYWwsIHVuc2lnbmVkIGtleU1vZGlmaWVycykKICAgICBldmVudC0+a2V5LnRpbWUgPSBH
REtfQ1VSUkVOVF9USU1FOwogICAgIGV2ZW50LT5rZXkud2luZG93ID0gZ3RrX3dpZGdldF9nZXRf
d2luZG93KHZpZXdXaWRnZXQpOwogICAgIGdfb2JqZWN0X3JlZihldmVudC0+a2V5LndpbmRvdyk7
Ci0gICAgZ2RrX2V2ZW50X3NldF9kZXZpY2UoZXZlbnQuZ2V0KCksIGdka19zZWF0X2dldF9wb2lu
dGVyKGdka19kaXNwbGF5X2dldF9kZWZhdWx0X3NlYXQoZ3RrX3dpZGdldF9nZXRfZGlzcGxheSh2
aWV3V2lkZ2V0KSkpKTsKKyAgICBHZGtEaXNwbGF5KiBkaXNwbGF5ID0gZ3RrX3dpZGdldF9nZXRf
ZGlzcGxheSh2aWV3V2lkZ2V0KTsKKyAgICBnZGtfZXZlbnRfc2V0X2RldmljZShldmVudC5nZXQo
KSwgZ2RrX3NlYXRfZ2V0X3BvaW50ZXIoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHRfc2VhdChkaXNw
bGF5KSkpOwogICAgIGV2ZW50LT5rZXkuc3RhdGUgPSBrZXlNb2RpZmllcnM7CiAKICAgICAvLyBX
aGVuIHN5bnRoZXNpemluZyBhbiBldmVudCwgYW4gaW52YWxpZCBoYXJkd2FyZV9rZXljb2RlIHZh
bHVlIGNhbiBjYXVzZSBpdCB0byBiZSBiYWRseSBwcm9jZXNzZWQgYnkgR1RLKy4KICAgICBHVW5p
cXVlT3V0UHRyPEdka0tleW1hcEtleT4ga2V5czsKICAgICBpbnQga2V5c0NvdW50OwotICAgIGlm
IChnZGtfa2V5bWFwX2dldF9lbnRyaWVzX2Zvcl9rZXl2YWwoZ2RrX2tleW1hcF9nZXRfZGVmYXVs
dCgpLCBrZXlWYWwsICZrZXlzLm91dFB0cigpLCAma2V5c0NvdW50KSAmJiBrZXlzQ291bnQpCisg
ICAgaWYgKGdka19rZXltYXBfZ2V0X2VudHJpZXNfZm9yX2tleXZhbChnZGtfa2V5bWFwX2dldF9m
b3JfZGlzcGxheShkaXNwbGF5KSwga2V5VmFsLCAma2V5cy5vdXRQdHIoKSwgJmtleXNDb3VudCkg
JiYga2V5c0NvdW50KQogICAgICAgICBldmVudC0+a2V5LmhhcmR3YXJlX2tleWNvZGUgPSBrZXlz
LmdldCgpWzBdLmtleWNvZGU7CiAKICAgICBndGtfbWFpbl9kb19ldmVudChldmVudC5nZXQoKSk7
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcAppbmRl
eCAzOGIyYjJlMGNkNmQ1YzdjY2E2MzBjYTdkYTA4MmU0NzFmYzEyZmQ1Li42YTU4YzliNjI5OTRk
NzUwMDZmZjFhODM5ZWNiNGMyNzgzMWJmZDc0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Z3RrL1BsYXRmb3JtV2ViVmlld0d0ay5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJQ
bGF0Zm9ybVdlYlZpZXcuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0ckd0ay5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvR3RrVmVyc2lvbmluZy5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1Jl
dGFpblB0ci5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1ZpZXcuaD4KICNpbmNsdWRlIDxndGsvZ3Rr
Lmg+CkBAIC05MCwxMiArOTEsMTMgQEAgc3RhdGljIHZvaWQgZG9LZXlTdHJva2UoR3RrV2lkZ2V0
KiB2aWV3V2lkZ2V0LCB1bnNpZ25lZCBpbnQga2V5VmFsKQogICAgIGV2ZW50LT5rZXkuc3RhdGUg
PSAwOwogICAgIGV2ZW50LT5rZXkud2luZG93ID0gZ3RrX3dpZGdldF9nZXRfd2luZG93KHZpZXdX
aWRnZXQpOwogICAgIGdfb2JqZWN0X3JlZihldmVudC0+a2V5LndpbmRvdyk7Ci0gICAgZ2RrX2V2
ZW50X3NldF9kZXZpY2UoZXZlbnQuZ2V0KCksIGdka19zZWF0X2dldF9wb2ludGVyKGdka19kaXNw
bGF5X2dldF9kZWZhdWx0X3NlYXQoZ3RrX3dpZGdldF9nZXRfZGlzcGxheSh2aWV3V2lkZ2V0KSkp
KTsKKyAgICBHZGtEaXNwbGF5KiBkaXNwbGF5ID0gZ3RrX3dpZGdldF9nZXRfZGlzcGxheSh2aWV3
V2lkZ2V0KTsKKyAgICBnZGtfZXZlbnRfc2V0X2RldmljZShldmVudC5nZXQoKSwgZ2RrX3NlYXRf
Z2V0X3BvaW50ZXIoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHRfc2VhdChkaXNwbGF5KSkpOwogCiAg
ICAgLy8gV2hlbiBzeW50aGVzaXppbmcgYW4gZXZlbnQsIGFuIGludmFsaWQgaGFyZHdhcmVfa2V5
Y29kZSB2YWx1ZSBjYW4gY2F1c2UgaXQgdG8gYmUgYmFkbHkgcHJvY2Vzc2VkIGJ5IEdUSysuCiAg
ICAgR1VuaXF1ZU91dFB0cjxHZGtLZXltYXBLZXk+IGtleXM7CiAgICAgaW50IGtleXNDb3VudDsK
LSAgICBpZiAoZ2RrX2tleW1hcF9nZXRfZW50cmllc19mb3Jfa2V5dmFsKGdka19rZXltYXBfZ2V0
X2RlZmF1bHQoKSwga2V5VmFsLCAma2V5cy5vdXRQdHIoKSwgJmtleXNDb3VudCkgJiYga2V5c0Nv
dW50KQorICAgIGlmIChnZGtfa2V5bWFwX2dldF9lbnRyaWVzX2Zvcl9rZXl2YWwoZ2RrX2tleW1h
cF9nZXRfZm9yX2Rpc3BsYXkoZGlzcGxheSksIGtleVZhbCwgJmtleXMub3V0UHRyKCksICZrZXlz
Q291bnQpICYmIGtleXNDb3VudCkKICAgICAgICAgZXZlbnQtPmtleS5oYXJkd2FyZV9rZXljb2Rl
ID0ga2V5cy5nZXQoKVswXS5rZXljb2RlOwogCiAgICAgZ3RrX21haW5fZG9fZXZlbnQoZXZlbnQu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvRXZlbnRTZW5k
ZXJQcm94eUd0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclBy
b3h5R3RrLmNwcAppbmRleCA0OGEwN2QwZmY5MTEyMjA1N2ZiZDljZDQ5ODlkZTg0NzEzNDMxZDM1
Li44NDgxZjFkN2E1ZTJmMTZlNmVkZTUyY2ZjODA2ZjFmZTI2ZDliNDMwIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcApAQCAtMzYs
NiArMzYsNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgIlRlc3RD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HdGtVdGlsaXRpZXMuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0d0a1ZlcnNpb25pbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVu
dGVkLmg+CiAjaW5jbHVkZSA8Z2RrL2dka2tleXN5bXMuaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+
CkBAIC0zMDMsMTEgKzMwNCwxMiBAQCB2b2lkIEV2ZW50U2VuZGVyUHJveHk6OmtleURvd24oV0tT
dHJpbmdSZWYga2V5UmVmLCBXS0V2ZW50TW9kaWZpZXJzIHdrTW9kaWZpZXJzLAogICAgIHByZXNz
RXZlbnQtPmtleS5zdGF0ZSA9IG1vZGlmaWVyczsKICAgICBwcmVzc0V2ZW50LT5rZXkud2luZG93
ID0gZ3RrX3dpZGdldF9nZXRfd2luZG93KEdUS19XSURHRVQobV90ZXN0Q29udHJvbGxlci0+bWFp
bldlYlZpZXcoKS0+cGxhdGZvcm1XaW5kb3coKSkpOwogICAgIGdfb2JqZWN0X3JlZihwcmVzc0V2
ZW50LT5rZXkud2luZG93KTsKLSAgICBnZGtfZXZlbnRfc2V0X2RldmljZShwcmVzc0V2ZW50LCBn
ZGtfc2VhdF9nZXRfcG9pbnRlcihnZGtfZGlzcGxheV9nZXRfZGVmYXVsdF9zZWF0KGdka193aW5k
b3dfZ2V0X2Rpc3BsYXkocHJlc3NFdmVudC0+a2V5LndpbmRvdykpKSk7CisgICAgR2RrRGlzcGxh
eSogZGlzcGxheSA9IGdka193aW5kb3dfZ2V0X2Rpc3BsYXkocHJlc3NFdmVudC0+a2V5LndpbmRv
dyk7CisgICAgZ2RrX2V2ZW50X3NldF9kZXZpY2UocHJlc3NFdmVudCwgZ2RrX3NlYXRfZ2V0X3Bv
aW50ZXIoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHRfc2VhdChkaXNwbGF5KSkpOwogCiAgICAgR1Vu
aXF1ZU91dFB0cjxHZGtLZXltYXBLZXk+IGtleXM7CiAgICAgZ2ludCBuS2V5czsKLSAgICBpZiAo
Z2RrX2tleW1hcF9nZXRfZW50cmllc19mb3Jfa2V5dmFsKGdka19rZXltYXBfZ2V0X2RlZmF1bHQo
KSwgZ2RrS2V5U3ltLCAma2V5cy5vdXRQdHIoKSwgJm5LZXlzKSAmJiBuS2V5cykKKyAgICBpZiAo
Z2RrX2tleW1hcF9nZXRfZW50cmllc19mb3Jfa2V5dmFsKGdka19rZXltYXBfZ2V0X2Zvcl9kaXNw
bGF5KGRpc3BsYXkpLCBnZGtLZXlTeW0sICZrZXlzLm91dFB0cigpLCAmbktleXMpICYmIG5LZXlz
KQogICAgICAgICBwcmVzc0V2ZW50LT5rZXkuaGFyZHdhcmVfa2V5Y29kZSA9IGtleXMuZ2V0KClb
MF0ua2V5Y29kZTsKIAogICAgIEdka0V2ZW50KiByZWxlYXNlRXZlbnQgPSBnZGtfZXZlbnRfY29w
eShwcmVzc0V2ZW50KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>