SigninInteractionController is using an AlertCoordinator to show signin errors (unless they have been handled internally by ChromeIdentityInteractionManager).
The errors need to be shown in two scenarios:
- Signin screen isn't shown (error is usually that it couldn't be shown, e.g. network error).
- Signin screen is shown (those errors are rare, they are mostly handled internally by ChromeIdentityInteractionManager, but they exist).
The first scenario is handled correctly but not the second. This is due to the top view controller being different from the one given to the AlertCoordinator. The AlertCoordinator needs its given view controller to be visible because it will present the alert on top of it.
We should probably pass the top visible view controller to AlertCoordinator instead.
Comment 1 by bugdroid1@chromium.org
, Jan 12 2017