Fix SKStoreProductViewController dismissal in StoreKitCoordinator.
Do not call -dismissViewControllerAnimated:completion: on |self.baseViewController|, since the receiver of the method can be dismissed if there is no presented view controller. On iOS 12 SKStoreProductViewControllerDelegate is responsible for dismissing SKStoreProductViewController. On iOS 13.0 OS dismisses SKStoreProductViewController after calling -productViewControllerDidFinish: On iOS 13.2 OS dismisses SKStoreProductViewController before calling -productViewControllerDidFinish: Calling -dismissViewControllerAnimated:completion: on |self.baseViewController| on iOS 13.2 will dismiss base view controller and break the application UI. According to SKStoreProductViewController documentation the delegate is responsible for calling deprecated dismissModalViewControllerAnimated: so the documentation is clearly outdated and this code should be resilient to different SKStoreProductViewController behavior without relying on iOS version check (see crbug.com/1027058). Bug: 1027058 Change-Id: Ib3918930b9950e79b088f14b3d0424e42d7b5c58 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1928590 Commit-Queue: Eugene But <eugenebut@chromium.org> Reviewed-by:Mohammad Refaat <mrefaat@chromium.org> Reviewed-by:
edchin <edchin@chromium.org> Auto-Submit: Eugene But <eugenebut@chromium.org> Cr-Commit-Position: refs/heads/master@{#720711}
Showing
Please register or sign in to comment