<?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>138142</bug_id>
          
          <creation_ts>2014-10-28 12:05:16 -0700</creation_ts>
          <short_desc>Unregistering and re-registering a user message handler does not work</short_desc>
          <delta_ts>2015-07-23 00:32:41 -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>WebCore JavaScript</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrian Perez">aperez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>jberlin</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044572</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2014-10-28 12:05:16 -0700</bug_when>
    <thetext>User script messages sent with “window.webkit.messageHandlers.&lt;name&gt;.postMessage()”
will not work (i.e. “WebScriptMessageHandler::Client::didPostMessage()” is not called)
after performing the following sequence of operations:

 1. Register a handler with “WebUserContentControllerProxy::addUserScriptMessageHandler()”
 2. Unregister the handler with “WebUserContentControllerProxy::removeUserMessageHandlerForName()”
 3. Register again a handler with the same name as in step (1) using
    “WebUserContentControllerProxy::addUserScriptMessageHandler()”

This probably means that either removing the handler does not do all the cleanup it
should and the logic for installing a handler fails when trying to add one with a
name used previously.

I have found this issue while writing the unit tests for the API of the GTK+
port, being worked in bug #133730</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111240</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-07-22 04:15:45 -0700</bug_when>
    <thetext>This has probably been fixed in r184846, the #ifdefed test cases passes now in current trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111241</commentid>
    <comment_count>2</comment_count>
      <attachid>257258</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-07-22 04:18:23 -0700</bug_when>
    <thetext>Created attachment 257258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111603</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-07-23 00:32:41 -0700</bug_when>
    <thetext>Committed r187218: &lt;http://trac.webkit.org/changeset/187218&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257258</attachid>
            <date>2015-07-22 04:18:23 -0700</date>
            <delta_ts>2015-07-22 07:25:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-reuse-user-message-handler.diff</filename>
            <type>text/plain</type>
            <size>2234</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzZjAy
OTY2Li5lODljZWI1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTUtMDctMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCisgICAgICAgIFVucmVnaXN0ZXJpbmcgYW5kIHJlLXJl
Z2lzdGVyaW5nIGEgdXNlciBtZXNzYWdlIGhhbmRsZXIgZG9lcyBub3Qgd29yaworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTQyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBoYXMgcHJvYmFibHkg
YmVlbiBmaXhlZCBpbiByMTg0ODQ2LCBlbmFibGUgdGhlIHRlc3QgY2FzZQorICAgICAgICBibG9j
a2VkIG9uIGl0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rl
c3RXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIuY3BwOgorICAgICAgICAodGVzdFVzZXJDb250ZW50
TWFuYWdlclNjcmlwdE1lc3NhZ2VSZWNlaXZlZCk6CisKKzIwMTUtMDctMjIgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAgIFtHVEtdIEFkZCBBUEkg
dG8gc2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiB3ZWIgcHJvY2Vzc2VzIHBlciBXZWJLaXRXZWJD
b250ZXh0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDcxMDgKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3Rr
L1Rlc3RXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIuY3BwCmluZGV4IDU4
Mzk2ZmYuLmU4NGNiNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mkd0ay9UZXN0V2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFVzZXJDb250ZW50TWFuYWdlci5j
cHAKQEAgLTMyOCwxOSArMzI4LDE0IEBAIHN0YXRpYyB2b2lkIHRlc3RVc2VyQ29udGVudE1hbmFn
ZXJTY3JpcHRNZXNzYWdlUmVjZWl2ZWQoVXNlclNjcmlwdE1lc3NhZ2VUZXN0KiB0CiAgICAgLy8g
VW5yZWdpc3RlcmluZyBhIGhhbmRsZXIgYW5kIHJlLXJlZ2lzdGVyaW5nIGFnYWluIHVuZGVyIHRo
ZSBzYW1lIG5hbWUgc2hvdWxkIHdvcmsuCiAgICAgdGVzdC0+dW5yZWdpc3RlckhhbmRsZXIoIm1z
ZyIpOwogCi0gICAgLy8gRklYTUU6IEVuYWJsZSBhZnRlciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTQyIGdldHMgZml4ZWQuCi0jaWYgMAogICAgIGphdmFzY3Jp
cHRSZXN1bHQgPSB0ZXN0LT5ydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoIndpbmRv
dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLm1zZy5wb3N0TWVzc2FnZSgnNDInKTsiLCAmZXJyb3Iu
b3V0UHRyKCkpOwogICAgIGdfYXNzZXJ0KCFqYXZhc2NyaXB0UmVzdWx0KTsKICAgICBnX2Fzc2Vy
dChlcnJvci5nZXQoKSk7CiAKICAgICAvLyBSZS1yZWdpc3RlcmluZyBhIGhhbmRsZXIgdGhhdCBo
YXMgYmVlbiB1bnJlZ2lzdGVyZWQgbXVzdCB3b3JrCiAgICAgZ19hc3NlcnQodGVzdC0+cmVnaXN0
ZXJIYW5kbGVyKCJtc2ciKSk7Ci0gICAgbWVzc2FnZSA9IHRlc3QtPnBvc3RNZXNzYWdlQW5kV2Fp
dFVudGlsUmVjZWl2ZWQoIm1zZyIsICInaGFuZGxlcjogbXNnJyIpOwotICAgIHZhbHVlU3RyaW5n
LnJlc2V0KFdlYlZpZXdUZXN0OjpqYXZhc2NyaXB0UmVzdWx0VG9DU3RyaW5nKG1lc3NhZ2UpKTsK
LSAgICB3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRfdW5yZWYobWVzc2FnZSk7CisgICAgdmFsdWVT
dHJpbmcucmVzZXQoV2ViVmlld1Rlc3Q6OmphdmFzY3JpcHRSZXN1bHRUb0NTdHJpbmcodGVzdC0+
cG9zdE1lc3NhZ2VBbmRXYWl0VW50aWxSZWNlaXZlZCgibXNnIiwgIidoYW5kbGVyOiBtc2cnIikp
KTsKICAgICBnX2Fzc2VydF9jbXBzdHIodmFsdWVTdHJpbmcuZ2V0KCksID09LCAiaGFuZGxlcjog
bXNnIik7Ci0jZW5kaWYKIAogICAgIHRlc3QtPnVucmVnaXN0ZXJIYW5kbGVyKCJhbm90aGVySGFu
ZGxlciIpOwogfQo=
</data>
<flag name="review"
          id="282397"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>