[iOS] Exit guided tour when opening from external intent [chromium/src : main]

0 views
Skip to first unread message

Robbie Gibson (Gerrit)

unread,
Feb 4, 2026, 4:06:47 PMFeb 4
to Gauthier Ambard, chromium...@chromium.org, ios-revie...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org
Attention needed from Gauthier Ambard

Robbie Gibson voted and added 2 comments

Votes added by Robbie Gibson

Commit-Queue+1

2 comments

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Robbie Gibson . resolved

+gambard, PTAL, especially at my question in tab_grid_view_controller. I have very little context for whether that change is safe. I don't know when the first branch is supposed to execute.

File ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_view_controller.mm
Line 387, Patchset 2 (Latest): if (!IsNewTabGridTransitionsEnabled()) {
Robbie Gibson . unresolved

After making the tour dismiss as part of `SceneCoordinator closePresentedViews]`, I encountered a bug where the toolbar would get hidden and never reappear. It looks like below, in `contentWillDisappearAnimated:`, during the dismissal, there was a `self.transitionCoordinator`, so `animateToolbarsForDisappearance` was called, hiding the toolbars.

But then when the tab grid reappeared, there was no transition coordinator, so the toolbars never showed.

The Transition Coordinator might have come from the Guided Tour bubble having a custom `UIViewControllerTransitioningDelegate`/animator.

I'm not sure if moving the check to outside this whole block could cause issues somewhere else.

Open in Gerrit

Related details

Attention is currently required from:
  • Gauthier Ambard
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I0c467878d5c7b5ab4efba62a4e3768c69b131645
Gerrit-Change-Number: 7545203
Gerrit-PatchSet: 2
Gerrit-Owner: Robbie Gibson <rkgi...@google.com>
Gerrit-Reviewer: Gauthier Ambard <gam...@chromium.org>
Gerrit-Reviewer: Robbie Gibson <rkgi...@google.com>
Gerrit-Attention: Gauthier Ambard <gam...@chromium.org>
Gerrit-Comment-Date: Wed, 04 Feb 2026 21:06:42 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Gauthier Ambard (Gerrit)

unread,
Feb 5, 2026, 4:47:32 AMFeb 5
to Robbie Gibson, Chromium LUCI CQ, chromium...@chromium.org, ios-revie...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org
Attention needed from Robbie Gibson

Gauthier Ambard voted and added 6 comments

Votes added by Gauthier Ambard

Code-Review+1

6 comments

File ios/chrome/app/profile/first_run_profile_agent.mm
Line 157, Patchset 5 (Latest): case GuidedTourStep::kTabGridIncognito:
Gauthier Ambard . unresolved

Is it expected that this one is doing the same thing as the kTabGridTabGroup? Maybe add a comment explaining why.

Line 167, Patchset 5 (Latest): [tabGridHandler hideTabGridGuidedTour];
Gauthier Ambard . unresolved

Add a break here

File ios/chrome/browser/first_run/guided_tour/ui/guided_tour_promo_view_controller.mm
Line 45, Patchset 5 (Latest):}
Gauthier Ambard . unresolved

Remove?

File ios/chrome/browser/shared/public/commands/tab_grid_commands.h
Line 42, Patchset 5 (Latest):- (void)hideTabGridGuidedTour;
Gauthier Ambard . unresolved

Add empty line and comment

File ios/chrome/browser/shared/public/commands/tab_grid_toolbar_commands.h
Line 17, Patchset 5 (Latest):// will be executed after the step dismisses.
Gauthier Ambard . unresolved

Update comment. Consider adding an empty line before the "hide" method and a comment

File ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_view_controller.mm
Line 387, Patchset 2: if (!IsNewTabGridTransitionsEnabled()) {
Robbie Gibson . unresolved

After making the tour dismiss as part of `SceneCoordinator closePresentedViews]`, I encountered a bug where the toolbar would get hidden and never reappear. It looks like below, in `contentWillDisappearAnimated:`, during the dismissal, there was a `self.transitionCoordinator`, so `animateToolbarsForDisappearance` was called, hiding the toolbars.

But then when the tab grid reappeared, there was no transition coordinator, so the toolbars never showed.

The Transition Coordinator might have come from the Guided Tour bubble having a custom `UIViewControllerTransitioningDelegate`/animator.

I'm not sure if moving the check to outside this whole block could cause issues somewhere else.

Gauthier Ambard

I am not sure animateToolbarsForAppearance is used at all. I suspect it is a leftover from when the BVC was presented?
At least, I am not able to trigger it.

Please try this code with the flag disabled to make sure it is working as you expect 😊

Open in Gerrit

Related details

Attention is currently required from:
  • Robbie Gibson
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I0c467878d5c7b5ab4efba62a4e3768c69b131645
Gerrit-Change-Number: 7545203
Gerrit-PatchSet: 5
Gerrit-Owner: Robbie Gibson <rkgi...@google.com>
Gerrit-Reviewer: Gauthier Ambard <gam...@chromium.org>
Gerrit-Reviewer: Robbie Gibson <rkgi...@google.com>
Gerrit-Attention: Robbie Gibson <rkgi...@google.com>
Gerrit-Comment-Date: Thu, 05 Feb 2026 09:47:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Robbie Gibson <rkgi...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Robbie Gibson (Gerrit)

unread,
1:50 PM (3 hours ago) 1:50 PM
to Gauthier Ambard, Chromium LUCI CQ, chromium...@chromium.org, ios-revie...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org
Attention needed from Gauthier Ambard

Robbie Gibson added 5 comments

File ios/chrome/app/profile/first_run_profile_agent.mm
Line 157, Patchset 5: case GuidedTourStep::kTabGridIncognito:
Gauthier Ambard . resolved

Is it expected that this one is doing the same thing as the kTabGridTabGroup? Maybe add a comment explaining why.

Robbie Gibson

Yes, it's expected, adding comment.

Line 167, Patchset 5: [tabGridHandler hideTabGridGuidedTour];
Gauthier Ambard . resolved

Add a break here

Robbie Gibson

Done

File ios/chrome/browser/first_run/guided_tour/ui/guided_tour_promo_view_controller.mm
Line 45, Patchset 5:}
Gauthier Ambard . resolved

Remove?

Robbie Gibson

Done, thanks.

File ios/chrome/browser/shared/public/commands/tab_grid_commands.h
Line 42, Patchset 5:- (void)hideTabGridGuidedTour;
Gauthier Ambard . resolved

Add empty line and comment

Robbie Gibson

Done.

File ios/chrome/browser/shared/public/commands/tab_grid_toolbar_commands.h
Line 17, Patchset 5:// will be executed after the step dismisses.
Gauthier Ambard . resolved

Update comment. Consider adding an empty line before the "hide" method and a comment

Robbie Gibson

Done.

Open in Gerrit

Related details

Attention is currently required from:
  • Gauthier Ambard
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I0c467878d5c7b5ab4efba62a4e3768c69b131645
    Gerrit-Change-Number: 7545203
    Gerrit-PatchSet: 6
    Gerrit-Owner: Robbie Gibson <rkgi...@google.com>
    Gerrit-Reviewer: Gauthier Ambard <gam...@chromium.org>
    Gerrit-Reviewer: Robbie Gibson <rkgi...@google.com>
    Gerrit-Attention: Gauthier Ambard <gam...@chromium.org>
    Gerrit-Comment-Date: Tue, 24 Feb 2026 18:50:15 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Gauthier Ambard <gam...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages