<?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>239320</bug_id>
          
          <creation_ts>2022-04-13 21:16:05 -0700</creation_ts>
          <short_desc>[iOS] Add support for find-and-replace keyboard shortcut</short_desc>
          <delta_ts>2022-04-14 12:00:54 -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>New Bugs</component>
          <version>Other</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="Aditya Keerthi">akeerthi</reporter>
          <assigned_to name="Aditya Keerthi">akeerthi</assigned_to>
          <cc>darin</cc>
    
    <cc>hi</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</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>1861380</commentid>
    <comment_count>0</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-04-13 21:16:05 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861381</commentid>
    <comment_count>1</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-04-13 21:16:25 -0700</bug_when>
    <thetext>rdar://91537724</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861383</commentid>
    <comment_count>2</comment_count>
      <attachid>457592</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-04-13 21:18:59 -0700</bug_when>
    <thetext>Created attachment 457592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861562</commentid>
    <comment_count>3</comment_count>
      <attachid>457592</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-04-14 10:34:51 -0700</bug_when>
    <thetext>Comment on attachment 457592
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861575</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-14 11:01:55 -0700</bug_when>
    <thetext>Committed r292880 (249650@main): &lt;https://commits.webkit.org/249650@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457592.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861578</commentid>
    <comment_count>5</comment_count>
      <attachid>457592</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-14 11:07:03 -0700</bug_when>
    <thetext>Comment on attachment 457592
Patch

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

&gt; Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:136
&gt;  - (void)find:(id)sender;
&gt;  - (void)findNext:(id)sender;
&gt;  - (void)findPrevious:(id)sender;
&gt; +- (void)findAndReplace:(id)sender;

Should these be public API with availability annotations? I don’t understand why they are still internal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861587</commentid>
    <comment_count>6</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-04-14 12:00:54 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 457592 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=457592&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:136
&gt; &gt;  - (void)find:(id)sender;
&gt; &gt;  - (void)findNext:(id)sender;
&gt; &gt;  - (void)findPrevious:(id)sender;
&gt; &gt; +- (void)findAndReplace:(id)sender;
&gt; 
&gt; Should these be public API with availability annotations? I don’t understand
&gt; why they are still internal.

Good question!

These methods are specifically for editing shortcuts / menu items through the UIKit protocol  `UIResponderStandardEditActions`. They are currently in a private UIKit header, and are declared here for use in WebKit. Once they are moved to a public header, we will no longer declare them here.

Note that `WKWebView` does not publicly conform to `UIResponderStandardEditActions` at this time. This is a historical artifact, and there&apos;s not a good reason for keeping it that away. I&apos;ve filed https://bugs.webkit.org/show_bug.cgi?id=239349 to make conformance to UIKit&apos;s protocol public.

The actual functionality of these methods (being able to find/replace) will be API through `findInteraction`. This is independent of public conformance to `UIResponderStandardEditActions`, which is specifically for editing shortcuts / menu items.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457592</attachid>
            <date>2022-04-13 21:18:59 -0700</date>
            <delta_ts>2022-04-14 11:01:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239320-20220413211858.patch</filename>
            <type>text/plain</type>
            <size>3424</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkYzFjYTU0NWM3N2Y2YzZh
ZmVlM2M0MmVmM2MwNjg4NGM0ZjdkODcuLjQyMTg0MGNiNGVhY2Y1NTUzODQ1MDQ2MzQ1YWE4MGE0
MzFhMGZiZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDQtMTMgIEFkaXR5YSBL
ZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBzdXBwb3J0
IGZvciBmaW5kLWFuZC1yZXBsYWNlIGtleWJvYXJkIHNob3J0Y3V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkzMjAKKyAgICAgICAgcmRhcjovLzkx
NTM3NzI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNh
blBlcmZvcm1BY3Rpb25Gb3JXZWJWaWV3OndpdGhTZW5kZXI6XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgZmluZEFuZFJlcGxhY2VGb3JXZWJWaWV3Ol0pOgorCiAyMDIyLTA0LTExICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBJZ25vcmUg
ZmluZCBpbnRlcmFjdGlvbiBkZXByZWNhdGlvbiB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLmgKaW5kZXggNzU4MzU0Y2UyZmY2MTAxZDRk
ZWU2Yzg5NTAwZjA5NWE2NzIzZjA5Zi4uYThhYzY4NzdmN2E5MTRhMjc3YWZiMzFkYTVlNDBkM2Vh
NDYyZjcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dl
YlZpZXdJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d0lPUy5oCkBAIC0xMzMsNiArMTMzLDcgQEAgZW51bSBjbGFzcyBUYXBIYW5kbGluZ1Jlc3VsdCA6
IHVpbnQ4X3Q7CiAtICh2b2lkKWZpbmQ6KGlkKXNlbmRlcjsKIC0gKHZvaWQpZmluZE5leHQ6KGlk
KXNlbmRlcjsKIC0gKHZvaWQpZmluZFByZXZpb3VzOihpZClzZW5kZXI7CistICh2b2lkKWZpbmRB
bmRSZXBsYWNlOihpZClzZW5kZXI7CiAKIC0gKGlkPF9VSVRleHRTZWFyY2hpbmc+KV9zZWFyY2hh
YmxlT2JqZWN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggYTQ1MmI5MGJlMTNjNmRkMzFhN2Qx
OGQ4ZDkzNWE3ZWI5ZTJmNzYzNy4uMjFlODRiMzM3Yzc1YjJlYjZlNzA0NTUzOWYyMjc4MThmNjZj
MjJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMTY2LDcgKzE2Niw4IEBAIHR5cGVkZWYgc3RkOjpwYWly
PFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QsIEludGVyYWN0aW9uSW5mb3Jt
YXRpb25DCiAjZGVmaW5lIEZPUl9FQUNIX0ZJTkRfV0tDT05URU5UVklFV19BQ1RJT04oTSkgXAog
ICAgIE0oZmluZCkgXAogICAgIE0oZmluZE5leHQpIFwKLSAgICBNKGZpbmRQcmV2aW91cykKKyAg
ICBNKGZpbmRQcmV2aW91cykgXAorICAgIE0oZmluZEFuZFJlcGxhY2UpCiAjZWxzZQogI2RlZmlu
ZSBGT1JfRUFDSF9GSU5EX1dLQ09OVEVOVFZJRVdfQUNUSU9OKE0pCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCmluZGV4IDdkYjMxYjc1YWIzZWU4NjViM2RhNTY4YWJmMjk4Y2JkNmI5NWEwMWEuLjdmYTNh
OTRjNTY4ZDJiMzAxNThiMjNjMjgzOWZiYjZiNzNhMWJkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAt
NDEzOSw2ICs0MTM5LDkgQEAgV0VCQ09SRV9DT01NQU5EX0ZPUl9XRUJWSUVXKHBhc3RlQW5kTWF0
Y2hTdHlsZSk7CiAjaWYgSEFWRShVSUZJTkRJTlRFUkFDVElPTikKICAgICBpZiAoYWN0aW9uID09
IEBzZWxlY3RvcihmaW5kOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihmaW5kTmV4dDopIHx8IGFj
dGlvbiA9PSBAc2VsZWN0b3IoZmluZFByZXZpb3VzOikpCiAgICAgICAgIHJldHVybiBzZWxmLndl
YlZpZXcuX2ZpbmRJbnRlcmFjdGlvbkVuYWJsZWQ7CisKKyAgICBpZiAoYWN0aW9uID09IEBzZWxl
Y3RvcihmaW5kQW5kUmVwbGFjZTopKQorICAgICAgICByZXR1cm4gc2VsZi53ZWJWaWV3Ll9maW5k
SW50ZXJhY3Rpb25FbmFibGVkICYmIHNlbGYuc3VwcG9ydHNUZXh0UmVwbGFjZW1lbnQ7CiAjZW5k
aWYKIAogICAgIHJldHVybiBbc3VwZXIgY2FuUGVyZm9ybUFjdGlvbjphY3Rpb24gd2l0aFNlbmRl
cjpzZW5kZXJdOwpAQCAtMTAzNzgsNiArMTAzODEsMTEgQEAgc3RhdGljIFJldGFpblB0cjxOU0l0
ZW1Qcm92aWRlcj4gY3JlYXRlSXRlbVByb3ZpZGVyKGNvbnN0IFdlYktpdDo6V2ViUGFnZVByb3h5
JgogICAgIFtzZWxmLndlYlZpZXcuX2ZpbmRJbnRlcmFjdGlvbiBmaW5kUHJldmlvdXNdOwogfQog
CistICh2b2lkKWZpbmRBbmRSZXBsYWNlRm9yV2ViVmlldzooaWQpc2VuZGVyCit7CisgICAgW3Nl
bGYud2ViVmlldy5fZmluZEludGVyYWN0aW9uIHByZXNlbnRGaW5kTmF2aWdhdG9yU2hvd2luZ1Jl
cGxhY2U6WUVTXTsKK30KKwogLSAodm9pZClwZXJmb3JtVGV4dFNlYXJjaFdpdGhRdWVyeVN0cmlu
ZzooTlNTdHJpbmcgKilzdHJpbmcgdXNpbmdPcHRpb25zOihfVUlUZXh0U2VhcmNoT3B0aW9ucyAq
KW9wdGlvbnMgcmVzdWx0QWdncmVnYXRvcjooaWQ8X1VJVGV4dFNlYXJjaEFnZ3JlZ2F0b3I+KWFn
Z3JlZ2F0b3IKIHsKICAgICBPcHRpb25TZXQ8V2ViS2l0OjpGaW5kT3B0aW9ucz4gZmluZE9wdGlv
bnM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>