• Kurt Horimoto's avatar
    [iOS] Handle adding modal requests for banner interaction for passwords. · 81fc6eaf
    Kurt Horimoto authored
    This CL adds support for presenting the password infobar modal UI via
    the banner interaction handler.  In order to accomplish this, the
    InfobarOverlayRequestInserter was converted into a WebStateUserData so
    that it can be accessed from OverlayRequest callbacks.  Additionally,
    this CL updates InfobarOverlayRequestFactoryImpl to add a factory that
    creates requests for modal UI.
    
    If an infobar is replaced while modal UI is displayed, modal UI for the
    replacement infobar should not immediately be shown; it needs to be
    accessed via interaction with the infobar banner or the badge.  In order
    to implement this behavior, InfobarOverlayRequestCancelHandler was
    refactored to be a superclass that does not perform any request
    replacement logic.  The replacement logic is now moved to a banner-
    specific subclass that will show the replacement infobar's banner if
    the banner for the replaced infobar is visible.
    
    Bug: 1030357
    Change-Id: I085110b8198029584fd94b8b55427d2e41e07bf5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2003258
    Commit-Queue: Kurt Horimoto <kkhorimoto@chromium.org>
    Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
    Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#737170}
    81fc6eaf
tab_helper_util.mm 7.71 KB