Bug 255682 - [REGRESSION][WPE] requestAnimationFrame stops before script initiated navigation is committed
Summary: [REGRESSION][WPE] requestAnimationFrame stops before script initiated navigat...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-19 14:31 PDT by Yury Semikhatsky
Modified: 2023-05-05 11:09 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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?