<?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>212933</bug_id>
          
          <creation_ts>2020-06-08 16:02:23 -0700</creation_ts>
          <short_desc>GameController.framework gamepads should support Home buttons</short_desc>
          <delta_ts>2020-07-10 17:09:32 -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>WebKit API</component>
          <version>Safari 13</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>goehdavi</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>juberti</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1660452</commentid>
    <comment_count>0</comment_count>
    <who name="">goehdavi</who>
    <bug_when>2020-06-08 16:02:23 -0700</bug_when>
    <thetext>Testing on iOS and iPadOS 13.4.1 has revealed that Xbox and PS4 controllers are detected and input events are received over Bluetooth, but some buttons are missing and D-Pad buttons are received as axes input. Looking at the WebKit GameControllerGamepad (https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm) implementation on GitHub it appears that the WebKit Game Controller Framework (https://developer.apple.com/documentation/gamecontroller) integration doesn’t include the new controller buttons added to GCF last year (https://developer.apple.com/videos/play/wwdc2019/616/). For instance, buttonMenu (https://developer.apple.com/documentation/gamecontroller/gcextendedgamepad/3237238-buttonmenu) appears to be missing. Can WebKit fix the the DPad and add the additional buttons?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660508</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-08 17:13:52 -0700</bug_when>
    <thetext>rdar://problem/63500696</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664813</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Uberti">juberti</who>
    <bug_when>2020-06-20 19:03:13 -0700</bug_when>
    <thetext>This looks like a pretty straightforward change. Is any work planned here? If not, happy to contribute a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667642</commentid>
    <comment_count>3</comment_count>
    <who name="">goehdavi</who>
    <bug_when>2020-06-30 11:39:33 -0700</bug_when>
    <thetext>Looks like the changes have been made: https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm#L100. However, it still doesn&apos;t appear to work on Safari on iOS 13.5.1 (testing with https://html5gamepad.com/). When will this be deployed to iOS and iPadOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667662</commentid>
    <comment_count>4</comment_count>
    <who name="Justin Uberti">juberti</who>
    <bug_when>2020-06-30 12:10:19 -0700</bug_when>
    <thetext>Agreed, also doesn&apos;t work in Safari Mac 14.0, or in Safari iPadOS 14 beta 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667960</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-07-01 09:02:10 -0700</bug_when>
    <thetext>(In reply to goehdavi from comment #3)
&gt; When will this be deployed to iOS and iPadOS?

That&apos;s a question beyond the WebKit open source project - Apple releases those products, and generally doesn&apos;t comment on future releases, etc.

(In reply to Justin Uberti from comment #4)
&gt; Agreed, also doesn&apos;t work in Safari Mac 14.0, or in Safari iPadOS 14 beta 1.

These are two different issues.

1st is that macOS WebKit doesn&apos;t use GC framework.

2nd is that there&apos;s a known issues in another system component preventing all Gamepads from work on iOS 14 beta 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668026</commentid>
    <comment_count>6</comment_count>
    <who name="Justin Uberti">juberti</who>
    <bug_when>2020-07-01 12:40:22 -0700</bug_when>
    <thetext>Thanks, I understand that there are a number of moving parts and organizational complexities here, and appreciate the clarification regarding the root cause of the iOS 14b1 issues.

Anything you can share regarding GC provider on macOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670460</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-07-10 08:57:22 -0700</bug_when>
    <thetext>This bug got way overloaded with lots of various Gamepad issues.

I&apos;m going back to the original report:

&quot;Gamepad support on iOS doesn&apos;t support the new GameControllerFramework buttons like Menu and Options&quot;

That support was added in https://trac.webkit.org/changeset/256215/webkit, and I believe is working in iOS 14 b2 (which fixed the general &quot;Gamepads aren&apos;t working&quot; bug)

However, there&apos;s yet-another-button that would be great to support and that&apos;s the Home button.

So let&apos;s repurpose this bug for that.

Whoever feels like other things discussed here still deserve discussion, please make separate bugzillas for separate issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670466</commentid>
    <comment_count>8</comment_count>
      <attachid>403971</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-07-10 09:06:43 -0700</bug_when>
    <thetext>Created attachment 403971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670512</commentid>
    <comment_count>9</comment_count>
      <attachid>403971</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-10 11:57:38 -0700</bug_when>
    <thetext>Comment on attachment 403971
Patch

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

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:57
&gt; +static GCControllerButtonInput *homeButtonFromExtendedGamepad(GCExtendedGamepad *gamepad)

I don&apos;t love the `valueForKey`s. Is there an SPI property you can use? Is the string available anywhere?

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:78
&gt; +    m_buttonValues.resize(homeButton ? 17 : 16);

These magic numbers are pretty weird!

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:114
&gt; +        bindButton(homeButton, 16);

Do the numbers match something in another project, or are they ours? If they&apos;re ours, can we structure this in a less bizarre way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670584</commentid>
    <comment_count>10</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-07-10 14:46:56 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #9)
&gt; Comment on attachment 403971 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=403971&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:57
&gt; &gt; +static GCControllerButtonInput *homeButtonFromExtendedGamepad(GCExtendedGamepad *gamepad)
&gt; 
&gt; I don&apos;t love the `valueForKey`s. Is there an SPI property you can use? Is
&gt; the string available anywhere?

For the underscored version, this is it.
For the non-underscored I can do something different.

&gt; &gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:78
&gt; &gt; +    m_buttonValues.resize(homeButton ? 17 : 16);
&gt; 
&gt; These magic numbers are pretty weird!

They are from the &quot;standard layout&quot; of the Gamepad API
&gt; 
&gt; &gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:114
&gt; &gt; +        bindButton(homeButton, 16);
&gt; 
&gt; Do the numbers match something in another project, or are they ours?

They&apos;re ours (Gamepad API spec)

&gt; If they&apos;re ours, can we structure this in a less bizarre way?

The whole thing could be structured more better. I&apos;ll fix it up in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670615</commentid>
    <comment_count>11</comment_count>
      <attachid>404010</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-07-10 15:31:49 -0700</bug_when>
    <thetext>Created attachment 404010
PFL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670654</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-10 16:34:49 -0700</bug_when>
    <thetext>Committed r264246: &lt;https://trac.webkit.org/changeset/264246&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404010.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670667</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-07-10 17:09:32 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #10)
&gt; (In reply to Tim Horton from comment #9)
&gt; &gt; Do the numbers match something in another project, or are they ours?
&gt; 
&gt; They&apos;re ours (Gamepad API spec)
&gt; 
&gt; &gt; If they&apos;re ours, can we structure this in a less bizarre way?
&gt; 
&gt; The whole thing could be structured more better. I&apos;ll fix it up in a
&gt; separate patch.

Fixing over in https://bugs.webkit.org/show_bug.cgi?id=214210</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403971</attachid>
            <date>2020-07-10 09:06:43 -0700</date>
            <delta_ts>2020-07-10 11:57:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5167</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNzhhZjZiZTdmMTQuLmU4OWMwNzVkNjFhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIwLTA3LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBHYW1lQ29udHJvbGxlci5mcmFtZXdvcmsgZ2FtZXBhZHMgc2hvdWxkIHN1
cHBvcnQgSG9tZSBidXR0b25zLgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM1MDA2OTY+IGFu
ZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChD
YW5ub3QgeWV0IGRyaXZlIEdhbWVDb250cm9sbGVyIGZyYW1ld29yayBkaXJlY3RseSBpbiB0ZXN0
cykKKworICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1l
cGFkLm1tOgorICAgICAgICAoV2ViQ29yZTo6aG9tZUJ1dHRvbkZyb21FeHRlbmRlZEdhbWVwYWQp
OiBUcnkgYSBmZXcgZGlmZmVyZW50IHRlY2huaXF1ZXMgb2YgZXh0cmFjdGluZyB0aGUgaG9tZSBi
dXR0b24KKyAgICAgICAgICBmcm9tIGEgR0NFeHRlbmRlZEdhbWVwYWQuCisgICAgICAgIChXZWJD
b3JlOjpHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQpOiBJZiB0
aGVyZSdzIGEgaG9tZSBidXR0b24sIHB1dCBpdCBhdCBidXR0b24gaW5kZXggMTYsCisgICAgICAg
ICAgZGVmaW5lZCBieSB0aGUgc3BlYyBhcyAiQ2VudGVyIGJ1dHRvbiBpbiBjZW50ZXIgY2x1c3Rl
ciIKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyU29mdExp
bmsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyU29m
dExpbmsubW06CisKIDIwMjAtMDctMDkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29t
PgogCiAgICAgICAgIE11bHRpcGxleCB0aGUgSElEIGFuZCBHYW1lQ29udHJvbGxlciBnYW1lcGFk
IHByb3ZpZGVycyBvbiBNYWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
YW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCmluZGV4IDY1MGMx
NTk5ZjljZC4uMDg3OGY3NzM1YjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQpAQCAt
MjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAjaW1wb3J0ICJHYW1lQ29udHJv
bGxlckdhbWVwYWRQcm92aWRlci5oIgorI2ltcG9ydCAiR2FtZUNvbnRyb2xsZXJTb2Z0TGluay5o
IgogI2ltcG9ydCA8R2FtZUNvbnRyb2xsZXIvR2FtZUNvbnRyb2xsZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNTMsNiArNTQsMTkgQEAgR2FtZUNvbnRyb2xsZXJHYW1lcGFkOjpHYW1l
Q29udHJvbGxlckdhbWVwYWQoR0NDb250cm9sbGVyICpjb250cm9sbGVyLCB1bnNpZ25lZAogICAg
ICAgICBzZXR1cEFzR2FtZXBhZCgpOwogfQogCitzdGF0aWMgR0NDb250cm9sbGVyQnV0dG9uSW5w
dXQgKmhvbWVCdXR0b25Gcm9tRXh0ZW5kZWRHYW1lcGFkKEdDRXh0ZW5kZWRHYW1lcGFkICpnYW1l
cGFkKQoreworICAgIGlkIHBvdGVudGlhbEJ1dHRvbiA9IFtnYW1lcGFkIHZhbHVlRm9yS2V5OkAi
YnV0dG9uSG9tZSJdOworICAgIGlmIChwb3RlbnRpYWxCdXR0b24gJiYgW3BvdGVudGlhbEJ1dHRv
biBpc0tpbmRPZkNsYXNzOmdldEdDQ29udHJvbGxlckJ1dHRvbklucHV0Q2xhc3MoKV0pCisgICAg
ICAgIHJldHVybiBwb3RlbnRpYWxCdXR0b247CisKKyAgICBwb3RlbnRpYWxCdXR0b24gPSBbZ2Ft
ZXBhZCB2YWx1ZUZvcktleTpAIl9idXR0b25Ib21lIl07CisgICAgaWYgKHBvdGVudGlhbEJ1dHRv
biAmJiBbcG90ZW50aWFsQnV0dG9uIGlzS2luZE9mQ2xhc3M6Z2V0R0NDb250cm9sbGVyQnV0dG9u
SW5wdXRDbGFzcygpXSkKKyAgICAgICAgcmV0dXJuIHBvdGVudGlhbEJ1dHRvbjsKKworICAgIHJl
dHVybiBuaWw7Cit9CisKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5k
ZWRHYW1lcGFkKCkKIHsKICAgICBBU1NFUlQobV9leHRlbmRlZEdhbWVwYWQpOwpAQCAtNjAsMTQg
Kzc0LDE1IEBAIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5kZWRHYW1l
cGFkKCkKICAgICBtX2lkID0gbWFrZVN0cmluZyhTdHJpbmcobV9nY0NvbnRyb2xsZXIuZ2V0KCku
dmVuZG9yTmFtZSksICIgRXh0ZW5kZWQgR2FtZXBhZCJfcyk7CiAgICAgbV9tYXBwaW5nID0gU3Ry
aW5nKCJzdGFuZGFyZCIpOwogCisgICAgYXV0byAqaG9tZUJ1dHRvbiA9IGhvbWVCdXR0b25Gcm9t
RXh0ZW5kZWRHYW1lcGFkKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpKTsKKyAgICBtX2J1dHRvblZh
bHVlcy5yZXNpemUoaG9tZUJ1dHRvbiA/IDE3IDogMTYpOworCiAgICAgbV9leHRlbmRlZEdhbWVw
YWQuZ2V0KCkudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NFeHRlbmRlZEdhbWVwYWQgKiwgR0ND
b250cm9sbGVyRWxlbWVudCAqKSB7CiAgICAgICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKICAgICAgICAgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnNp
bmdsZXRvbigpLmdhbWVwYWRIYWRJbnB1dCgqdGhpcywgbV9oYWRCdXR0b25QcmVzc2VzKTsKICAg
ICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gZmFsc2U7CiAgICAgfTsKIAotICAgIG1fYnV0dG9u
VmFsdWVzLnJlc2l6ZSgxNik7Ci0KICAgICBhdXRvIGJpbmRCdXR0b24gPSBeKEdDQ29udHJvbGxl
ckJ1dHRvbklucHV0ICpidXR0b24sIHNpemVfdCBpZHgpIHsKICAgICAgICAgbV9idXR0b25WYWx1
ZXNbaWR4XSA9IGJ1dHRvbi52YWx1ZTsKICAgICAgICAgYnV0dG9uLnZhbHVlQ2hhbmdlZEhhbmRs
ZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNz
ZWQpIHsKQEAgLTk1LDYgKzExMCw5IEBAIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1
cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdl
dCgpLmRwYWQubGVmdCwgMTQpOwogICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkuZHBhZC5yaWdodCwgMTUpOwogCisgICAgaWYgKGhvbWVCdXR0b24pCisgICAgICAgIGJpbmRC
dXR0b24oaG9tZUJ1dHRvbiwgMTYpOworCiAgICAgLy8gU2VsZWN0LCBTdGFydAogI2lmIEhBVkUo
R0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19PUFRJT05TX01FTlUpCiAgICAgYmluZEJ1dHRvbiht
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25PcHRpb25zLCA4KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJTb2Z0TGlu
ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
clNvZnRMaW5rLmgKaW5kZXggMTM5ZTJiOTM1MWVjLi4yMDBjM2RkNjg3OTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJTb2Z0
TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNv
bnRyb2xsZXJTb2Z0TGluay5oCkBAIC0zMiw2ICszMiw3IEBACiAKIFNPRlRfTElOS19GUkFNRVdP
UktfRk9SX0hFQURFUihXZWJDb3JlLCBHYW1lQ29udHJvbGxlcikKIFNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFdlYkNvcmUsIEdDQ29udHJvbGxlcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFdlYkNvcmUsIEdDQ29udHJvbGxlckJ1dHRvbklucHV0KQogCiBTT0ZUX0xJTktfQ09OU1RB
TlRfTUFZX0ZBSUxfRk9SX0hFQURFUihXZWJDb3JlLCBHYW1lQ29udHJvbGxlciwgR0NDb250cm9s
bGVyRGlkQ29ubmVjdE5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKikKIFNPRlRfTElOS19DT05TVEFO
VF9NQVlfRkFJTF9GT1JfSEVBREVSKFdlYkNvcmUsIEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xs
ZXJEaWREaXNjb25uZWN0Tm90aWZpY2F0aW9uLCBOU1N0cmluZyAqKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlclNvZnRMaW5r
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
clNvZnRMaW5rLm1tCmluZGV4IDE3NjYyYTM5YzAyOS4uNmIzOGFkMjBhYTVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyU29m
dExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1l
Q29udHJvbGxlclNvZnRMaW5rLm1tCkBAIC0zMiw2ICszMiw3IEBACiAKIFNPRlRfTElOS19GUkFN
RVdPUktfRk9SX1NPVVJDRShXZWJDb3JlLCBHYW1lQ29udHJvbGxlcikKIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX09QVElPTkFMKFdlYkNvcmUsIEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xs
ZXIpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTChXZWJDb3JlLCBHYW1lQ29u
dHJvbGxlciwgR0NDb250cm9sbGVyQnV0dG9uSW5wdXQpCiAKIFNPRlRfTElOS19DT05TVEFOVF9N
QVlfRkFJTF9GT1JfU09VUkNFKFdlYkNvcmUsIEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xsZXJE
aWRDb25uZWN0Tm90aWZpY2F0aW9uLCBOU1N0cmluZyAqKQogU09GVF9MSU5LX0NPTlNUQU5UX01B
WV9GQUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRp
ZERpc2Nvbm5lY3ROb3RpZmljYXRpb24sIE5TU3RyaW5nICopCg==
</data>
<flag name="review"
          id="419378"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404010</attachid>
            <date>2020-07-10 15:31:49 -0700</date>
            <delta_ts>2020-07-10 16:34:49 -0700</delta_ts>
            <desc>PFL</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6270</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYjgwYzM5YTkzMDc1Li4yODUxYmU5MDU1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDctMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEdh
bWVDb250cm9sbGVyLmZyYW1ld29yayBnYW1lcGFkcyBzaG91bGQgc3VwcG9ydCBIb21lIGJ1dHRv
bnMuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzUwMDY5Nj4gYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5MzMKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIwLTA3LTEw
ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dTdHJlYW1lcl1bRU1FXVtPcGVuQ0RNXSBJbXBsZW1lbnQgT3BlbkNETSBzdXBwb3J0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCmluZGV4IGVjYzIzYWZmODVhOC4uZTQ3YTc0NWM2Y2Q4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUhhdmUuaApAQCAtNTc0LDYgKzU3NCwxMCBAQAogI2RlZmluZSBIQVZFX01VTFRJR0FN
RVBBRFBST1ZJREVSX1NVUFBPUlQgMQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYwMCkgfHwgKFBMQVRGT1JNKElP
U19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkK
KyNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FNRVBBRF9IT01FX0JVVFRPTiAxCisjZW5kaWYKKwog
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNjAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTQwMDAwKQogI2RlZmluZSBIQVZFX1dFQlAgMQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYTM3MmU5OThiYmMxLi5mOGVmNzg0ZWY3YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAyMC0wNy0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgR2FtZUNvbnRyb2xsZXIuZnJhbWV3b3JrIGdhbWVwYWRzIHNob3VsZCBzdXBwb3J0
IEhvbWUgYnV0dG9ucy4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTAwNjk2PiBhbmQgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjkzMworCisgICAgICAgIFJl
dmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChDYW5ub3QgeWV0
IGRyaXZlIEdhbWVDb250cm9sbGVyIGZyYW1ld29yayBkaXJlY3RseSBpbiB0ZXN0cykKKworICAg
ICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6aG9tZUJ1dHRvbkZyb21FeHRlbmRlZEdhbWVwYWQpOiBUcnkgYSBm
ZXcgZGlmZmVyZW50IHRlY2huaXF1ZXMgb2YgZXh0cmFjdGluZyB0aGUgaG9tZSBidXR0b24KKyAg
ICAgICAgICBmcm9tIGEgR0NFeHRlbmRlZEdhbWVwYWQuCisgICAgICAgIChXZWJDb3JlOjpHYW1l
Q29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQpOiBJZiB0aGVyZSdzIGEg
aG9tZSBidXR0b24sIHB1dCBpdCBhdCBidXR0b24gaW5kZXggMTYsCisgICAgICAgICAgZGVmaW5l
ZCBieSB0aGUgc3BlYyBhcyAiQ2VudGVyIGJ1dHRvbiBpbiBjZW50ZXIgY2x1c3RlciIKKyAgICAg
ICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyU29mdExpbmsuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyU29mdExpbmsubW06
CisKIDIwMjAtMDctMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIExpbWl0IE11bHRpR2FtZXBhZFByb3ZpZGVyIHRvIENhdGFsaW5hIGFuZCBCaWcgU3VyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29h
L0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQppbmRleCA2NTBjMTU5OWY5Y2QuLjhmNzVkZWFlNmFi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1l
Q29udHJvbGxlckdhbWVwYWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0KQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lm
IEVOQUJMRShHQU1FUEFEKQogI2ltcG9ydCAiR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIu
aCIKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyU29mdExpbmsuaCIKICNpbXBvcnQgPEdhbWVDb250
cm9sbGVyL0dhbWVDb250cm9sbGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDYg
KzU0LDIwIEBAIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6R2FtZUNvbnRyb2xsZXJHYW1lcGFkKEdD
Q29udHJvbGxlciAqY29udHJvbGxlciwgdW5zaWduZWQKICAgICAgICAgc2V0dXBBc0dhbWVwYWQo
KTsKIH0KIAorc3RhdGljIEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICpob21lQnV0dG9uRnJvbUV4
dGVuZGVkR2FtZXBhZChHQ0V4dGVuZGVkR2FtZXBhZCAqZ2FtZXBhZCkKK3sKKyNpZiBIQVZFKEdD
RVhURU5ERURHQU1FUEFEX0hPTUVfQlVUVE9OKQorICAgIGlmIChnYW1lcGFkLmJ1dHRvbkhvbWUp
CisgICAgICAgIHJldHVybiBnYW1lcGFkLmJ1dHRvbkhvbWU7CisjZW5kaWYKKworICAgIGlkIHBv
dGVudGlhbEJ1dHRvbiA9IFtnYW1lcGFkIHZhbHVlRm9yS2V5OkAiX2J1dHRvbkhvbWUiXTsKKyAg
ICBpZiAocG90ZW50aWFsQnV0dG9uICYmIFtwb3RlbnRpYWxCdXR0b24gaXNLaW5kT2ZDbGFzczpn
ZXRHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dENsYXNzKCldKQorICAgICAgICByZXR1cm4gcG90ZW50
aWFsQnV0dG9uOworCisgICAgcmV0dXJuIG5pbDsKK30KKwogdm9pZCBHYW1lQ29udHJvbGxlckdh
bWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQoKQogewogICAgIEFTU0VSVChtX2V4dGVuZGVk
R2FtZXBhZCk7CkBAIC02MCwxNCArNzUsMTUgQEAgdm9pZCBHYW1lQ29udHJvbGxlckdhbWVwYWQ6
OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQoKQogICAgIG1faWQgPSBtYWtlU3RyaW5nKFN0cmluZyht
X2djQ29udHJvbGxlci5nZXQoKS52ZW5kb3JOYW1lKSwgIiBFeHRlbmRlZCBHYW1lcGFkIl9zKTsK
ICAgICBtX21hcHBpbmcgPSBTdHJpbmcoInN0YW5kYXJkIik7CiAKKyAgICBhdXRvICpob21lQnV0
dG9uID0gaG9tZUJ1dHRvbkZyb21FeHRlbmRlZEdhbWVwYWQobV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkpOworICAgIG1fYnV0dG9uVmFsdWVzLnJlc2l6ZShob21lQnV0dG9uID8gMTcgOiAxNik7CisK
ICAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0V4
dGVuZGVkR2FtZXBhZCAqLCBHQ0NvbnRyb2xsZXJFbGVtZW50ICopIHsKICAgICAgICAgbV9sYXN0
VXBkYXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICBHYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuZ2FtZXBhZEhhZElucHV0KCp0aGlzLCBtX2hh
ZEJ1dHRvblByZXNzZXMpOwogICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSBmYWxzZTsKICAg
ICB9OwogCi0gICAgbV9idXR0b25WYWx1ZXMucmVzaXplKDE2KTsKLQogICAgIGF1dG8gYmluZEJ1
dHRvbiA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKmJ1dHRvbiwgc2l6ZV90IGlkeCkgewog
ICAgICAgICBtX2J1dHRvblZhbHVlc1tpZHhdID0gYnV0dG9uLnZhbHVlOwogICAgICAgICBidXR0
b24udmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxv
YXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkgewpAQCAtOTUsNiArMTExLDkgQEAgdm9pZCBHYW1lQ29u
dHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQoKQogICAgIGJpbmRCdXR0b24o
bV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC5sZWZ0LCAxNCk7CiAgICAgYmluZEJ1dHRvbiht
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnJpZ2h0LCAxNSk7CiAKKyAgICBpZiAoaG9tZUJ1
dHRvbikKKyAgICAgICAgYmluZEJ1dHRvbihob21lQnV0dG9uLCAxNik7CisKICAgICAvLyBTZWxl
Y3QsIFN0YXJ0CiAjaWYgSEFWRShHQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX09QVElPTlNfTUVO
VSkKICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk9wdGlvbnMs
IDgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9H
YW1lQ29udHJvbGxlclNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyU29mdExpbmsuaAppbmRleCA2ZjZiOTZiYzA2ZDcuLjQ0NTg5
MDk3ZTcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlclNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlclNvZnRMaW5rLmgKQEAgLTMyLDYgKzMyLDcgQEAK
IAogU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVBREVSKFdlYkNvcmUsIEdhbWVDb250cm9sbGVy
KQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViQ29yZSwgR0NDb250cm9sbGVyKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViQ29yZSwgR0NDb250cm9sbGVyQnV0dG9uSW5wdXQp
CiAKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9GT1JfSEVBREVSKFdlYkNvcmUsIEdhbWVD
b250cm9sbGVyLCBHQ0NvbnRyb2xsZXJEaWRDb25uZWN0Tm90aWZpY2F0aW9uLCBOU1N0cmluZyAq
KQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9IRUFERVIoV2ViQ29yZSwgR2FtZUNv
bnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nvbm5lY3ROb3RpZmljYXRpb24sIE5TU3RyaW5n
ICopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dh
bWVDb250cm9sbGVyU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyU29mdExpbmsubW0KaW5kZXggYWU1OWZkMjBlYWQzLi4zZjk5
Mzc2MmIwOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29j
b2EvR2FtZUNvbnRyb2xsZXJTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyU29mdExpbmsubW0KQEAgLTMyLDYgKzMyLDcg
QEAKIAogU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFKFdlYkNvcmUsIEdhbWVDb250cm9s
bGVyKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUwoV2ViQ29yZSwgR2FtZUNv
bnRyb2xsZXIsIEdDQ29udHJvbGxlcikKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElP
TkFMKFdlYkNvcmUsIEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCkKIAog
U09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgR2FtZUNvbnRy
b2xsZXIsIEdDQ29udHJvbGxlckRpZENvbm5lY3ROb3RpZmljYXRpb24sIE5TU3RyaW5nICopCiBT
T0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NPVVJDRShXZWJDb3JlLCBHYW1lQ29udHJv
bGxlciwgR0NDb250cm9sbGVyRGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKikK
</data>

          </attachment>
      

    </bug>

</bugzilla>