New issue
Advanced search Search tips

Issue 826288 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jul 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug
Q2



Sign in to add a comment

[iOS] Fix TabGrid appearance on app cold start

Project Member Reported by marq@chromium.org, Mar 27 2018

Issue description

On app launch, the BVC is animated into position from the tab grid (meaning the tab grid is briefly visible).
 

Comment 1 by marq@chromium.org, Mar 27 2018

Components: UI>Browser>Mobile>TabSwitcher

Comment 2 by marq@chromium.org, Mar 27 2018

Possible fix: add a method to ViewControllerSwapping that just populates the presented view controller without animation. Have MainController use that method during UI setup, and not -showTabViewController:completion:
Labels: Proj-UIRefresh

Comment 4 by marq@chromium.org, May 24 2018

NextAction: 2018-06-06
The NextAction date has arrived: 2018-06-06
Labels: -Pri-2 Pri-1

Comment 7 by marq@chromium.org, Jun 27 2018

NextAction: 2018-07-04
Moving open tasks to the current sprint.

Comment 8 by marq@chromium.org, Jun 27 2018

NextAction: ----
Labels: M-69
Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4102b507b7910df30872a3cae07558a2484283a4

commit 4102b507b7910df30872a3cae07558a2484283a4
Author: Mark Cogan <marq@google.com>
Date: Tue Jul 17 09:08:12 2018

[iOS] Fix tab grid appearing during launch.

This CL fixes the problem of the tab grid (the root view controller) being briefly visible when the app launches.

Note that this problem isn't simply a matter of the initial tab view controller (the BVC) being  presented with an animation at launch; even if the presentation isn't animated, the tab grid is visible for several frames as the app launches.

The fix in this CL is to (again) insert the launch image view on top of the tab grid during launch.

This is done inside the TabGridCoordinator. If the launch view is present, the presentation of the tab view controller isn't animated. The launch view is removed the first time a presentation completes, and it is never added again.

There are a few problems with this approach that should be resolved after M69 launches:

 - Futzing around with view hierarchies isn't something a coordinator should do. I'm doing it that way here because it at least keeps things well-contained.

 - Jamming the launch view in to spackle over UIKit glitches is getting kind of old.

Bug:  826288 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I701b550f9eef16452a608b839c9a321b6b7a966a
Reviewed-on: https://chromium-review.googlesource.com/1138329
Reviewed-by: edchin <edchin@chromium.org>
Commit-Queue: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575588}
[modify] https://crrev.com/4102b507b7910df30872a3cae07558a2484283a4/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm

Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Verified in 70.0.3500.0 Canary, iPhone X  iOS 11.4.1

https://drive.google.com/file/d/1btBnAQEwIlnIoYhyzjfhhI-yD-1DEh23/view?usp=sharing

Sign in to add a comment