Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a2555ef76ee7191c3726a000a635c285704e355a https://github.com/WebKit/WebKit/commit/a2555ef76ee7191c3726a000a635c285704e355a Author: Sihui Liu <sihui_...@apple.com> Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths: M LayoutTests/http/tests/navigation/page-cache-getUserMedia-pending-promise-expected.txt M LayoutTests/http/tests/navigation/page-cache-getUserMedia-pending-promise.html M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp Log Message: ----------- REGRESSION (276119@main): [ macOS iOS ] http/tests/navigation/page-cache-getUserMedia-pending-promise.html is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=271063 rdar://problem/124698382 Reviewed by Chris Dumez. In existing implementation, when main document of page changes (e.g. due to reload or navigation), we invalidate all existing media permission requests and clear cache (UserMediaPermissionRequestManagerProxy::resetAccess). However, the invalidation (UserMediaPermissionRequestProxy::invalidate) does not include sending backing request result to web process, so the Promise of getUserMedia() may never finish (since web process finishes it when receiving result from UI process). This causes trouble to the failed test, as it invokes getUserMedia(), immediately navigates away to a new link (main document changes), then navigates back to the previous page (page restored from page cache) and waits for the Promise returned by getUserMedia() to finish. To fix this issue, now UserMediaPermissionRequestManagerProxy::resetAccess calls UserMediaPermissionRequestProxy::deny instead of UserMediaPermissionRequestProxy::invalidate. * LayoutTests/http/tests/navigation/page-cache-getUserMedia-pending-promise-expected.txt: * LayoutTests/http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::resetAccess): Canonical link: https://commits.webkit.org/276618@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes