WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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
Details
Test case
(563 bytes, text/html)
2019-09-13 12:03 PDT
,
Ali Juma
no flags
Details
Patch
(9.02 KB, patch)
2019-09-16 15:50 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
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
Details
Patch
(11.77 KB, patch)
2019-09-17 08:32 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(5.54 KB, patch)
2019-09-20 15:29 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
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
<
rdar://problem/55350854
>
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
Created
attachment 378904
[details]
Patch
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
Created
attachment 378966
[details]
Patch
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
Created
attachment 379276
[details]
Patch
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.
Top of Page
Format For Printing
XML
Clone This Bug