RESOLVED FIXED 207121
Regression(r253224) WKUIDelegate.webViewDidClose may get called twice after calling _tryClose on the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=207121
Summary Regression(r253224) WKUIDelegate.webViewDidClose may get called twice after c...
Chris Dumez
Reported 2020-02-03 08:58:42 PST
WKUIDelegate.webViewDidClose may get called twice after calling _tryClose on the WKWebView, in case we time out while waiting for an answer from the WebProcess but the WebProcess eventually responds.
Attachments
Patch (8.99 KB, patch)
2020-02-03 09:00 PST, Chris Dumez
no flags
Chris Dumez
Comment 1 2020-02-03 08:58:56 PST
Chris Dumez
Comment 2 2020-02-03 09:00:48 PST
WebKit Commit Bot
Comment 3 2020-02-03 14:21:58 PST
Comment on attachment 389521 [details] Patch Clearing flags on attachment: 389521 Committed r255595: <https://trac.webkit.org/changeset/255595>
WebKit Commit Bot
Comment 4 2020-02-03 14:22:00 PST
All reviewed patches have been landed. Closing bug.
Aakash Jain
Comment 5 2020-02-03 17:59:02 PST
> Committed r255595: <https://trac.webkit.org/changeset/255595> This seems to have broken api-gtk test: /WebKit2Gtk/TestUIClient:/webkit/WebKitWebView/javascript-dialogs Can you please check?
Carlos Garcia Campos
Comment 6 2020-02-04 01:23:26 PST
Comment on attachment 389521 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=389521&action=review > Source/WebKit/UIProcess/WebPageProxy.cpp:1134 > + // If we timed out, don't ask the client to close again. > + if (!m_tryCloseTimeoutTimer.isActive()) > + return; This is assuming that the timer being not active means we timed out, but WebPageProxy::runBeforeUnloadConfirmPanel() stops the timer.
Note You need to log in before you can comment on or make changes to this bug.