<?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>185282</bug_id>
          
          <creation_ts>2018-05-03 17:32:06 -0700</creation_ts>
          <short_desc>Allow Web Touch events to timeout</short_desc>
          <delta_ts>2024-09-10 10:57:21 -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>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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>owengm3001</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1420472</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-05-03 17:32:06 -0700</bug_when>
    <thetext>Allow Web Touch events to timeout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420475</commentid>
    <comment_count>1</comment_count>
      <attachid>339495</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-05-03 17:35:21 -0700</bug_when>
    <thetext>Created attachment 339495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420477</commentid>
    <comment_count>2</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-05-03 17:36:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/38728319&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420788</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-05-04 11:41:27 -0700</bug_when>
    <thetext>I think you should consider writing a test for this. Might need to add a mechanism to speed up timeouts (like the one we have to make them go to ∞).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420789</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-05-04 11:42:57 -0700</bug_when>
    <thetext>ignoreSynchronousMessagingTimeoutsForTesting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420811</commentid>
    <comment_count>6</comment_count>
      <attachid>339495</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-04 12:16:46 -0700</bug_when>
    <thetext>Comment on attachment 339495
Patch

Clearing flags on attachment: 339495

Committed r231370: &lt;https://trac.webkit.org/changeset/231370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420812</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-04 12:16:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421174</commentid>
    <comment_count>8</comment_count>
      <attachid>339495</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-05-06 16:51:32 -0700</bug_when>
    <thetext>Comment on attachment 339495
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2303
&gt; +        handled = true;

I don&apos;t think this is quite right, since it would mean any touchstart that is dispatched to the page would behave as though the page called preventDefault(). This would prevent clicks when tapping on elements that have touch event handlers, but do not preventDefault() (e.g. links on Google search result pages).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421184</commentid>
    <comment_count>9</comment_count>
      <attachid>339495</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-05-06 18:48:17 -0700</bug_when>
    <thetext>Comment on attachment 339495
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2303
&gt;&gt; +        handled = true;
&gt; 
&gt; I don&apos;t think this is quite right, since it would mean any touchstart that is dispatched to the page would behave as though the page called preventDefault(). This would prevent clicks when tapping on elements that have touch event handlers, but do not preventDefault() (e.g. links on Google search result pages).

Only if it times out, though? We thought that mostly made sense. I’ll add you to a thread about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421203</commentid>
    <comment_count>10</comment_count>
      <attachid>339495</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-05-06 20:27:04 -0700</bug_when>
    <thetext>Comment on attachment 339495
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2303
&gt;&gt;&gt; +        handled = true;
&gt;&gt; 
&gt;&gt; I don&apos;t think this is quite right, since it would mean any touchstart that is dispatched to the page would behave as though the page called preventDefault(). This would prevent clicks when tapping on elements that have touch event handlers, but do not preventDefault() (e.g. links on Google search result pages).
&gt; 
&gt; Only if it times out, though? We thought that mostly made sense. I’ll add you to a thread about it.

Yeah, I think the plan makes sense (treat IPC time out as if default was prevented).

Perhaps I&apos;m missing something, but this change seems to make it so that as long as `replyReceived` is true (e.g. the IPC message didn&apos;t time out), then we set handled to true (i.e. treat it as if the page called preventDefault()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421205</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-05-06 20:37:04 -0700</bug_when>
    <thetext>Haha, I see, yes, it’s backwards :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421206</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-05-06 20:37:26 -0700</bug_when>
    <thetext>How in the world did that not cause a single test failure?!?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421207</commentid>
    <comment_count>13</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-05-06 20:39:55 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #12)
&gt; How in the world did that not cause a single test failure?!?

Touch-event-related tests cannot run on the open source bots :/

That said, our internal test runners are looking quite red...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421348</commentid>
    <comment_count>14</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-05-07 11:16:53 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/231447/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339495</attachid>
            <date>2018-05-03 17:35:21 -0700</date>
            <delta_ts>2018-05-04 12:16:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185282-20180503173520.patch</filename>
            <type>text/plain</type>
            <size>1938</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzEzMzYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE4LTA1LTAzICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgV2ViIFRvdWNo
IGV2ZW50cyB0byB0aW1lb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODUyODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzI4MzE5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgV2Vi
IFRvdWNoIGV2ZW50cyBjdXJyZW50bHkgbmV2ZXIgdGltZSBvdXQsIHdoaWNoIGJsb2NrcyB0aGUg
dXNlciBmcm9tIGludGVyYWN0aW5nIHdpdGggdGhlIFVJIFByb2Nlc3MgYXQgYWxsLgorICAgICAg
ICBXZSBzaG91bGQgYWxsb3cgdGhlc2UgZXZlbnRzIHRvIHRpbWUgb3V0IHNvIHRoYXQgdGhlIHVz
ZXIgY2FuIGludGVyYWN0IHdpdGggdGhlIHJlc3Qgb2YgdGhlIFVJLgorCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
aGFuZGxlVG91Y2hFdmVudFN5bmNocm9ub3VzbHkpOgorCiAyMDE4LTA1LTAzICBKdXN0aW4gRmFu
ICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdMXSBBZGQgcnVudGltZSBm
bGFnIGZvciBlbmFibGluZyBBU1RDIHN1cHBvcnQgaW4gV2ViR0wKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjMxMjUxKQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI5
Nyw3ICsyMjk3LDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVUb3VjaEV2ZW50U3luY2gK
IAogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiAgICAgYm9v
bCBoYW5kbGVkID0gZmFsc2U7Ci0gICAgbV9wcm9jZXNzLT5zZW5kU3luYyhNZXNzYWdlczo6V2Vi
UGFnZTo6VG91Y2hFdmVudFN5bmMoZXZlbnQpLCBNZXNzYWdlczo6V2ViUGFnZTo6VG91Y2hFdmVu
dFN5bmM6OlJlcGx5KGhhbmRsZWQpLCBtX3BhZ2VJRCk7CisgICAgYm9vbCByZXBseVJlY2VpdmVk
ID0gbV9wcm9jZXNzLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6VG91Y2hFdmVudFN5bmMo
ZXZlbnQpLCBNZXNzYWdlczo6V2ViUGFnZTo6VG91Y2hFdmVudFN5bmM6OlJlcGx5KGhhbmRsZWQp
LCBtX3BhZ2VJRCwgMV9zKTsKKyAgICAvLyBJZiB0aGUgc3luYyByZXF1ZXN0IGhhcyB0aW1lZCBv
dXQsIHdlIHNob3VsZCBjb25zaWRlciB0aGUgZXZlbnQgaGFuZGxlZC4gVGhlIFdlYiBQcm9jZXNz
IGlzIHRvbyBidXN5IHRvIGFuc3dlciBhbnkgcXVlc3Rpb25zLCBzbyB0aGUgZGVmYXVsdCBhY3Rp
b24gaXMgYWxzbyBsaWtlbHkgdG8gaGF2ZSBpc3N1ZXMuCisgICAgaWYgKHJlcGx5UmVjZWl2ZWQp
CisgICAgICAgIGhhbmRsZWQgPSB0cnVlOwogICAgIGRpZFJlY2VpdmVFdmVudChldmVudC50eXBl
KCksIGhhbmRsZWQpOwogICAgIG1fcGFnZUNsaWVudC5kb25lV2l0aFRvdWNoRXZlbnQoZXZlbnQs
IGhhbmRsZWQpOwogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0b3AoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>