RESOLVED FIXED Bug 201767
REGRESSION (iOS 13): rAF stops firing when navigating away cross-origin and then back
https://bugs.webkit.org/show_bug.cgi?id=201767
Summary REGRESSION (iOS 13): rAF stops firing when navigating away cross-origin and t...
Ali Juma
Reported 2019-09-13 11:55:52 PDT
Created attachment 378740 [details] Test case Steps to reproduce (from https://bugs.chromium.org/p/chromium/issues/detail?id=1003803): 1) Visit the attached test page. Notice the counter gets updated once every 10 frames using rAF. 2) Navigate away, either by clicking on the button or just by typing a URL in the usual way. 3) Go back to the first page. Expected result: The counter resumes updating. Actual result: The counter is either frozen or updates very slowly (e.g., only updates while pinch-zooming and then stops again). This seems to be related to the fact the test case only updates the page once every 10 rAF callbacks; if I change this to update the page on every rAF, the bug no longer repros.
Attachments
Test case (564 bytes, text/html)
2019-09-13 11:55 PDT, Ali Juma
no flags
Test case (563 bytes, text/html)
2019-09-13 12:03 PDT, Ali Juma
no flags
Patch (9.02 KB, patch)
2019-09-16 15:50 PDT, Chris Dumez
no flags
Archive of layout-test-results from ews214 for win-future (13.72 MB, application/zip)
2019-09-16 17:25 PDT, EWS Watchlist
no flags
Patch (11.77 KB, patch)
2019-09-17 08:32 PDT, Chris Dumez
no flags
Patch (5.54 KB, patch)
2019-09-20 15:29 PDT, Chris Dumez
no flags
Ali Juma
Comment 1 2019-09-13 12:03:12 PDT
Created attachment 378742 [details] Test case It also seems important that the URL used in Step 2 is cross-origin wrt the URL from step 1.
Simon Fraser (smfr)
Comment 2 2019-09-13 13:43:46 PDT
That suggests that it's PSON-related.
Radar WebKit Bug Importer
Comment 3 2019-09-13 13:44:07 PDT
Antoine Quint
Comment 4 2019-09-16 01:16:31 PDT
Can you confirm this is with an iOS 13.1 beta? This is what I can gather from the Chromium bug but it would be nice for this bug to contain the configuration.
Ali Juma
Comment 5 2019-09-16 05:53:34 PDT
(In reply to Antoine Quint from comment #4) > Can you confirm this is with an iOS 13.1 beta? This is what I can gather > from the Chromium bug but it would be nice for this bug to contain the > configuration. This reproduces in iOS 13.1 beta 3, but also reproduces in iOS 13.0. However, it does not reproduce in iOS 12.4.
Ali Juma
Comment 6 2019-09-16 08:33:58 PDT
Debugging this a bit, we're stuck in a state where RenderingUpdateScheduler::isScheduled is true, but RenderingUpdateScheduler::displayRefreshFired never gets called.
Chris Dumez
Comment 7 2019-09-16 13:46:22 PDT
Ok, I can reproduce with the test case attached, thanks. I will investigate. It does not likely related to PSON although, PSON really did not change much in iOS 13.
Chris Dumez
Comment 8 2019-09-16 14:34:07 PDT
I have a fix, working on an automated test.
Chris Dumez
Comment 9 2019-09-16 15:50:38 PDT
Geoffrey Garen
Comment 10 2019-09-16 16:07:34 PDT
Comment on attachment 378904 [details] Patch r=me
EWS Watchlist
Comment 11 2019-09-16 17:24:48 PDT
Comment on attachment 378904 [details] Patch Attachment 378904 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/13037841 New failing tests: http/tests/navigation/page-cache-requestAnimationFrame.html
EWS Watchlist
Comment 12 2019-09-16 17:25:03 PDT
Created attachment 378918 [details] Archive of layout-test-results from ews214 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews214 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Chris Dumez
Comment 13 2019-09-17 08:30:56 PDT
Comment on attachment 378904 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=378904&action=review > LayoutTests/http/tests/navigation/page-cache-requestAnimationFrame.html:1 > +<!-- webkit-test-runner [ enablePageCache=true ] --> I need to add support for this to DRT so the test passes for WebKit1. Will do so before landing.
Chris Dumez
Comment 14 2019-09-17 08:32:33 PDT
Chris Dumez
Comment 15 2019-09-17 10:09:55 PDT
Comment on attachment 378966 [details] Patch Clearing flags on attachment: 378966 Committed r249961: <https://trac.webkit.org/changeset/249961>
Chris Dumez
Comment 16 2019-09-17 10:09:57 PDT
All reviewed patches have been landed. Closing bug.
Chris Dumez
Comment 17 2019-09-20 15:00:53 PDT
Reopening for follow-up since this introduced crashes.
Chris Dumez
Comment 18 2019-09-20 15:29:37 PDT
Tim Horton
Comment 19 2019-09-20 15:35:10 PDT
Comment on attachment 379276 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=379276&action=review > LayoutTests/http/tests/navigation/page-cache-requestAnimationFrame.html:42 > + }, 100); This is ... not ideal, but OK
Chris Dumez
Comment 20 2019-09-20 16:46:49 PDT
Comment on attachment 379276 [details] Patch Clearing flags on attachment: 379276 Committed r250165: <https://trac.webkit.org/changeset/250165>
Chris Dumez
Comment 21 2019-09-20 16:46:51 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.