<?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>197950</bug_id>
          
          <creation_ts>2019-05-16 10:13:23 -0700</creation_ts>
          <short_desc>[iOS] Select all with existing range selection replaces range instead of selecting all text</short_desc>
          <delta_ts>2019-06-27 16:06:57 -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 Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>190571</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>megan_gardner</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1536823</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-05-16 10:13:23 -0700</bug_when>
    <thetext>Following the UIKit fix in &lt;rdar://problem/47333786&gt;, UIKit now asks the WebKit whether it can handle Command + A as &quot;select all&quot; BEFORE it tells WebKit to do it. If WebKit saids it cannot perform the &quot;select all&quot; then UIKit does not tell WebKit to do it and WebKit now thinks it should insert the &quot;a&quot;.

Steps to reproduce:

1. Visit &lt;data:text/html,&lt;input type=&quot;text&quot; value=&quot;Select the last word&quot;&gt;&gt;.
2. Select the last word in the text field.
3. Press Command + a.

Then the text field&apos;s content is updated to read Select the last a. But no modification should have occurred and the entire contents of the field should have been selected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536824</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-05-16 10:13:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/50245131&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536828</commentid>
    <comment_count>2</comment_count>
      <attachid>370048</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-05-16 10:24:23 -0700</bug_when>
    <thetext>Created attachment 370048
Patch and layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537166</commentid>
    <comment_count>3</comment_count>
      <attachid>370048</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-17 11:06:17 -0700</bug_when>
    <thetext>Comment on attachment 370048
Patch and layout test

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:3000
&gt; +        return !editorState.selectionIsNone &amp;&amp; self.hasContent;

This might also mean that the callout bar when there&apos;s a ranged selection will now contain &quot;Select All&quot;, but I don&apos;t think that is necessarily a bad thing :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537310</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-05-17 16:10:45 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 370048 [details]
&gt; Patch and layout test
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=370048&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:3000
&gt; &gt; +        return !editorState.selectionIsNone &amp;&amp; self.hasContent;
&gt; 
&gt; This might also mean that the callout bar when there&apos;s a ranged selection
&gt; will now contain &quot;Select All&quot;, but I don&apos;t think that is necessarily a bad
&gt; thing :)

It&apos;s a nice feature, but it doesn&apos;t match platform conventions. So, I&apos;ll need to fix up the patch before landing to keep differentiate between when the keyboard is asking and when the callout bar is asking to give different answers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537320</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-05-17 16:27:27 -0700</bug_when>
    <thetext>Looks like I&apos;ll need to make a UIKit change to be able to know who called canPerformAction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548652</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-27 16:04:16 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #5)
&gt; Looks like I&apos;ll need to make a UIKit change to be able to know who called
&gt; canPerformAction

No UIKit change necessary callout bar calls -canPerformAction with sender UIMenuController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548653</commentid>
    <comment_count>7</comment_count>
      <attachid>373063</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-27 16:05:08 -0700</bug_when>
    <thetext>Created attachment 373063
To land

Do what we do now if -canPerformAction is called by the callout menu code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548655</commentid>
    <comment_count>8</comment_count>
      <attachid>373063</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-27 16:06:55 -0700</bug_when>
    <thetext>Comment on attachment 373063
To land

Clearing flags on attachment: 373063

Committed r246908: &lt;https://trac.webkit.org/changeset/246908&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548656</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-06-27 16:06:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370048</attachid>
            <date>2019-05-16 10:24:23 -0700</date>
            <delta_ts>2019-06-27 16:05:06 -0700</delta_ts>
            <desc>Patch and layout test</desc>
            <filename>bug-197950-20190516102422.patch</filename>
            <type>text/plain</type>
            <size>6131</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIyNWE4YjU0OWJkMGIyZGQz
ZmMxYTViYTA5MTRjNjBiZWNiOTE5MmMuLjMxMWY5MzE2NjliYzEzOWJjMzYyZGE3Y2E1ODVhZTA1
YTcyODVmOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDUtMTYgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNlbGVjdCBhbGwgd2l0
aCBleGlzdGluZyByYW5nZSBzZWxlY3Rpb24gcmVwbGFjZXMgcmFuZ2UgaW5zdGVhZCBvZiBzZWxl
Y3RpbmcgYWxsIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5Nzk1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTAyNDUxMzE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sbG93aW5nIDxyZGFy
Oi8vcHJvYmxlbS80NzMzMzc4Nj4sIFVJS2l0IG5vdyBhc2tzIFdlYktpdCB3aGV0aGVyIGl0IGNh
biBoYW5kbGUgQ29tbWFuZCArIEEgYXMKKyAgICAgICAgInNlbGVjdCBhbGwiIGluc3RlYWQgb2Yg
anVzdCBkZW1hbmRpbmcgdGhhdCB3ZSBoYW5kbGUgaXQuIFNvLCBXZWJLaXQgbmVlZHMgdG8gYmUg
YWJsZSB0byBjb3JyZWN0bHkKKyAgICAgICAgdGVsbCBVSUtpdCBpbiBhZHZhbmNlIHdoZXRoZXIg
aXQgY2FuIGhhbmRsZSBpdC4gQ3VycmVubHR5IFdlYktpdCB0ZWxscyBVSUtpdCBpdCBjYW5ub3Qg
aGFuZGxlIGEKKyAgICAgICAgInNlbGVjdCBhbGwiIHdoZW5ldmVyIHRoZXJlIGlzIGFuIGV4aXN0
aW5nIHJhbmdlIHNlbGVjdGlvbi4gU28sIFVJS2l0IGRvZXMgbm90IHRlbGwgV2ViS2l0IHRvCisg
ICAgICAgIHBlcmZvcm0gdGhlICJzZWxlY3QgYWxsIi4gTW9yZW92ZXIsIHNpbmNlIFVJS2l0IGhh
cyBubyBvdGhlciBtZWFucyB0byBoYW5kbGUgdGhpcyBrZXkgY29tbWFuZAorICAgICAgICBpdHNl
bGYgaXQgdGVsbHMgV2ViS2l0IHRoZSBrZXkgY29tbWFuZCB3YXMgbm90IGhhbmRsZWQuIFNvLCBX
ZWJLaXQgdGVsbHMgdGhlIGtleWJvYXJkIHRvIGluc2VydAorICAgICAgICB0aGUgImEiLiBJbnN0
ZWFkLCBXZWJLaXQgc2hvdWxkIHRlbGwgVUlLaXQgaXQgY2FuIGhhbmRsZSBhICJzZWxlY3QgYWxs
IiBldmVuIHdoZW4gdGhpcyBpcyBhbgorICAgICAgICBleGlzdGluZyByYW5nZSBzZWxlY3Rpb24u
IFRoaXMgZml4ZXMgdGhlIGJ1ZyBhbmQgbWFrZXMgV2ViS2l0J3MgYmVoYXZpb3IgbWF0Y2ggcGxh
dGZvcm0gY29udmVudGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNhblBlcmZvcm1BY3Rp
b25Gb3JXZWJWaWV3OndpdGhTZW5kZXI6XSk6CisKIDIwMTktMDUtMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBbGxvdyBOU0ZpbGVDb29y
ZGluYXRvciB0byBiZSBjYWxsZWQgZnJvbSBXZWJDb250ZW50IHByb2Nlc3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
CmluZGV4IGI4YWE0MzVhNDk5MjIyOGQxOGNkNTgxMmM1NGM4MzZmMzkzN2E2YTYuLjI4Y2ZhMTg5
OGQ0YmQ3NGRmNTAyZjM2MWI3ODRmNmZjOWYyOTU0MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMjk5
Nyw5ICsyOTk3LDcgQEAgLSAoQk9PTCljYW5QZXJmb3JtQWN0aW9uRm9yV2ViVmlldzooU0VMKWFj
dGlvbiB3aXRoU2VuZGVyOihpZClzZW5kZXIKICAgICB9CiAKICAgICBpZiAoYWN0aW9uID09IEBz
ZWxlY3RvcihzZWxlY3RBbGw6KSkgewotICAgICAgICBpZiAoIWVkaXRvclN0YXRlLnNlbGVjdGlv
bklzTm9uZSAmJiAhZWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNSYW5nZSkKLSAgICAgICAgICAgIHJl
dHVybiBZRVM7Ci0gICAgICAgIHJldHVybiBOTzsKKyAgICAgICAgcmV0dXJuICFlZGl0b3JTdGF0
ZS5zZWxlY3Rpb25Jc05vbmUgJiYgc2VsZi5oYXNDb250ZW50OwogICAgIH0KIAogICAgIGlmIChh
Y3Rpb24gPT0gQHNlbGVjdG9yKHJlcGxhY2U6KSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZTE0NzE4YjkxYzAyNzkwMzFj
YjlhNjVjNjIxODg2ZDkwYTgzOTRkLi5mMjNkNzRkOGJlZTZkYWYxNDc1YWUzOTRkNzI5YWViYzA2
OTdhM2QxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDUtMTYgIERhbmllbCBCYXRlcyAg
PGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNlbGVjdCBhbGwgd2l0aCBleGlz
dGluZyByYW5nZSBzZWxlY3Rpb24gcmVwbGFjZXMgcmFuZ2UgaW5zdGVhZCBvZiBzZWxlY3Rpbmcg
YWxsIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Nzk1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTAyNDUxMzE+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBlbnN1cmUg
dGhhdCBwcmVzc2luZyBDb21tYW5kICsgQSBwZXJmb3JtcyBhICJzZWxlY3QgYWxsIiBldmVuIHdo
ZW4gdGhlcmUKKyAgICAgICAgaXMgYW4gZXhpc3RpbmcgcmFuZ2Ugc2VsZWN0aW9uLgorCisgICAg
ICAgICogZmFzdC9ldmVudHMvaW9zL3NlbGVjdC1hbGwtd2l0aC1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mvc2VsZWN0LWFs
bC13aXRoLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxOC0xMi0wNSAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWRkIHRlc3Qg
dG8gZW5zdXJlIHRoYXQgYSB3ZWIgcGFnZSBjYW4gcHJldmVudCB0aGUgZGVmYXVsdCBmb3IgQ29t
bWFuZCArIEEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9zZWxlY3Qt
YWxsLXdpdGgtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2lvcy9zZWxlY3QtYWxsLXdpdGgtZXhpc3Rpbmctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNTU3M2YxNDhjZmYxZWQ0ZjA1ZjAxNzZhNTY4MDZlMzUzNmUwYzQx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3NlbGVjdC1h
bGwtd2l0aC1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
K1RoaXMgdGVzdHMgdGhhdCBwcmVzc2luZyBDb21tYW5kICsgQSBzZWxlY3RzIGFsbCB0aGUgdGV4
dCBldmVuIHdoZW4gdGhlcmUgaXMgYW4gZXhpc3RpbmcgcmFuZ2Ugc2VsY3Rpb24uIFRvIHJ1biB0
aGlzIHRlc3QgYnkgaGFuZCwgcHJlc3MgQ29tbWFuZCArIEEuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iikuc2VsZWN0
aW9uU3RhcnQgaXMgMAorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLnNlbGVj
dGlvbkVuZCBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLnZhbHVlLmxlbmd0aAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9zZWxlY3QtYWxsLXdpdGgtZXhpc3Rp
bmctc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mvc2VsZWN0LWFs
bC13aXRoLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyNjJlOGU2N2NkNTRl
NDI2MDAzNzUwOWJkM2I0NmI0Nzg2NjQyNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3Mvc2VsZWN0LWFsbC13aXRoLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRlc3QiIHZhbHVlPSJTZWxlY3QgdGhlIGxhc3Qg
d29yZCI+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlv
biB0ZXN0U2VsZWN0QWxsKCkKK3sKKyAgICBmdW5jdGlvbiBjaGVja1Jlc3VsdEFuZERvbmUoKSB7
CisgICAgICAgIHNob3VsZEJlWmVybygnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5z
ZWxlY3Rpb25TdGFydCcpOworICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3QiKS5zZWxlY3Rpb25FbmQnLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3Qi
KS52YWx1ZS5sZW5ndGgnKTsKKworICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpOworCisgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgIH0KKyAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2Ui
LCBjaGVja1Jlc3VsdEFuZERvbmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIFVJSGVscGVyLmtleURvd24oImEiLCBbIm1ldGFLZXkiXSk7Cit9
CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGxldCB0ZXN0RWxlbWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgY29uc29sZS5hc3NlcnQodGVzdEVsZW1lbnQu
dmFsdWUuaW5kZXhPZigid29yZCIpICE9PSAtMSk7CisgICAgZnVuY3Rpb24gaGFuZGxlRm9jdXMo
KSB7CisgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIs
IHRlc3RTZWxlY3RBbGwsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgdGVzdEVsZW1lbnQuc2V0
U2VsZWN0aW9uUmFuZ2UodGVzdEVsZW1lbnQudmFsdWUuaW5kZXhPZigid29yZCIpLCB0ZXN0RWxl
bWVudC52YWx1ZS5sZW5ndGgpOworICAgIH0KKyAgICB0ZXN0RWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCJmb2N1cyIsIGhhbmRsZUZvY3VzLCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudCh0ZXN0RWxl
bWVudCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RWxlbWVudC5mb2N1cygpOworfQorCitkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHByZXNzaW5nIENvbW1hbmQgKyBBIHNlbGVjdHMgYWxs
IHRoZSB0ZXh0IGV2ZW4gd2hlbiB0aGVyZSBpcyBhbiBleGlzdGluZyByYW5nZSBzZWxjdGlvbi4g
VG8gcnVuIHRoaXMgdGVzdCBieSBoYW5kLCBwcmVzcyBDb21tYW5kICsgQS4iKTsKK3J1blRlc3Qo
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373063</attachid>
            <date>2019-06-27 16:05:08 -0700</date>
            <delta_ts>2019-06-27 16:05:28 -0700</delta_ts>
            <desc>To land</desc>
            <filename>bug-197950-20190627160507.patch</filename>
            <type>text/plain</type>
            <size>6652</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2ODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdjYTBiNzI4MjJmZGVjNDJi
ZWRkM2UzYjZlNDc4MTY2ZjUwZjUzODYuLjIyZWNkOTRmMjIzN2NjODk2Zjc5NGMzMjVjODgxMTc2
NWVlMDEyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMDYtMjcgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNlbGVjdCBhbGwgd2l0
aCBleGlzdGluZyByYW5nZSBzZWxlY3Rpb24gcmVwbGFjZXMgcmFuZ2UgaW5zdGVhZCBvZiBzZWxl
Y3RpbmcgYWxsIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5Nzk1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTAyNDUxMzE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIEZvbGxvd2luZyA8cmRhcjov
L3Byb2JsZW0vNDczMzM3ODY+LCBVSUtpdCBub3cgYXNrcyBXZWJLaXQgd2hldGhlciBpdCBjYW4g
aGFuZGxlIENvbW1hbmQgKyBBIGFzCisgICAgICAgICJzZWxlY3QgYWxsIiBpbnN0ZWFkIG9mIGp1
c3QgZGVtYW5kaW5nIHRoYXQgd2UgaGFuZGxlIGl0LiBTbywgV2ViS2l0IG5lZWRzIHRvIGJlIGFi
bGUgdG8gY29ycmVjdGx5CisgICAgICAgIHRlbGwgVUlLaXQgaW4gYWR2YW5jZSB3aGV0aGVyIGl0
IGNhbiBoYW5kbGUgaXQuIEN1cnJlbmx0eSBXZWJLaXQgdGVsbHMgVUlLaXQgaXQgY2Fubm90IGhh
bmRsZSBhCisgICAgICAgICJzZWxlY3QgYWxsIiB3aGVuZXZlciB0aGVyZSBpcyBhbiBleGlzdGlu
ZyByYW5nZSBzZWxlY3Rpb24uIFNvLCBVSUtpdCBkb2VzIG5vdCB0ZWxsIFdlYktpdCB0bworICAg
ICAgICBwZXJmb3JtIHRoZSAic2VsZWN0IGFsbCIuIE1vcmVvdmVyLCBzaW5jZSBVSUtpdCBoYXMg
bm8gb3RoZXIgbWVhbnMgdG8gaGFuZGxlIHRoaXMga2V5IGNvbW1hbmQKKyAgICAgICAgaXRzZWxm
IGl0IHRlbGxzIFdlYktpdCB0aGUga2V5IGNvbW1hbmQgd2FzIG5vdCBoYW5kbGVkLiBTbywgV2Vi
S2l0IHRlbGxzIHRoZSBrZXlib2FyZCB0byBpbnNlcnQKKyAgICAgICAgdGhlICJhIi4gSW5zdGVh
ZCwgV2ViS2l0IHNob3VsZCB0ZWxsIFVJS2l0IGl0IGNhbiBoYW5kbGUgYSAic2VsZWN0IGFsbCIg
ZXZlbiB3aGVuIHRoaXMgaXMgYW4KKyAgICAgICAgZXhpc3RpbmcgcmFuZ2Ugc2VsZWN0aW9uLiBI
b3dldmVyIHdlIG5lZWQgdG8ga2VlcCB0aGUgY3VycmVudCBsb2dpYyBqdXN0IGZvciB3aGVuIFVJ
S2l0IGlzCisgICAgICAgIGFza2luZyB1cyB3aXRoIHJlc3BlY3QgdG8gcG9wdWxhdGluZyB0aGUg
Y2FsbG91dCBtZW51IHRvIG5vdCByZWdyZXNzIHBsYXRmb3JtIGJlaGF2aW9yLgorCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgY2FuUGVyZm9ybUFjdGlvbkZvcldlYlZpZXc6d2l0aFNlbmRlcjpdKTog
RG8gd2hhdCB3ZSBkbyBub3cgaWYgd2UgYXJlIGNhbGxlZAorICAgICAgICB3aGVuIHBvcHVsYXRp
bmcgdGhlIGNhbGxvdXQgbWVudSBhbmQgYWN0aW9uIGlzIFNlbGVjdCBBbGwuIE90aGVyd2lzZSwg
cmV0dXJuIFlFUyBmb3IgdGhlIFNlbGVjdCBBbGwKKyAgICAgICAgYWN0aW9uIGlmIHdlIGhhdmUg
YSBub24tZW1wdHkgc2VsZWN0aW9uLgorCiAyMDE5LTA2LTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgYWZ0ZXIgcmV2aXNpb24gMjQ2ODc3
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQppbmRleCA3NzFhOTAxZDQ4NGQ1Mjc5MTIyNDM2ZmZmOWZmZjA2ZjM1MDY5
ODBiLi41ZDBkMjYzYWVjYzAwYTM1MDViMDU4YjlkODJiYjAxMGQ2MGNlOGI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KQEAgLTMwNTAsOSArMzA1MCwxMCBAQCAtIChCT09MKWNhblBlcmZvcm1BY3Rpb25Gb3JX
ZWJWaWV3OihTRUwpYWN0aW9uIHdpdGhTZW5kZXI6KGlkKXNlbmRlcgogICAgIH0KIAogICAgIGlm
IChhY3Rpb24gPT0gQHNlbGVjdG9yKHNlbGVjdEFsbDopKSB7Ci0gICAgICAgIGlmICghZWRpdG9y
U3RhdGUuc2VsZWN0aW9uSXNOb25lICYmICFlZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc1JhbmdlKQot
ICAgICAgICAgICAgcmV0dXJuIFlFUzsKLSAgICAgICAgcmV0dXJuIE5POworICAgICAgICAvLyBC
eSBwbGF0Zm9ybSBjb252ZW50aW9uIHdlIGRvbid0IHNob3cgU2VsZWN0IEFsbCBpbiB0aGUgY2Fs
bG91dCBtZW51IGZvciBhIHJhbmdlIHNlbGVjdGlvbi4KKyAgICAgICAgaWYgKFtzZW5kZXIgaXNL
aW5kT2ZDbGFzczpVSU1lbnVDb250cm9sbGVyLmNsYXNzXSkKKyAgICAgICAgICAgIHJldHVybiAh
ZWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNOb25lICYmICFlZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc1Jh
bmdlOworICAgICAgICByZXR1cm4gIWVkaXRvclN0YXRlLnNlbGVjdGlvbklzTm9uZSAmJiBzZWxm
Lmhhc0NvbnRlbnQ7CiAgICAgfQogCiAgICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IocmVwbGFj
ZTopKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDYwMmExMmM3ZjRlY2JkZjZiNDU5YzA4OTRmNWZhZGEyYmI5NWM3MGQuLjlm
ZTg2ODBlMDA5NzFhZjRiZTBmNjY5OTY5ZjlmMGI3ZTY3NTU3YzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxOS0wNi0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gU2VsZWN0IGFsbCB3aXRoIGV4aXN0aW5nIHJhbmdlIHNlbGVjdGlvbiByZXBs
YWNlcyByYW5nZSBpbnN0ZWFkIG9mIHNlbGVjdGluZyBhbGwgdGV4dAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3OTUwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81MDI0NTEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisK
KyAgICAgICAgQWRkIGEgdGVzdCB0byBlbnN1cmUgdGhhdCBwcmVzc2luZyBDb21tYW5kICsgQSBw
ZXJmb3JtcyBhICJzZWxlY3QgYWxsIiBldmVuIHdoZW4gdGhlcmUKKyAgICAgICAgaXMgYW4gZXhp
c3RpbmcgcmFuZ2Ugc2VsZWN0aW9uLgorCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL3NlbGVj
dC1hbGwtd2l0aC1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9pb3Mvc2VsZWN0LWFsbC13aXRoLWV4aXN0aW5nLXNlbGVjdGlvbi5o
dG1sOiBBZGRlZC4KKwogMjAxOS0wNi0yNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAodG91Y2gtYWN0aW9uKTogQ2FuJ3Qgc2Nyb2xsIHZl
cnRpY2FsbHkgd2hlbiB0b3VjaGluZyBhIGhvcml6b250YWxseS1zY3JvbGxhYmxlIGVsZW1lbnQg
b24gaW5zdGFncmFtLmNvbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9z
L3NlbGVjdC1hbGwtd2l0aC1leGlzdGluZy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvaW9zL3NlbGVjdC1hbGwtd2l0aC1leGlzdGluZy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NTczZjE0OGNmZjFlZDRmMDVmMDE3NmE1NjgwNmUz
NTM2ZTBjNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mv
c2VsZWN0LWFsbC13aXRoLWV4aXN0aW5nLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorVGhpcyB0ZXN0cyB0aGF0IHByZXNzaW5nIENvbW1hbmQgKyBBIHNlbGVjdHMgYWxs
IHRoZSB0ZXh0IGV2ZW4gd2hlbiB0aGVyZSBpcyBhbiBleGlzdGluZyByYW5nZSBzZWxjdGlvbi4g
VG8gcnVuIHRoaXMgdGVzdCBieSBoYW5kLCBwcmVzcyBDb21tYW5kICsgQS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3Qi
KS5zZWxlY3Rpb25TdGFydCBpcyAwCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
Iikuc2VsZWN0aW9uRW5kIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikudmFsdWUu
bGVuZ3RoCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3NlbGVjdC1hbGwtd2l0
aC1leGlzdGluZy1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9z
ZWxlY3QtYWxsLXdpdGgtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjI2MmU4
ZTY3Y2Q1NGU0MjYwMDM3NTA5YmQzYjQ2YjQ3ODY2NDI1OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9zZWxlY3QtYWxsLXdpdGgtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGVzdCIgdmFsdWU9IlNlbGVjdCB0
aGUgbGFzdCB3b3JkIj4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K2Z1bmN0aW9uIHRlc3RTZWxlY3RBbGwoKQoreworICAgIGZ1bmN0aW9uIGNoZWNrUmVzdWx0QW5k
RG9uZSgpIHsKKyAgICAgICAgc2hvdWxkQmVaZXJvKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdCIpLnNlbGVjdGlvblN0YXJ0Jyk7CisgICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdCIpLnNlbGVjdGlvbkVuZCcsICdkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdCIpLnZhbHVlLmxlbmd0aCcpOworCisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKSk7CisKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgfQorICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlv
bmNoYW5nZSIsIGNoZWNrUmVzdWx0QW5kRG9uZSwgeyBvbmNlOiB0cnVlIH0pOworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgVUlIZWxwZXIua2V5RG93bigiYSIsIFsibWV0YUtl
eSJdKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgbGV0IHRlc3RFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICBjb25zb2xlLmFzc2VydCh0ZXN0
RWxlbWVudC52YWx1ZS5pbmRleE9mKCJ3b3JkIikgIT09IC0xKTsKKyAgICBmdW5jdGlvbiBoYW5k
bGVGb2N1cygpIHsKKyAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9u
Y2hhbmdlIiwgdGVzdFNlbGVjdEFsbCwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB0ZXN0RWxl
bWVudC5zZXRTZWxlY3Rpb25SYW5nZSh0ZXN0RWxlbWVudC52YWx1ZS5pbmRleE9mKCJ3b3JkIiks
IHRlc3RFbGVtZW50LnZhbHVlLmxlbmd0aCk7CisgICAgfQorICAgIHRlc3RFbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImZvY3VzIiwgaGFuZGxlRm9jdXMsIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHRlc3RFbGVtZW50KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RFbGVtZW50LmZvY3VzKCk7Cit9
CisKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgcHJlc3NpbmcgQ29tbWFuZCArIEEgc2Vs
ZWN0cyBhbGwgdGhlIHRleHQgZXZlbiB3aGVuIHRoZXJlIGlzIGFuIGV4aXN0aW5nIHJhbmdlIHNl
bGN0aW9uLiBUbyBydW4gdGhpcyB0ZXN0IGJ5IGhhbmQsIHByZXNzIENvbW1hbmQgKyBBLiIpOwor
cnVuVGVzdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>