Title: [234831] trunk/Source/WebCore
Revision
234831
Author
[email protected]
Date
2018-08-13 17:39:03 -0700 (Mon, 13 Aug 2018)

Log Message

[iOS] Crash at -[UIViewController _presentViewController:withAnimationController:completion:]
https://bugs.webkit.org/show_bug.cgi?id=188537
<rdar://problem/41400259>

Patch by James Savage <[email protected]> on 2018-08-13
Reviewed by Tim Horton.

* platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::show): Avoid hitting a UIKit exception for
presenting an already presented view controller by turning the scenario
into an early return.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (234830 => 234831)


--- trunk/Source/WebCore/ChangeLog	2018-08-14 00:02:36 UTC (rev 234830)
+++ trunk/Source/WebCore/ChangeLog	2018-08-14 00:39:03 UTC (rev 234831)
@@ -1,3 +1,16 @@
+2018-08-13  James Savage  <[email protected]>
+
+        [iOS] Crash at -[UIViewController _presentViewController:withAnimationController:completion:]
+        https://bugs.webkit.org/show_bug.cgi?id=188537
+        <rdar://problem/41400259>
+
+        Reviewed by Tim Horton.
+
+        * platform/ios/ValidationBubbleIOS.mm:
+        (WebCore::ValidationBubble::show): Avoid hitting a UIKit exception for
+        presenting an already presented view controller by turning the scenario
+        into an early return.
+
 2018-08-13  Alex Christensen  <[email protected]>
 
         Make CSSSelectorList a little more sane

Modified: trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm (234830 => 234831)


--- trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm	2018-08-14 00:02:36 UTC (rev 234830)
+++ trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm	2018-08-14 00:39:03 UTC (rev 234831)
@@ -135,6 +135,9 @@
 
 void ValidationBubble::show()
 {
+    if ([m_popoverController parentViewController] || [m_popoverController presentingViewController])
+        return;
+
     // Protect the validation bubble so it stays alive until it is effectively presented. UIKit does not deal nicely with
     // dismissing a popover that is being presented.
     RefPtr<ValidationBubble> protectedThis(this);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to