1. 03 Dec, 2019 39 commits
  2. 02 Dec, 2019 1 commit
    • Eugene But's avatar
      Fix SKStoreProductViewController dismissal in StoreKitCoordinator. · 987f407f
      Eugene But authored
      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: default avatarMohammad Refaat <mrefaat@chromium.org>
      Reviewed-by: default avataredchin <edchin@chromium.org>
      Auto-Submit: Eugene But <eugenebut@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#720711}
      987f407f