Title: [247410] trunk/Source/WebKit
Revision
247410
Author
jiewen_...@apple.com
Date
2019-07-12 17:53:30 -0700 (Fri, 12 Jul 2019)

Log Message

SOAuthorizationSession::presentViewController should check WebPageProxy::isClosed()
https://bugs.webkit.org/show_bug.cgi?id=199755
<rdar://problem/52323585>

Reviewed by Chris Dumez.

WebPageProxy::pageClient() is not guaranteed to be non null all the time. Therefore, we should check
WebPageProxy::isClosed() before using it.

* UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::presentViewController):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (247409 => 247410)


--- trunk/Source/WebKit/ChangeLog	2019-07-13 00:22:54 UTC (rev 247409)
+++ trunk/Source/WebKit/ChangeLog	2019-07-13 00:53:30 UTC (rev 247410)
@@ -1,3 +1,17 @@
+2019-07-12  Jiewen Tan  <jiewen_...@apple.com>
+
+        SOAuthorizationSession::presentViewController should check WebPageProxy::isClosed()
+        https://bugs.webkit.org/show_bug.cgi?id=199755
+        <rdar://problem/52323585>
+
+        Reviewed by Chris Dumez.
+
+        WebPageProxy::pageClient() is not guaranteed to be non null all the time. Therefore, we should check
+        WebPageProxy::isClosed() before using it.
+
+        * UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
+        (WebKit::SOAuthorizationSession::presentViewController):
+
 2019-07-12  Chris Dumez  <cdu...@apple.com>
 
         Regression(macOS Catalina): Cannot quick look html documents in Mail

Modified: trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm (247409 => 247410)


--- trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm	2019-07-13 00:22:54 UTC (rev 247409)
+++ trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm	2019-07-13 00:53:30 UTC (rev 247410)
@@ -183,7 +183,7 @@
 {
     ASSERT(m_state == State::Active);
     // Only expect at most one UI session for the whole authorization session.
-    if (!m_page || m_viewController) {
+    if (!m_page || m_page->isClosed() || m_viewController) {
         uiCallback(NO, adoptNS([[NSError alloc] initWithDomain:SOErrorDomain code:kSOErrorAuthorizationPresentationFailed userInfo:nil]).get());
         return;
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to