<?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>213568</bug_id>
          
          <creation_ts>2020-06-24 11:25:30 -0700</creation_ts>
          <short_desc>Allow the async clipboard API to write data when copying via menu action or key binding</short_desc>
          <delta_ts>2020-06-24 17:17:46 -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>HTML Editing</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1665803</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-24 11:25:30 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665804</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-24 11:31:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/64711653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665861</commentid>
    <comment_count>2</comment_count>
      <attachid>402684</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-24 14:02:54 -0700</bug_when>
    <thetext>Created attachment 402684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665864</commentid>
    <comment_count>3</comment_count>
      <attachid>402684</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-24 14:10:07 -0700</bug_when>
    <thetext>Comment on attachment 402684
Patch

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

&gt; Source/WebCore/Modules/async-clipboard/Clipboard.cpp:53
&gt; +    if (settings.javaScriptCanAccessClipboard() || frame.editor().isCopyingFromMenuOrKeyBinding())

Is it always right to ask this Frame’s editor? Should we instead ask the main frame’s editor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665874</commentid>
    <comment_count>4</comment_count>
      <attachid>402684</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-24 14:35:49 -0700</bug_when>
    <thetext>Comment on attachment 402684
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/Modules/async-clipboard/Clipboard.cpp:53
&gt;&gt; +    if (settings.javaScriptCanAccessClipboard() || frame.editor().isCopyingFromMenuOrKeyBinding())
&gt; 
&gt; Is it always right to ask this Frame’s editor? Should we instead ask the main frame’s editor?

I believe it&apos;s right to ask this Frame&apos;s editor, since (in the case of copying from menu/key binding) the information about the editor command source is propagated down to the Frame responsible for handling and dispatching the clipboard event, which might be a subframe instead of the mainframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665896</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-24 16:00:27 -0700</bug_when>
    <thetext>Committed r263480: &lt;https://trac.webkit.org/changeset/263480&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402684.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665914</commentid>
    <comment_count>6</comment_count>
      <attachid>402684</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-24 17:14:20 -0700</bug_when>
    <thetext>Comment on attachment 402684
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/async-clipboard/Clipboard.cpp:53
&gt;&gt;&gt; +    if (settings.javaScriptCanAccessClipboard() || frame.editor().isCopyingFromMenuOrKeyBinding())
&gt;&gt; 
&gt;&gt; Is it always right to ask this Frame’s editor? Should we instead ask the main frame’s editor?
&gt; 
&gt; I believe it&apos;s right to ask this Frame&apos;s editor, since (in the case of copying from menu/key binding) the information about the editor command source is propagated down to the Frame responsible for handling and dispatching the clipboard event, which might be a subframe instead of the mainframe.

I bet you are right. Probably should add a test to prove it at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665919</commentid>
    <comment_count>7</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-24 17:17:46 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 402684 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=402684&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/Modules/async-clipboard/Clipboard.cpp:53
&gt; &gt;&gt;&gt; +    if (settings.javaScriptCanAccessClipboard() || frame.editor().isCopyingFromMenuOrKeyBinding())
&gt; &gt;&gt; 
&gt; &gt;&gt; Is it always right to ask this Frame’s editor? Should we instead ask the main frame’s editor?
&gt; &gt; 
&gt; &gt; I believe it&apos;s right to ask this Frame&apos;s editor, since (in the case of copying from menu/key binding) the information about the editor command source is propagated down to the Frame responsible for handling and dispatching the clipboard event, which might be a subframe instead of the mainframe.
&gt; 
&gt; I bet you are right. Probably should add a test to prove it at some point.

Will do! &lt;https://webkit.org/b/213581&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402684</attachid>
            <date>2020-06-24 14:02:54 -0700</date>
            <delta_ts>2020-06-24 16:00:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213568-20200624140253.patch</filename>
            <type>text/plain</type>
            <size>12744</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNjYzNkNmUxNzViMWEw
ZjFjMDMzMTkzZTZhYmRiMTc4MDY1MGQzZC4uZWRjODFkN2NhMzFlNDFjMmM5ODVhMWY1MmZmMjhj
Mjk2MThjMDcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA2LTI0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHRoZSBh
c3luYyBjbGlwYm9hcmQgQVBJIHRvIHdyaXRlIGRhdGEgd2hlbiBjb3B5aW5nIHZpYSBtZW51IGFj
dGlvbiBvciBrZXkgYmluZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzNTY4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDcxMTY1Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlcyBhIGNv
dXBsZSBvZiBtaW5vciBhZGp1c3RtZW50cyB0byBhbGxvdyBgY2xpcGJvYXJkLndyaXRlYCBhbmQg
YGNsaXBib2FyZC53cml0ZVRleHRgIHRvIHdvcmsgZHVyaW5nIGEgdXNlci0KKyAgICAgICAgdHJp
Z2dlcmVkIGNvcHkgZXZlbnQgKHRoYXQgaXMsIGZyb20gbWVudSBvciBrZXkgYmluZGluZykuIFNl
ZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC13cml0ZS1pbi1jb3B5LWV2ZW50LWhhbmRsZXIuaHRtbAorCisg
ICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnNob3VsZFByb2NlZWRXaXRoQ2xpcGJvYXJkV3JpdGUpOgorCisgICAgICAgIEFk
ZCBhIG1lY2hhbmlzbSB0byBrZWVwIHRyYWNrIG9mIHdoZW4gRWRpdG9yIGlzIGhhbmRsaW5nIGEg
Y29weSBvciBjdXQgZXZlbnQgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGludGVyYWN0aW5nCisgICAg
ICAgIHdpdGggYSBrZXkgYmluZGluZyBvciBtZW51IGFjdGlvbi4gVXNlIHRoaXMgbWVjaGFuaXNt
IHRvIGdyYW50IHdyaXRlIGFjY2VzcyB2aWEgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEkuCisKKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkaXNwYXRjaENs
aXBib2FyZEV2ZW50KToKKworICAgICAgICBPbmx5IGF0dGVtcHQgdG8gY29tbWl0IHRoZSBzdGF0
aWMgcGFzdGVib2FyZCB0byB0aGUgcGxhdGZvcm0gcGFzdGVib2FyZCBkdXJpbmcgYSBjb3B5IGV2
ZW50IHdoZW4gcHJldmVudGluZworICAgICAgICBkZWZhdWx0IGlmIHRoZSBTdGF0aWNQYXN0ZWJv
YXJkLWJhY2tlZCBEYXRhVHJhbnNmZXIgYWN0dWFsbHkgY29udGFpbnMgZGF0YS4gVGhpcyBmaXhl
cyBhIHJhY2UgY29uZGl0aW9uIHdoZW4KKyAgICAgICAgd3JpdGluZyB0byB0aGUgcGFzdGVib2Fy
ZCB1c2luZyB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSBkdXJpbmcgdGhlICJjb3B5IiBldmVudCwg
d2hlcmUgdGhlIGNoYW5nZUNvdW50IHdoZW4KKyAgICAgICAgYmVnaW5uaW5nIHRvIHdyaXRlIGlz
IGluY3JlbWVudGVkIGR1ZSB0byB0aGUgcGFzdGVib2FyZCBnZXR0aW5nIGNsZWFyZWQuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2Ugd2lsbCBhbHNvIG1ha2UgaXQgc28gdGhhdCBjYWxsaW5nIGBwcmV2
ZW50RGVmYXVsdCgpYCBvbiB0aGUgY29weSBldmVudCB3aWxsIHJlc3VsdCBpbiBubyBjaGFuZ2Ug
dG8KKyAgICAgICAgdGhlIHN5c3RlbSBwYXN0ZWJvYXJkLCBpbnN0ZWFkIG9mIGNsZWFyaW5nIG91
dCBhbnkgZXhpc3RpbmcgY29udGVudCBvbiB0aGUgcGFzdGVib2FyZC4KKworICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpjdXQpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjb3B5KToKKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjppc0Nv
cHlpbmdGcm9tTWVudU9yS2V5QmluZGluZyBjb25zdCk6CisgICAgICAgICogZWRpdGluZy9FZGl0
b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVDb3B5KToKKyAgICAgICAg
KFdlYkNvcmU6OmV4ZWN1dGVDdXQpOgorCiAyMDIwLTA2LTIxICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFRleHQgbWFuaXB1bGF0aW9uIHNob3VsZCBl
eGNsdWRlIHRleHQgcmVuZGVyZWQgdXNpbmcgaWNvbi1vbmx5IGZvbnRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcAppbmRleCA4
ZWExN2ViM2U4ZGY0NGZjYTMxYWYwM2MwYjM0MDJkNmM3MjJjNDkxLi45NmZkMDkxMTAxNzRhZjJl
ZWU0OTM1YTU3YzA3ZmQxZTBlZmRkMDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJDbGlwYm9hcmRJbWFnZVJlYWRlci5oIgogI2luY2x1ZGUgIkNsaXBib2FyZEl0ZW0u
aCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNCbG9iLmgiCiAjaW5jbHVkZSAiSlNDbGlwYm9hcmRJdGVt
LmgiCkBAIC00OSw3ICs1MCw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDbGlwYm9h
cmQpOwogc3RhdGljIGJvb2wgc2hvdWxkUHJvY2VlZFdpdGhDbGlwYm9hcmRXcml0ZShjb25zdCBG
cmFtZSYgZnJhbWUpCiB7CiAgICAgYXV0byYgc2V0dGluZ3MgPSBmcmFtZS5zZXR0aW5ncygpOwot
ICAgIGlmIChzZXR0aW5ncy5qYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKCkpCisgICAgaWYg
KHNldHRpbmdzLmphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoKSB8fCBmcmFtZS5lZGl0b3Io
KS5pc0NvcHlpbmdGcm9tTWVudU9yS2V5QmluZGluZygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgIHN3aXRjaCAoc2V0dGluZ3MuY2xpcGJvYXJkQWNjZXNzUG9saWN5KCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCAzZTM2ZmE1OTg3ZDFiZTkwM2NjNzU2OGIwNzg3ODU5
MTZkZjY1YjAwLi5jYTY4OGFlNDk1YmFjMWQ5MjE3NzBiZjQzNWZjZmMzZjdlMmIwM2RjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC00MzIsNyArNDMyLDcgQEAgc3RhdGljIGJvb2wg
ZGlzcGF0Y2hDbGlwYm9hcmRFdmVudChSZWZQdHI8RWxlbWVudD4mJiB0YXJnZXQsIENsaXBib2Fy
ZEV2ZW50S2luZAogCiAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKICAgICBib29s
IG5vRGVmYXVsdFByb2Nlc3NpbmcgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwotICAgIGlm
IChub0RlZmF1bHRQcm9jZXNzaW5nICYmIChraW5kID09IENsaXBib2FyZEV2ZW50S2luZDo6Q29w
eSB8fCBraW5kID09IENsaXBib2FyZEV2ZW50S2luZDo6Q3V0KSkKKyAgICBpZiAobm9EZWZhdWx0
UHJvY2Vzc2luZyAmJiAoa2luZCA9PSBDbGlwYm9hcmRFdmVudEtpbmQ6OkNvcHkgfHwga2luZCA9
PSBDbGlwYm9hcmRFdmVudEtpbmQ6OkN1dCkgJiYgZGF0YVRyYW5zZmVyLT5wYXN0ZWJvYXJkKCku
aGFzRGF0YSgpKQogICAgICAgICBkYXRhVHJhbnNmZXItPmNvbW1pdFRvUGFzdGVib2FyZCgqUGFz
dGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCkpOwogCiAgICAgZGF0YVRyYW5zZmVyLT5t
YWtlSW52YWxpZEZvclNlY3VyaXR5KCk7CkBAIC0xMzY2LDggKzEzNjYsOSBAQCBib29sIEVkaXRv
cjo6aW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9ySW5RdW90ZWRDb250ZW50KCkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotdm9pZCBFZGl0b3I6OmN1dCgpCit2b2lkIEVkaXRvcjo6Y3V0KEZyb21NZW51
T3JLZXlCaW5kaW5nIGZyb21NZW51T3JLZXlCaW5kaW5nKQogeworICAgIFNldEZvclNjb3BlPGJv
b2w+IGNvcHlTY29wZSB7IG1fY29weWluZ0Zyb21NZW51T3JLZXlCaW5kaW5nLCBmcm9tTWVudU9y
S2V5QmluZGluZyA9PSBGcm9tTWVudU9yS2V5QmluZGluZzo6WWVzIH07CiAgICAgaWYgKHRyeURI
VE1MQ3V0KCkpCiAgICAgICAgIHJldHVybjsgLy8gREhUTUwgZGlkIHRoZSB3aG9sZSBvcGVyYXRp
b24KICAgICBpZiAoIWNhbkN1dCgpKSB7CkBAIC0xMzc4LDggKzEzNzksOSBAQCB2b2lkIEVkaXRv
cjo6Y3V0KCkKICAgICBwZXJmb3JtQ3V0T3JDb3B5KEN1dEFjdGlvbik7CiB9CiAKLXZvaWQgRWRp
dG9yOjpjb3B5KCkKK3ZvaWQgRWRpdG9yOjpjb3B5KEZyb21NZW51T3JLZXlCaW5kaW5nIGZyb21N
ZW51T3JLZXlCaW5kaW5nKQogeworICAgIFNldEZvclNjb3BlPGJvb2w+IGNvcHlTY29wZSB7IG1f
Y29weWluZ0Zyb21NZW51T3JLZXlCaW5kaW5nLCBmcm9tTWVudU9yS2V5QmluZGluZyA9PSBGcm9t
TWVudU9yS2V5QmluZGluZzo6WWVzIH07CiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAg
ICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5D
b3B5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IGY4YTlhZDBkM2QyNDJhN2RhNGU2
NzFhZTJkN2JlNGY3MWVmMThlM2IuLjY5ZDYwNTkzMDI2NTJmNjcyZmQyNTkxNTJkM2RjZmI0NWZm
MDkyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtMTg3LDEwICsxODcsMTAgQEAgcHVi
bGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FuU21hcnRDb3B5T3JEZWxldGUoKTsKICAg
ICBib29sIHNob3VsZFNtYXJ0RGVsZXRlKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGN1
dCgpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29weSgpOwotCiAgICAgZW51bSBjbGFzcyBG
cm9tTWVudU9yS2V5QmluZGluZyA6IGJvb2wgeyBObywgWWVzIH07CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjdXQoRnJvbU1lbnVPcktleUJpbmRpbmcgPSBGcm9tTWVudU9yS2V5QmluZGluZzo6
Tm8pOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29weShGcm9tTWVudU9yS2V5QmluZGluZyA9
IEZyb21NZW51T3JLZXlCaW5kaW5nOjpObyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBh
c3RlKEZyb21NZW51T3JLZXlCaW5kaW5nID0gRnJvbU1lbnVPcktleUJpbmRpbmc6Ok5vKTsKICAg
ICB2b2lkIHBhc3RlKFBhc3RlYm9hcmQmLCBGcm9tTWVudU9yS2V5QmluZGluZyA9IEZyb21NZW51
T3JLZXlCaW5kaW5nOjpObyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwYXN0ZUFzUGxhaW5U
ZXh0KEZyb21NZW51T3JLZXlCaW5kaW5nID0gRnJvbU1lbnVPcktleUJpbmRpbmc6Ok5vKTsKQEAg
LTU3NCw2ICs1NzQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVU
ZXh0UGxhY2Vob2xkZXIoVGV4dFBsYWNlaG9sZGVyRWxlbWVudCYpOwogCiAgICAgYm9vbCBpc1Bh
c3RpbmdGcm9tTWVudU9yS2V5QmluZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fcGFzdGluZ0Zyb21N
ZW51T3JLZXlCaW5kaW5nOyB9CisgICAgYm9vbCBpc0NvcHlpbmdGcm9tTWVudU9yS2V5QmluZGlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fY29weWluZ0Zyb21NZW51T3JLZXlCaW5kaW5nOyB9CiAKIHBy
aXZhdGU6CiAgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVu
dDsgfQpAQCAtNjU4LDYgKzY1OSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2VkaXRvclVJVXBk
YXRlVGltZXJTaG91bGRDaGVja1NwZWxsaW5nQW5kR3JhbW1hciB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2VkaXRvclVJVXBkYXRlVGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdBY2NlcHRlZENhbmRpZGF0ZSB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX2NvcHlpbmdGcm9tTWVudU9yS2V5QmluZGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X3Bhc3RpbmdGcm9tTWVudU9yS2V5QmluZGluZyB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCmluZGV4IDkyMjVkN2RjZmQxODVlM2ExYjI4MGM1YzFm
NGZiODBlMzY2ODliNzQuLmQ2ZWE0MjZkN2Y3ZmU3NjVmYjAwOTdlM2Q5NWFlYzc1OWRhNDI3ZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtMjQwLDkgKzI0
MCw5IEBAIHN0YXRpYyBib29sIGV4ZWN1dGVCYWNrQ29sb3IoRnJhbWUmIGZyYW1lLCBFdmVudCos
IEVkaXRvckNvbW1hbmRTb3VyY2Ugc291cmNlLCBjCiAgICAgcmV0dXJuIGV4ZWN1dGVBcHBseVN0
eWxlKGZyYW1lLCBzb3VyY2UsIEVkaXRBY3Rpb246OlNldEJhY2tncm91bmRDb2xvciwgQ1NTUHJv
cGVydHlCYWNrZ3JvdW5kQ29sb3IsIHZhbHVlKTsKIH0KIAotc3RhdGljIGJvb2wgZXhlY3V0ZUNv
cHkoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmlu
ZyYpCitzdGF0aWMgYm9vbCBleGVjdXRlQ29weShGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9y
Q29tbWFuZFNvdXJjZSBzb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgZnJhbWUuZWRpdG9y
KCkuY29weSgpOworICAgIGZyYW1lLmVkaXRvcigpLmNvcHkoc291cmNlID09IENvbW1hbmRGcm9t
TWVudU9yS2V5QmluZGluZyA/IEVkaXRvcjo6RnJvbU1lbnVPcktleUJpbmRpbmc6OlllcyA6IEVk
aXRvcjo6RnJvbU1lbnVPcktleUJpbmRpbmc6Ok5vKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApA
QCAtMjYwLDcgKzI2MCw3IEBAIHN0YXRpYyBib29sIGV4ZWN1dGVDdXQoRnJhbWUmIGZyYW1lLCBF
dmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2Ugc291cmNlLCBjb25zdCBTCiB7CiAgICAgaWYgKHNv
dXJjZSA9PSBDb21tYW5kRnJvbU1lbnVPcktleUJpbmRpbmcpIHsKICAgICAgICAgVXNlclR5cGlu
Z0dlc3R1cmVJbmRpY2F0b3IgdHlwaW5nR2VzdHVyZUluZGljYXRvcihmcmFtZSk7Ci0gICAgICAg
IGZyYW1lLmVkaXRvcigpLmN1dCgpOworICAgICAgICBmcmFtZS5lZGl0b3IoKS5jdXQoRWRpdG9y
OjpGcm9tTWVudU9yS2V5QmluZGluZzo6WWVzKTsKICAgICB9IGVsc2UKICAgICAgICAgZnJhbWUu
ZWRpdG9yKCkuY3V0KCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzJkNmM2ZjI0OTRmM2I0
YjBjNjQ5MWQzOWJiODk1ODhiMWY5MGE1ZC4uMDEyMTc2YzU4NjNlZjJhN2QxZTdkZGY3ZDJmZTNi
MTYyMmRjMzg1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI0ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHRoZSBhc3luYyBj
bGlwYm9hcmQgQVBJIHRvIHdyaXRlIGRhdGEgd2hlbiBjb3B5aW5nIHZpYSBtZW51IGFjdGlvbiBv
ciBrZXkgYmluZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzNTY4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDcxMTY1Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgbGF5b3V0
IHRlc3QgdG8gZXhlcmNpc2UgYXN5bmMgY2xpcGJvYXJkIHdyaXRpbmcgQVBJIGR1cmluZyB0aGUg
Y29weSBldmVudC4KKworICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC13cml0ZS1pbi1jb3B5LWV2ZW50LWhhbmRsZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JpdGUtaW4tY29weS1ldmVu
dC1oYW5kbGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zOgorCiAyMDIwLTA2LTIzICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIGV4cGVjdGF0aW9uIGZvciBhbmltYXRpb25zL21pc3NpbmctdmFs
dWVzLWZpcnN0LWtleWZyYW1lLmh0bWwgYW5kIGFuaW1hdGlvbnMvbWlzc2luZy12YWx1ZXMtbGFz
dC1rZXlmcmFtZS5odG1sIGFzIHRoZXkgYXJlIHBhc3NpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JpdGUtaW4tY29weS1ldmVu
dC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC13cml0ZS1pbi1jb3B5LWV2ZW50LWhhbmRsZXItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJhY2I4YzY2YzU1YWViOTM4ZGM4ZDU3ZDM1OWZjZDIwY2MzOWViNWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtd3JpdGUtaW4tY29weS1ldmVudC1oYW5kbGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBjbGlwYm9hcmQgaXRlbXMgY2FuIGJlIHdyaXR0
ZW4gd2hpbGUgZGlzcGF0Y2hpbmcgdGhlICdjb3B5JyBldmVudC4gVG8gbWFudWFsbHkgcnVuIHRo
ZSB0ZXN0LCBjb3B5IHRoZSAnQ29weSBtZScgdGV4dCBiZWxvdy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgU3VjY2Vzc2Z1bGx5IHdyb3RlIHRvIGNsaXBib2FyZC4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorQ29weSBtZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LXdyaXRlLWluLWNvcHktZXZlbnQtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLXdyaXRlLWluLWNvcHktZXZlbnQtaGFuZGxlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhhOGFjNmZjYWJlOGQzMWUzZTQwMWIxN2JlNzFjZGUxZDUyZGIyNGMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtd3JpdGUtaW4tY29weS1ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSAgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
ICAgICAgICBwYWRkaW5nOiAxZW07CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChmYWxzZSk7CisKKyAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGNsaXBib2FyZCBpdGVtcyBjYW4gYmUgd3Jp
dHRlbiB3aGlsZSBkaXNwYXRjaGluZyB0aGUgJ2NvcHknIGV2ZW50LiBUbyBtYW51YWxseSBydW4g
dGhlIHRlc3QsIGNvcHkgdGhlICdDb3B5IG1lJyB0ZXh0IGJlbG93LiIpOworCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGNv
bnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKworICAgICAg
ICAgICAgY29uc3QgdGV4dEJsb2IgPSBuZXcgQmxvYihbIChuZXcgVGV4dEVuY29kZXIoKSkuZW5j
b2RlKCJIZWxsbyB3b3JsZCIpIF0sIHsgdHlwZSA6ICJ0ZXh0L3BsYWluIiB9KTsKKyAgICAgICAg
ICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJjb3B5IiwgYXN5bmMgZXZlbnQgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZh
dWx0KCk7CisgICAgICAgICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3Jp
dGUoWyBuZXcgQ2xpcGJvYXJkSXRlbSh7ICJ0ZXh0L3BsYWluIiA6IHRleHRCbG9iIH0pXSk7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSB3cm90ZSB0byBjbGlw
Ym9hcmQuIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYEZhaWxlZCB3aXRoIGV4Y2VwdGlvbjogJHtleGNlcHRp
b259LmApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworCisg
ICAgICAgICAgICBnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbih0YXJnZXQpOworCisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5leGVjQ29tbWFuZCgiQ29weSIpOworICAgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHNwYW4gaWQ9InRhcmdldCI+Q29weSBtZTwvc3Bhbj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGY4YmJiN2IzNWQ0NTk2ZDAyMTk4Yjg1NjFhZmJiMmRkZWZjNDFmMmQuLjNmY2QyMjBk
ZWRlNTlkMDZmODE5YWE4ZGFkODc5MjYxMGE1MTgwN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjAyLDYgKzEyMDIsNyBAQCB3ZWJraXQub3JnL2Iv
MjAzMTAwIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1nZXQtdHlwZS13aXRoLW9s
ZC1pdGVtcy5odAogd2Via2l0Lm9yZy9iLzIwMzEwMCBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtY2hhbmdlLWRhdGEtd2hpbGUtd3JpdGluZy5odG1sIFsgU2tpcCBdCiB3ZWJraXQu
b3JnL2IvMjAzMTAwIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cml0ZS1iYXNp
Yy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjAzMTAwIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC13cml0ZS1pdGVtcy10d2ljZS5odG1sIFsgU2tpcCBdCit3ZWJraXQub3Jn
L2IvMjAzMTAwIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cml0ZS1pbi1jb3B5
LWV2ZW50LWhhbmRsZXIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIwMzEwMCBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JpdGUtdGV4dC5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvMjAzMTAwIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1kby1ub3Qt
cmVhZC10ZXh0LWZyb20tcGxhdGZvcm0taWYtdGV4dC1jaGFuZ2VzLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8yMDMxMDAgZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLXJlYWQt
dGV4dC1mcm9tLXBsYXRmb3JtLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>