From 1a062afc073d0fef625ab15938bd58a83b3745db Mon Sep 17 00:00:00 2001 From: Kyle Hickinson Date: Wed, 5 Jun 2024 20:37:40 -0400 Subject: [PATCH] [iOS] Fix crash when handling certain types of JS alert info actions --- .../Brave/Frontend/Browser/BrowserPrompts.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserPrompts.swift b/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserPrompts.swift index 2aaf028be77..bf24ffcd756 100644 --- a/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserPrompts.swift +++ b/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserPrompts.swift @@ -61,7 +61,7 @@ class JSPromptAlertController: UIAlertController { weak var delegate: JSPromptAlertControllerDelegate? - private var handledAction: Bool = false + fileprivate var handledAction: Bool = false override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) @@ -102,7 +102,8 @@ struct MessageAlert: JSAlertInfo { showCancel: false ) alertController.addAction( - UIAlertAction(title: Strings.OKString, style: .default) { _ in + UIAlertAction(title: Strings.OKString, style: .default) { [weak alertController] _ in + alertController?.handledAction = true self.completionHandler() } ) @@ -128,7 +129,8 @@ struct ConfirmPanelAlert: JSAlertInfo { info: self ) alertController.addAction( - UIAlertAction(title: Strings.OKString, style: .default) { _ in + UIAlertAction(title: Strings.OKString, style: .default) { [weak alertController] _ in + alertController?.handledAction = true self.completionHandler(true) } ) @@ -159,7 +161,8 @@ struct TextInputAlert: JSAlertInfo { input.text = self.defaultText }) alertController.addAction( - UIAlertAction(title: Strings.OKString, style: .default) { _ in + UIAlertAction(title: Strings.OKString, style: .default) { [weak alertController] _ in + alertController?.handledAction = true self.completionHandler(input.text) } )