0

[Signin] Show IPH when skipping Sync Confirmation in Signin Intercept

The IPH message is not being shown when the Sync Confirmation dialog is
skipped because the modal dialog doesn't exist yet and is created in
DoProfileCustomization() with SigninViewControllerDelegate::
CreateProfileCustomizationDelegate() and thus the IPH message is not
shown because this step was done in the callback
ProfileCustomizationCloseOnCompletion() from
PreloadProfileCustomizationUI(), which was called from
DoSyncConfirmation().

SigninViewControllerDelegate::CreateProfileCustomizationDelegate() has
a show_profile_switch_iph parameter that can be enabled and the IPH is
then shown.

Fixed: 1369086
Change-Id: I9faff9bfa8f5025b144f8d1c0956337212fb740c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3938073
Commit-Queue: Gabriel Oliveira <gabolvr@google.com>
Reviewed-by: Alex Ilin <alexilin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1057057}
This commit is contained in:
Gabriel Oliveira
2022-10-10 18:19:57 +00:00
committed by Chromium LUCI CQ
parent 27458dac26
commit 76f6bb58d9

@@ -350,9 +350,13 @@ void SigninInterceptFirstRunExperienceDialog::DoProfileCustomization() {
RecordDialogEvent(DialogEvent::kShowProfileCustomization);
if (!dialog_delegate_) {
// Modal dialog doesn't exist yet, create a new one.
// TODO(crbug.com/1373101): Add a callback for handling customization result
// in `SigninViewControllerDelegate::CreateProfileCustomizationDelegate()`
// and pass it to `ProfileCustomizationUI::Initialize()`.
SetDialogDelegate(
SigninViewControllerDelegate::CreateProfileCustomizationDelegate(
browser_, /*is_local_profile_creation=*/false));
browser_, /*is_local_profile_creation=*/false,
/*show_profile_switch_iph=*/true));
return;
}