<?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>116304</bug_id>
          
          <creation_ts>2013-05-17 04:37:55 -0700</creation_ts>
          <short_desc>Remove custom code for MessageEvent.ports getter</short_desc>
          <delta_ts>2013-05-23 01:00:44 -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>Bindings</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>http://dev.w3.org/html5/pf-summary/comms.html#messageevent</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>alecflett</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>haraken</cc>
    
    <cc>jsbell</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>890286</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-17 04:37:55 -0700</bug_when>
    <thetext>The &quot;ports&quot; attribute in MessageEvent.idl is currently using a CustomGetter. The attribute is of type &quot;MessagePortArray&quot;, which the JSC bindings generator has support for. Therefore, we should be able to get rid of the custom code with minor generator tweaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890289</commentid>
    <comment_count>1</comment_count>
      <attachid>202062</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-17 04:57:26 -0700</bug_when>
    <thetext>Created attachment 202062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890293</commentid>
    <comment_count>2</comment_count>
      <attachid>202062</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-05-17 05:02:00 -0700</bug_when>
    <thetext>Comment on attachment 202062
Patch

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

&gt; Source/WebCore/dom/MessageEvent.idl:37
&gt; +    [InitializedByEventConstructor] readonly attribute MessagePortArray ports;

Per the spec, this should be &apos;MessagePort[]?&apos;. Would you fix it in a follow-up patch?

http://dev.w3.org/html5/postmsg/#event-definitions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890300</commentid>
    <comment_count>3</comment_count>
      <attachid>202062</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-17 05:24:18 -0700</bug_when>
    <thetext>Comment on attachment 202062
Patch

Clearing flags on attachment: 202062

Committed r150249: &lt;http://trac.webkit.org/changeset/150249&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890301</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-17 05:24:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890303</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-17 05:28:22 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 202062 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202062&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/MessageEvent.idl:37
&gt; &gt; +    [InitializedByEventConstructor] readonly attribute MessagePortArray ports;
&gt; 
&gt; Per the spec, this should be &apos;MessagePort[]?&apos;. Would you fix it in a follow-up patch?
&gt; 
&gt; http://dev.w3.org/html5/postmsg/#event-definitions

This is visibly a recent spec change as it wasn&apos;t nullable before. I don&apos;t know how other browsers behave so this would need to be checked. Do you know the reason behind this change? Having a nullable array makes life harder for JS developers and I&apos;m not sure why having an empty array is not enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890311</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-05-17 05:32:16 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This is visibly a recent spec change as it wasn&apos;t nullable before. I don&apos;t know how other browsers behave so this would need to be checked. Do you know the reason behind this change? Having a nullable array makes life harder for JS developers and I&apos;m not sure why having an empty array is not enough.

Yeah, needs verification of other browsers. I don&apos;t know about nullable, but replacing XXXArray with XXX[] looks like a recent trend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890466</commentid>
    <comment_count>7</comment_count>
      <attachid>202062</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-17 09:54:27 -0700</bug_when>
    <thetext>Comment on attachment 202062
Patch

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

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:182
&gt; +    JSValue result = impl-&gt;ports() ? jsArray(exec, castedThis-&gt;globalObject(), *impl-&gt;ports()) : constructEmptyArray(exec, 0, castedThis-&gt;globalObject());

It seems unfortunate that we call into DOM twice now. Why can&apos;t the result of impl-&gt;ports() be cached?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890496</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-17 10:07:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 202062 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202062&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:182
&gt; &gt; +    JSValue result = impl-&gt;ports() ? jsArray(exec, castedThis-&gt;globalObject(), *impl-&gt;ports()) : constructEmptyArray(exec, 0, castedThis-&gt;globalObject());
&gt; 
&gt; It seems unfortunate that we call into DOM twice now. Why can&apos;t the result of impl-&gt;ports() be cached?

I don&apos;t think it is a big issue currently because this code is only used for MessageEvent::ports() currently, which is inlined. However, you have a point that we should cache it to be safe. I will look into it, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892696</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-23 01:00:44 -0700</bug_when>
    <thetext>Addressing ap and Kentaro&apos;s feedback in Bug 116653.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202062</attachid>
            <date>2013-05-17 04:57:26 -0700</date>
            <delta_ts>2013-05-17 09:54:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>116304_MessageEvent_ports.patch</filename>
            <type>text/plain</type>
            <size>4899</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZjBhYzQ5Li4yNDQyNGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDUtMTcgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIFJlbW92ZSBjdXN0b20gY29kZSBmb3IgTWVzc2FnZUV2ZW50LnBvcnRz
IGdldHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE2MzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlIEN1c3RvbSBjb2RlIGZvciB0aGUgInBvcnRzIiBhdHRyaWJ1dGUgZ2V0dGVyIGluIE1l
c3NhZ2VFdmVudAorICAgICAgICBJREwgaW50ZXJmYWNlLiBUaGUgSlNDIGJpbmRpbmdzIGdlbmVy
YXRvciBhbHJlYWR5IHN1cHBvcnRzIGF0dHJpYnV0ZXMKKyAgICAgICAgb2YgdHlwZSBNZXNzYWdl
UG9ydEFycmF5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYWxyZWFkeSBjb3ZlcmVkIGJ5IGV4
aXN0aW5nIGxheW91dCB0ZXN0cyBhbmQgYmluZGluZ3MKKyAgICAgICAgdGVzdHMuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHA6IFJlbW92ZSBDdXN0b20g
Y29kZSBmb3IgcG9ydHMgZ2V0dGVyLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoTmF0aXZlVG9KU1ZhbHVlKTogU21hbGwgdHdlYWsgdG8g
Y29ycmVjdGx5IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBpbXBsLT5wb3J0cygpCisgICAgICAgIHJl
dHVybnMgTlVMTCBhbmQgYXZvaWQgY3Jhc2hpbmcgaW4gdGhpcyBjYXNlLgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwOiBSZWJhc2VsaW5lIGR1ZQorICAgICAgICB0byBiaW5kaW5ncyBnZW5lcmF0b3IgdHdl
YWsuCisgICAgICAgICogZG9tL01lc3NhZ2VFdmVudC5pZGw6IFJlbW92ZSBbQ3VzdG9tR2V0dGVy
XSBleHRlbmRlZCBhdHRyaWJ1dGUgZm9yICdwb3J0cycgYXR0cmlidXRlCisgICAgICAgIGFuZCBz
d2l0Y2ggdG8gTWVzc2FnZVBvcnRBcnJheSB0eXBlLgorCiAyMDEzLTA1LTE2ICBKZXN1cyBTYW5j
aGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBB
ZGQgc3R1YnMgZm9yIENvbnRleHRNZW51IGFuZCBDb250ZXh0TWVudUl0ZW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAppbmRleCA3
OWJiMjI1Li4zOGFlODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCkBAIC04OCwxOCArODgsNiBAQCBKU1ZhbHVlIEpTTWVz
c2FnZUV2ZW50OjpkYXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCi1KU1ZhbHVlIEpTTWVzc2FnZUV2ZW50Ojpwb3J0cyhFeGVjU3RhdGUqIGV4ZWMpIGNv
bnN0Ci17Ci0gICAgTWVzc2FnZVBvcnRBcnJheSogcG9ydHMgPSBzdGF0aWNfY2FzdDxNZXNzYWdl
RXZlbnQqPihpbXBsKCkpLT5wb3J0cygpOwotICAgIGlmICghcG9ydHMpCi0gICAgICAgIHJldHVy
biBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDAsIGdsb2JhbE9iamVjdCgpKTsKLQotICAgIE1h
cmtlZEFyZ3VtZW50QnVmZmVyIGxpc3Q7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb3J0
cy0+c2l6ZSgpOyBpKyspCi0gICAgICAgIGxpc3QuYXBwZW5kKHRvSlMoZXhlYywgZ2xvYmFsT2Jq
ZWN0KCksICgqcG9ydHMpW2ldLmdldCgpKSk7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEFycmF5KGV4
ZWMsIDAsIGdsb2JhbE9iamVjdCgpLCBsaXN0KTsKLX0KLQogc3RhdGljIEpTQzo6SlNWYWx1ZSBo
YW5kbGVJbml0TWVzc2FnZUV2ZW50KEpTTWVzc2FnZUV2ZW50KiBqc0V2ZW50LCBKU0M6OkV4ZWNT
dGF0ZSogZXhlYykKIHsKICAgICBjb25zdCBTdHJpbmcmIHR5cGVBcmcgPSBleGVjLT5hcmd1bWVu
dCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGFjYTlkOGMuLmQyNTYx
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC0zNTU3LDcgKzM1NTcsNyBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAg
ICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJNZXNzYWdlUG9ydC5oIiwgJGNvbmRpdGlvbmFsKTsKICAg
ICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTTWVzc2FnZVBvcnQuaCIsICRjb25kaXRpb25hbCk7
CiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCI8cnVudGltZS9KU0FycmF5Lmg+IiwgJGNvbmRp
dGlvbmFsKTsKLSAgICAgICAgcmV0dXJuICJqc0FycmF5KGV4ZWMsICRnbG9iYWxPYmplY3QsICok
dmFsdWUpIjsKKyAgICAgICAgcmV0dXJuICIkdmFsdWUgPyBqc0FycmF5KGV4ZWMsICRnbG9iYWxP
YmplY3QsICokdmFsdWUpIDogY29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwLCBjYXN0ZWRUaGlz
LT5nbG9iYWxPYmplY3QoKSkiOwogICAgIH0gZWxzZSB7CiAgICAgICAgICMgRGVmYXVsdCwgaW5j
bHVkZSBoZWFkZXIgd2l0aCBzYW1lIG5hbWUuCiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJK
UyR0eXBlLmgiLCAkY29uZGl0aW9uYWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCAzNGI0NGRmLi44MGVmZjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlLmNwcApAQCAtMTc5LDcgKzE3OSw3IEBAIEpTVmFsdWUganNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlUG9ydHMoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCCiAgICAg
SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBjYXN0ZWRUaGlzID0ganNDYXN0
PEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSo+KGFzT2JqZWN0KHNsb3RCYXNl
KSk7CiAgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwogICAgIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IGpz
QXJyYXkoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksICppbXBsLT5wb3J0cygpKTsK
KyAgICBKU1ZhbHVlIHJlc3VsdCA9IGltcGwtPnBvcnRzKCkgPyBqc0FycmF5KGV4ZWMsIGNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCAqaW1wbC0+cG9ydHMoKSkgOiBjb25zdHJ1Y3RFbXB0eUFy
cmF5KGV4ZWMsIDAsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCmluZGV4IDBhZjcyZDUuLmMy
NTIwMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCkBAIC0zNCw3ICszNCw3IEBA
CiAgICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUg
RE9NV2luZG93IHNvdXJjZTsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExB
TkdVQUdFX0pBVkFTQ1JJUFQKICAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IsIENh
Y2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYW55IGRhdGE7
Ci0gICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yLCBDdXN0b21HZXR0ZXJdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBcnJheSBwb3J0czsKKyAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3Ry
dWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZXNzYWdlUG9ydEFycmF5IHBvcnRzOwogCiAgICAg
W0N1c3RvbV0gdm9pZCBpbml0TWVzc2FnZUV2ZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NU3RyaW5nIHR5cGVBcmcsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlQXJnLCAK
</data>

          </attachment>
      

    </bug>

</bugzilla>