<?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>228271</bug_id>
          
          <creation_ts>2021-07-25 03:04:13 -0700</creation_ts>
          <short_desc>WKUserContentController.removeAllScriptMessageHandlers() doesn&apos;t release the message handlers</short_desc>
          <delta_ts>2021-10-20 08:06:08 -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>WebKit2</component>
          <version>Safari 14</version>
          <rep_platform>All</rep_platform>
          <op_sys>macOS 11</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>zero.griffin</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>peter</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1779360</commentid>
    <comment_count>0</comment_count>
    <who name="">zero.griffin</who>
    <bug_when>2021-07-25 03:04:13 -0700</bug_when>
    <thetext>Trying to remove all message handlers from a WKUserContentController using removeAllScriptMessageHandlers() doesn&apos;t seem to be working.

There is not an API to view all message handlers from a WKUserContentController, but I have noticed that trying to remove all of them using removeAllScriptMessageHandlers() doesn&apos;t release those handlers, as by adding them, the WKUserContentController seems to retain them.

This I can reproduce 100% of the time. And in comparison, using removeScriptMessageHandler(forName:) seems to be working fine, and the message handlers gets released.

Having a removeAllScriptMessageHandlers() is specially helpful when, like in my case, you have many different message handlers, with different names.

If necessary I can provide with a small working prototype to test it.

Cheers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779605</commentid>
    <comment_count>1</comment_count>
      <attachid>434252</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-26 15:55:51 -0700</bug_when>
    <thetext>Created attachment 434252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779632</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-26 16:58:33 -0700</bug_when>
    <thetext>Committed r280325 (239972@main): &lt;https://commits.webkit.org/239972@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434252.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779633</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-26 16:59:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/81137245&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806613</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-10-20 08:06:08 -0700</bug_when>
    <thetext>*** Bug 231659 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434252</attachid>
            <date>2021-07-26 15:55:51 -0700</date>
            <delta_ts>2021-07-26 16:58:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228271-20210726155550.patch</filename>
            <type>text/plain</type>
            <size>4263</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVkOTE2ZTJjNDk5ZmE5ODg0
OGM4OTMxMTkyYzRkZjllYTRiZjFkYzMuLjM3ZmMxYTRkZGQ3ODYxOTc5MjM1Y2UzMTUxYzM1YTdh
NjU4OTlkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDctMjYgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBXS1VzZXJDb250
ZW50Q29udHJvbGxlci5yZW1vdmVBbGxTY3JpcHRNZXNzYWdlSGFuZGxlcnMoKSBkb2Vzbid0IHJl
bGVhc2UgdGhlIG1lc3NhZ2UgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyODI3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgYW4gQVBJIHRlc3QuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eTo6cmVtb3ZlQWxs
VXNlck1lc3NhZ2VIYW5kbGVycyk6CisKIDIwMjEtMDctMjIgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTGliXSBFeHBvc2UgQVBJIHRvIGFjY2Vz
cy9tb2RpZnkgY2FwdHVyZSBkZXZpY2VzIHN0YXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250
cm9sbGVyUHJveHkuY3BwCmluZGV4IDI0OGU1M2EwODNkMTlhMGVmNGQ4M2MyM2I4Y2NlMDAzNDVk
YWFiMDQuLjNkMjE3YTMyNTJlYTdmZDc2OTM5MmFhYzk3ZWFkOTFjNGI2Zjc3NTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29u
dHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVu
dC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTMxOCwxMyArMzE4LDggQEAg
dm9pZCBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eTo6cmVtb3ZlQWxsVXNlck1lc3NhZ2VI
YW5kbGVycyhBUEk6OkNvbnRlbnRXb3IKICAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBtX3Byb2Nl
c3NlcykKICAgICAgICAgcHJvY2Vzcy5zZW5kKE1lc3NhZ2VzOjpXZWJVc2VyQ29udGVudENvbnRy
b2xsZXI6OlJlbW92ZUFsbFVzZXJTY3JpcHRNZXNzYWdlSGFuZGxlcnNGb3JXb3JsZHMoeyB3b3Js
ZC5pZGVudGlmaWVyKCkgfSksIGlkZW50aWZpZXIoKSk7CiAKLSAgICB1bnNpZ25lZCBudW1iZXJS
ZW1vdmVkID0gMDsKICAgICBtX3NjcmlwdE1lc3NhZ2VIYW5kbGVycy5yZW1vdmVJZihbJl0oYXV0
byYgZW50cnkpIHsKLSAgICAgICAgaWYgKGVudHJ5LnZhbHVlLT53b3JsZCgpLmlkZW50aWZpZXIo
KSA9PSB3b3JsZC5pZGVudGlmaWVyKCkpIHsKLSAgICAgICAgICAgICsrbnVtYmVyUmVtb3ZlZDsK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlLT53b3JsZCgpLmlkZW50aWZpZXIoKSA9PSB3
b3JsZC5pZGVudGlmaWVyKCk7CiAgICAgfSk7CiB9CiAKQEAgLTMzMiw2ICszMjcsOCBAQCB2b2lk
IFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5OjpyZW1vdmVBbGxVc2VyTWVzc2FnZUhhbmRs
ZXJzKCkKIHsKICAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBtX3Byb2Nlc3NlcykKICAgICAgICAg
cHJvY2Vzcy5zZW5kKE1lc3NhZ2VzOjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXI6OlJlbW92ZUFs
bFVzZXJTY3JpcHRNZXNzYWdlSGFuZGxlcnMoKSwgaWRlbnRpZmllcigpKTsKKworICAgIG1fc2Ny
aXB0TWVzc2FnZUhhbmRsZXJzLmNsZWFyKCk7CiB9CiAKIHZvaWQgV2ViVXNlckNvbnRlbnRDb250
cm9sbGVyUHJveHk6OmRpZFBvc3RNZXNzYWdlKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZVBy
b3h5SUQsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUluZm9EYXRhLCB1aW50NjRfdCBtZXNzYWdlSGFu
ZGxlcklELCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGFSZWZlcmVuY2UsIE1lc3NhZ2Vz
OjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eTo6RGlkUG9zdE1lc3NhZ2U6OkFzeW5jUmVw
bHkmJiByZXBseSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA4ZWZiYzMxOTNhNDkwODcyOWNjYzEyNmNlOTcxZTQzZTdkNTU4OWMwLi41YmU2MGNl
YjM1Y2RkNmNmYjM0YTg2ZmQyOTM4MzgxMGRlZDRiMjU0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDctMjYg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBX
S1VzZXJDb250ZW50Q29udHJvbGxlci5yZW1vdmVBbGxTY3JpcHRNZXNzYWdlSGFuZGxlcnMoKSBk
b2Vzbid0IHJlbGVhc2UgdGhlIG1lc3NhZ2UgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODI3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9Vc2VyQ29udGVudENvbnRyb2xsZXIubW06CisgICAgICAgIChURVNUKToKKwogMjAyMS0w
Ny0yMiAgRnLDqWTDqXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBudWxs
cHRyIGNyYXNoIGluIEFwcGx5U3R5bGVDb21tYW5kOjphcHBseVJlbGF0aXZlRm9udFN0eWxlQ2hh
bmdlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Vz
ZXJDb250ZW50Q29udHJvbGxlci5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCmluZGV4IDYyMTM3NjczYzY3MmI1NjZjZDUy
NzA4NjQxNmRmMDAxMGRmMzljMjYuLjhiOTRkNGM4NWIwNjExMjBjODA4ODM2MDg4NDU5MzQ2NDkz
ZTZiYTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
VXNlckNvbnRlbnRDb250cm9sbGVyLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCkBAIC00NCw2ICs0NCw3IEBACiAj
aW1wb3J0IDxXZWJLaXQvX1dLVXNlclN0eWxlU2hlZXQuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5o
PgogCiBzdGF0aWMgYm9vbCBpc0RvbmVXaXRoTmF2aWdhdGlvbjsKIApAQCAtMTIzNiwzICsxMjM3
LDE2IEBAIFRFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFdvcmxkTGlmZXRpbWUpCiAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiB9CisK
K1RFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFJlbW92ZUFsbFNjcmlwdE1lc3NhZ2VIYW5k
bGVycykKK3sKKyAgICBXZWFrT2JqQ1B0cjxTY3JpcHRNZXNzYWdlSGFuZGxlcj4gd2Vha0hhbmRs
ZXI7CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbU2NyaXB0TWVzc2FnZUhhbmRsZXIgbmV3
XSk7CisgICAgd2Vha0hhbmRsZXIgPSBoYW5kbGVyLmdldCgpOworICAgIGF1dG8gY29udHJvbGxl
ciA9IGFkb3B0TlMoW1dLVXNlckNvbnRlbnRDb250cm9sbGVyIG5ld10pOworICAgIFtjb250cm9s
bGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RuYW1l
Il07CisgICAgaGFuZGxlciA9IG51bGxwdHI7CisgICAgRVhQRUNUX05PVF9OVUxMKHdlYWtIYW5k
bGVyLmdldCgpKTsKKyAgICBbY29udHJvbGxlciByZW1vdmVBbGxTY3JpcHRNZXNzYWdlSGFuZGxl
cnNdOworICAgIEVYUEVDVF9OVUxMKHdlYWtIYW5kbGVyLmdldCgpKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>