Bug 255682

Summary: [REGRESSION][WPE] requestAnimationFrame stops before script initiated navigation is committed
Product: WebKit Reporter: Yury Semikhatsky <yurys>
Component: WPE WebKitAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: aperez, bugs-noreply, dpino, max
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Yury Semikhatsky 2023-04-19 14:31:58 PDT
Steps to reproduce:


1. Bring up a web servert that would just hang on requests to http://127.0.0.1/slow.html
2. Navigate to a page with the following content:

```
<body>
<script>
  let i = 1;
  const print = () => {
    document.body.textContent = ('raf #' + i);
    console.log('raf #' + i);
    i++;
    if (i === 5) {
      location.href = 'http://127.0.0.1/slow.html';
    }
    requestAnimationFrame(print);
  }
  print();
</script>
</body>
```

Expected: page keeps running rAF's before new navigation is committed.
Actual: rAF's stop soon after provisional navigation is started.


Note: this has to do with libwpe/wpebackend-fdo. It worked with libwpe-1.8.0/wpebackend-fdo-1.8.0 and stopped working after switching the deps to libwpe-1.14.0/wpebackend-fdo-1.14.0.
Comment 1 Yury Semikhatsky 2023-04-19 20:41:58 PDT
It seems that it regressed somewhere between wpebackend-fdo 1.8.0 (good) and 1.8.4 (broken).
Comment 2 Yury Semikhatsky 2023-04-20 10:19:07 PDT
Ok, I pinpointed it to https://github.com/Igalia/WPEBackend-fdo/compare/1.8.2...1.8.3 which is basically this commit: https://github.com/Igalia/WPEBackend-fdo/commit/1a4fd5f0ac3d759867301e7b7366f71e2a501630

@aperez can you have a look?