<?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>311667</bug_id>
          
          <creation_ts>2026-04-07 12:20:18 -0700</creation_ts>
          <short_desc>[WPE] EventSenderProxy is sending separate events with identical timestamps</short_desc>
          <delta_ts>2026-04-09 08:19:37 -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>WPE WebKit</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lauro Moura">lmoura</reporter>
          <assigned_to name="Lauro Moura">lmoura</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2197721</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2026-04-07 12:20:18 -0700</bug_when>
    <thetext>Since 225273@main (6e8572e9fa63c), WPE&apos;s EventSenderProxy captures its creation time in EventSenderProxy::m_time, reusing it as the timestamp of its synthesized events. In order to &quot;advance&quot; events in time, this approach requires the tests to call EventSenderProxy::leapForward() through the InjectedBundle, as seen in several tests in fast/events, and fast/editing.

This approach does not work when the test relies on actual wall time separation between the events without calling leapForward(). For example, this is the pattern used in some WPT tests like imported/w3c/web-platform-tests/event-timing/gap-keydown-keyup.html and imported/w3c/web-platform-tests/event-timing/gap-pointerdown-pointerup.html, mentioned in bug301110:

```
await new test_driver.Actions().keyDown(&apos;a&apos;).send()
await something()
await new test_driver.Actions().keyUp(&apos;a&apos;).send()
// expect different timestamps
```

With the current approach, WPE&apos;s EventSenderProxy sends both keyDown and keyUp events with the same timestamp, despite being actually separated in time.

Patch incoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197759</commentid>
    <comment_count>1</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2026-04-07 14:37:13 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/62219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2198370</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-09 08:19:34 -0700</bug_when>
    <thetext>Committed 310845@main (fd4c158c5768): &lt;https://commits.webkit.org/310845@main&gt;

Reviewed commits have been landed. Closing PR #62219 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>