<?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>162806</bug_id>
          
          <creation_ts>2016-09-30 13:55:23 -0700</creation_ts>
          <short_desc>[iOS] Allow sequence&lt;Touch&gt; input in TouchEvent constructor</short_desc>
          <delta_ts>2016-09-30 15:24:29 -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>DOM</component>
          <version>WebKit 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>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>147740</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>rbyers</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1235393</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-30 13:55:23 -0700</bug_when>
    <thetext>Allow sequence&lt;Touch&gt; input in TouchEvent constructor in addition to TouchList object. It is convenient for developers to pass arrays of Touch objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235394</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-30 13:55:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/28566429&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235433</commentid>
    <comment_count>2</comment_count>
      <attachid>290388</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-30 14:46:32 -0700</bug_when>
    <thetext>Created attachment 290388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235444</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-09-30 15:01:10 -0700</bug_when>
    <thetext>Can&apos;t we do this by just overloading constructors instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235457</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-30 15:21:07 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Can&apos;t we do this by just overloading constructors instead?

Not really, the constructor looks like so:

dictionary TouchEventInit : EventModifierInit {
    TouchList touches;
    TouchList targetTouches;
    TouchList changedTouches;
};

[Constructor(DOMString type, optional TouchEventInit eventInitDict)]

I think the clean way (once we support union) and once we use proper constructors for event interfaces (instead of [ConstructorTemplate=Event] / [InitializedByEventConstructor]) would be:

dictionary TouchEventInit : EventModifierInit {
    (TouchList or sequence&lt;Touch&gt;) touches = [];
    (TouchList or sequence&lt;Touch&gt;) targetTouches = [];
    (TouchList or sequence&lt;Touch&gt;) changedTouches = [];
};

But we do not support unions just yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235459</commentid>
    <comment_count>5</comment_count>
      <attachid>290388</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-30 15:24:23 -0700</bug_when>
    <thetext>Comment on attachment 290388
Patch

Clearing flags on attachment: 290388

Committed r206681: &lt;http://trac.webkit.org/changeset/206681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235460</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-30 15:24:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290388</attachid>
            <date>2016-09-30 14:46:32 -0700</date>
            <delta_ts>2016-09-30 15:24:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162806-20160930144328.patch</filename>
            <type>text/plain</type>
            <size>5065</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQxZjk5YmY4MTVkZDZk
NGZhMWE4MDlkNzQ5YjQ1MDhhZDUxNmYwNy4uOTkxODllZTY0NWIyNDdkNjQ1NjI1MzA5OTM5Zjll
NzRmNDljYzllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA5LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWxsb3cgc2VxdWVu
Y2U8VG91Y2g+IGlucHV0IGluIFRvdWNoRXZlbnQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjgwNgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjg1NjY0Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWxsb3cgc2VxdWVuY2U8VG91Y2g+IGlucHV0IGluIFRvdWNoRXZlbnQgY29u
c3RydWN0b3IgaW4gYWRkaXRpb24gdG8KKyAgICAgICAgVG91Y2hMaXN0IG9iamVjdHMuIEl0IGlz
IGNvbnZlbmllbnQgZm9yIGRldmVsb3BlcnMgdG8gcGFzcyBhcnJheXMgb2YKKyAgICAgICAgVG91
Y2ggb2JqZWN0cy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFscmVhZHkgY292ZXJlZCBieToK
KyAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvdG91
Y2gtdG91Y2hldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OnRvUmVmTmF0aXZlQXJyYXkpOgorICAg
ICAgICAoV2ViQ29yZTo6dG9SZWZQdHJOYXRpdmVBcnJheSk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNEaWN0aW9uYXJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6Y29u
dmVydFZhbHVlKToKKwogMjAxNi0wOS0zMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBvZmYtYnktb25lIGVycm9yIGluIFVSTFBhcnNl
cjo6cGFyc2VJUHY0SG9zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
aAppbmRleCBhOTNiNDYyZjE0ODFhNGNkYzM1MGQ4ZmM1OWQwN2Y1OWY3YTdlNThhLi4xMmJkMWRi
ODU1NTc1M2IxYTk3YzZmYzdjY2ZlMTM0ZWE5MDdkNTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzA5LDcgKzMwOSw4IEBAIFJlZlB0cjxKU0M6OlVp
bnQzMkFycmF5PiB0b1VpbnQzMkFycmF5KEpTQzo6SlNWYWx1ZSk7CiBSZWZQdHI8SlNDOjpGbG9h
dDMyQXJyYXk+IHRvRmxvYXQzMkFycmF5KEpTQzo6SlNWYWx1ZSk7CiBSZWZQdHI8SlNDOjpGbG9h
dDY0QXJyYXk+IHRvRmxvYXQ2NEFycmF5KEpTQzo6SlNWYWx1ZSk7CiAKLXRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIEpTVHlwZT4gVmVjdG9yPFJlZlB0cjxUPj4gdG9SZWZQdHJOYXRpdmVB
cnJheShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSk7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCB0eXBlbmFtZSBKU1R5cGU+IFZlY3RvcjxSZWY8VD4+IHRvUmVmTmF0aXZlQXJyYXkoSlNDOjpF
eGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
SlNUeXBlPiBWZWN0b3I8UmVmUHRyPFQ+PiB0b1JlZlB0ck5hdGl2ZUFycmF5KEpTQzo6RXhlY1N0
YXRlJiwgSlNDOjpKU1ZhbHVlKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFZlY3RvcjxUPiB0b05h
dGl2ZUFycmF5KEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlKTsKIGJvb2wgaGFzSXRlcmF0
b3JNZXRob2QoSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOwogCkBAIC04MTIsNiArODEz
LDMwIEBAIHRlbXBsYXRlPD4gc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPGRvdWJsZT4gewogICAg
IH0KIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEpTVD4gaW5saW5lIFZlY3Rv
cjxSZWY8VD4+IHRvUmVmTmF0aXZlQXJyYXkoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpT
VmFsdWUgdmFsdWUpCit7CisgICAgSlNDOjpWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIGlmICghdmFsdWUuaXNPYmpl
Y3QoKSkgeworICAgICAgICB0aHJvd1NlcXVlbmNlVHlwZUVycm9yKHN0YXRlLCBzY29wZSk7Cisg
ICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgVmVjdG9yPFJlZjxUPj4gcmVzdWx0Owor
ICAgIGZvckVhY2hJbkl0ZXJhYmxlKCZzdGF0ZSwgdmFsdWUsIFsmcmVzdWx0XShKU0M6OlZNJiB2
bSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0M6OkpTVmFsdWUganNWYWx1ZSkgeworICAgICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICAgICAgaWYgKGpz
VmFsdWUuaW5oZXJpdHMoSlNUOjppbmZvKCkpKSB7CisgICAgICAgICAgICBhdXRvKiBvYmplY3Qg
PSBKU1Q6OnRvV3JhcHBlZChqc1ZhbHVlKTsKKyAgICAgICAgICAgIEFTU0VSVChvYmplY3QpOwor
ICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgqb2JqZWN0KTsKKyAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICB0aHJvd0FycmF5RWxlbWVudFR5cGVFcnJvcigqc3RhdGUsIHNjb3BlKTsKKyAgICB9
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBKU1Q+IFZlY3RvcjxSZWZQdHI8VD4+IHRvUmVmUHRyTmF0aXZlQXJyYXkoSlNDOjpFeGVjU3Rh
dGUmIGV4ZWMsIEpTQzo6SlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBKU0M6OlZNJiB2bSA9IGV4ZWMu
dm0oKTsKQEAgLTgxOSw3ICs4NDQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBK
U1Q+IFZlY3RvcjxSZWZQdHI8VD4+IHRvUmVmUHRyTmF0aXZlQXJyYXkoSlNDOjpFeAogCiAgICAg
aWYgKCF2YWx1ZS5pc09iamVjdCgpKSB7CiAgICAgICAgIHRocm93U2VxdWVuY2VUeXBlRXJyb3Io
ZXhlYywgc2NvcGUpOwotICAgICAgICByZXR1cm4gVmVjdG9yPFJlZlB0cjxUPj4oKTsKKyAgICAg
ICAgcmV0dXJuIHsgfTsKICAgICB9CiAKICAgICBWZWN0b3I8UmVmUHRyPFQ+PiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAppbmRleCBiZTk5NDI4
NjJhMDY3MDlkZjQ4MTY1N2NjNTlmMTY1OWU5MDUwMzFlLi5mMTYxNWZkNDE5ZmE2Y2JmZDQzNTY2
MGJmYjI0ZjdiZmZlYjJlNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpY3Rpb25hcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlj
dGlvbmFyeS5jcHAKQEAgLTY5LDYgKzY5LDcgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKElPU19U
T1VDSF9FVkVOVFMpIHx8IEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaW5jbHVkZSAiSlNUb3VjaC5o
IgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmgiCiAjZW5kaWYKIApAQCAtMzUxLDEzICszNTIsMzgg
QEAgdm9pZCBKU0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSB2YWx1ZSwgUmVmUHRyPEdhbWUKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElPU19U
T1VDSF9FVkVOVFMpIHx8IEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykgJiYgIUVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQogdm9pZCBKU0RpY3Rpb25hcnk6OmNv
bnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSB2YWx1ZSwgUmVmUHRyPFRv
dWNoTGlzdD4mIHJlc3VsdCkKIHsKICAgICByZXN1bHQgPSBKU1RvdWNoTGlzdDo6dG9XcmFwcGVk
KHZhbHVlKTsKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCit2b2lk
IEpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpT
VmFsdWUgdmFsdWUsIFJlZlB0cjxUb3VjaExpc3Q+JiByZXN1bHQpCit7CisgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisK
KyAgICBKU09iamVjdCogb2JqZWN0ID0gdmFsdWUuZ2V0T2JqZWN0KCk7CisgICAgaWYgKCFvYmpl
Y3QpIHsKKyAgICAgICAgcmVzdWx0ID0gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIC8vIEFsbG93IGJvdGggVG91Y2hMaXN0IGFuZCBzZXF1ZW5jZTxUb3VjaD4gYXMgaW5w
dXQuCisgICAgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8gPSBvYmplY3QtPmNsYXNzSW5mbygp
OworICAgIGlmIChjbGFzc0luZm8gPT0gSlNUb3VjaExpc3Q6OmluZm8oKSkgeworICAgICAgICBy
ZXN1bHQgPSBKU1RvdWNoTGlzdDo6dG9XcmFwcGVkKHZhbHVlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGF1dG8gdG91Y2hlcyA9IHRvUmVmTmF0aXZlQXJyYXk8VG91Y2gsIEpTVG91
Y2g+KCpleGVjLCB2YWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgp
KTsKKyAgICByZXN1bHQgPSBUb3VjaExpc3Q6OmNyZWF0ZShXVEZNb3ZlKHRvdWNoZXMpKTsKK30K
KyNlbmRpZgorCiB2b2lkIEpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlIHZhbHVlLCBKU0M6OkpTRnVuY3Rpb24qJiByZXN1bHQpCiB7CiAgICAg
cmVzdWx0ID0ganNEeW5hbWljQ2FzdDxKU0M6OkpTRnVuY3Rpb24qPih2YWx1ZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>