Decouple default browser and taskbar pinning [chromium/src : main]

0 views
Skip to first unread message

Deepak Ravichandran (Gerrit)

unread,
Feb 6, 2026, 11:38:57 PM (13 hours ago) Feb 6
to Eshwar Stalin, Jesse McKenna, David Bienvenu, Ian Clelland, chromium...@chromium.org, nicolas...@chromium.org, ydago...@chromium.org

Deepak Ravichandran added 4 comments

Commit Message
Line 7, Patchset 19:Decouple Startup Default Browser and Pin Inforbar prompts with randomized execution
Jesse McKenna . resolved

Oops, one more comment: please make the first line of the commit message 50 characters or less (60 max), per https://www.chromium.org/chromium-os/developer-library/guides/development/contributing/#commit-messages

Deepak Ravichandran

Done

Jesse McKenna

Looks like this was missed : ) how about "Decouple default browser and taskbar pinning" per davidbienvenu@'s earlier suggestion?

Deepak Ravichandran

Done

File chrome/browser/ui/startup/infobar_utils.cc
Line 210, Patchset 23: base::OnceCallback<void(bool)> default_browser_prompt_shown_callback =
base::DoNothing();
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
if (base::FeatureList::IsEnabled(features::kPdfInfoBar)) {
default_browser_prompt_shown_callback = base::BindOnce(
&pdf::infobar::PdfInfoBarController::MaybeShowInfoBarAtStartup,
browser->GetWeakPtr());
}
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
Eshwar Stalin . resolved

This probably should be declared inside the `is_first_run == chrome::startup::IsFirstRun::kNo` block. But also might be better to integrate the pdf checks inside the else case since it would be easier to read and follow the code.

Deepak Ravichandran

great idea - done.

Line 264, Patchset 23: ShowDefaultBrowserPrompt(
profile, std::move(default_browser_prompt_shown_callback));
Eshwar Stalin . resolved

So this is default browser with either pinning if enabled or fallback to pdf if enabled.

Deepak Ravichandran

Added a comment.

Line 268, Patchset 23: ShowDefaultBrowserPrompt(profile,
std::move(default_browser_prompt_shown_callback));
Eshwar Stalin . resolved

So this is purely default browser path since it's non mac/windows

Deepak Ravichandran

Added a comment.

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • 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: I027092a528e31e89a63ccf0ce1ad2b346d86c519
Gerrit-Change-Number: 7530456
Gerrit-PatchSet: 26
Gerrit-Owner: Deepak Ravichandran <dee...@google.com>
Gerrit-Reviewer: David Bienvenu <davidb...@chromium.org>
Gerrit-Reviewer: Eshwar Stalin <est...@chromium.org>
Gerrit-Reviewer: Jesse McKenna <jessem...@google.com>
Gerrit-CC: Ian Clelland <icle...@chromium.org>
Gerrit-Comment-Date: Sat, 07 Feb 2026 04:38:46 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Deepak Ravichandran <dee...@google.com>
Comment-In-Reply-To: Eshwar Stalin <est...@chromium.org>
Comment-In-Reply-To: Jesse McKenna <jessem...@google.com>
satisfied_requirement
open
diffy

Eshwar Stalin (Gerrit)

unread,
1:06 AM (12 hours ago) 1:06 AM
to Deepak Ravichandran, Jesse McKenna, David Bienvenu, Ian Clelland, chromium...@chromium.org, nicolas...@chromium.org, ydago...@chromium.org
Attention needed from Deepak Ravichandran

Eshwar Stalin voted and added 1 comment

Votes added by Eshwar Stalin

Code-Review+1

1 comment

Patchset-level comments
File-level comment, Patchset 26 (Latest):
Eshwar Stalin . resolved

Thanks. LGTM.

Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Ravichandran
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • 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: I027092a528e31e89a63ccf0ce1ad2b346d86c519
Gerrit-Change-Number: 7530456
Gerrit-PatchSet: 26
Gerrit-Owner: Deepak Ravichandran <dee...@google.com>
Gerrit-Reviewer: David Bienvenu <davidb...@chromium.org>
Gerrit-Reviewer: Eshwar Stalin <est...@chromium.org>
Gerrit-Reviewer: Jesse McKenna <jessem...@google.com>
Gerrit-CC: Ian Clelland <icle...@chromium.org>
Gerrit-Attention: Deepak Ravichandran <dee...@google.com>
Gerrit-Comment-Date: Sat, 07 Feb 2026 06:05:59 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Deepak Ravichandran (Gerrit)

unread,
10:05 AM (3 hours ago) 10:05 AM
to Chromium LUCI CQ, Eshwar Stalin, Jesse McKenna, David Bienvenu, Ian Clelland, chromium...@chromium.org, nicolas...@chromium.org, ydago...@chromium.org

Deepak Ravichandran voted Commit-Queue+2

Commit-Queue+2
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • 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: I027092a528e31e89a63ccf0ce1ad2b346d86c519
Gerrit-Change-Number: 7530456
Gerrit-PatchSet: 26
Gerrit-Owner: Deepak Ravichandran <dee...@google.com>
Gerrit-Reviewer: David Bienvenu <davidb...@chromium.org>
Gerrit-Reviewer: Deepak Ravichandran <dee...@google.com>
Gerrit-Reviewer: Eshwar Stalin <est...@chromium.org>
Gerrit-Reviewer: Jesse McKenna <jessem...@google.com>
Gerrit-CC: Ian Clelland <icle...@chromium.org>
Gerrit-Comment-Date: Sat, 07 Feb 2026 15:05:32 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Chromium LUCI CQ (Gerrit)

unread,
10:08 AM (3 hours ago) 10:08 AM
to Deepak Ravichandran, Eshwar Stalin, Jesse McKenna, David Bienvenu, Ian Clelland, chromium...@chromium.org, nicolas...@chromium.org, ydago...@chromium.org

Chromium LUCI CQ submitted the change

Change information

Commit message:
Decouple default browser and taskbar pinning

The goal is to eliminate cross-prompt dependencies and evaluate user
engagement when these prompts are treated as mutually exclusive,
parallel strands.

Key Changes:

- Randomized Execution Arms: Refactored AddInfoBarsIfNecessary in
infobar_utils.cc to randomly select (50/50 coin flip) between two
startup execution/experimental paths:
* Arm 0: Show "Default Browser prompt" to "PDF Default" check.
* Arm 1: Show "Pin to Taskbar/Dock prompt" to "PDF Default
check."
* This ensures only one major onboarding prompt is shown per
session while maintaining the PDF check as the final step in all cases.

- Complete Decoupling:
* Windows: Suppressed the legacy "combined" prompt logic in
DefaultBrowserPromptManager that typically merges Default and Pinning
into a single infobar.
* Mac/Win: Relaxed the PinInfoBarController to allow the pinning
prompt even if Chrome is not the default browser.

- Adjustable Experiment Parameters: Added base::FeatureParam support
to kSeparateDefaultAndPinPrompt to allow remote configuration of the
frequency caps for the experiment arm:
* random_seed: Allows forcing a specific experiment arm(0 or 1)
for deterministic testing.
* pin_max_count / pin_cooldown_days: Custom limits for the
Pinning prompt.
* default_max_count / default_cooldown_days: Custom limits for
the Default Browser prompt.

//======================CHEAT SHEET FOR TESTING=============
Ensure Chromium is not pinned to task bar or set to default.

* Run chrome after compiling - go through FRE;
* Do not set Chrome to default or pin to taskbar
out\Default\chrome.exe --user-data-dir=C:\tmp\test_profile

Run again to do actual testing;
*Test "Chrome defaulting flow"
out\Default\chrome.exe --user-data-dir=C:\tmp\test_profile --disable-features=SessionRestoreInfobar --enable-features=SeparateDefaultAndPinPrompt:random_seed/2/default_cooldown_days/0/default_max_count/100

*Test "Pin to taskbar flow"
out\Default\chrome.exe --user-data-dir=C:\tmp\test_profile --disable-features=SessionRestoreInfobar --enable-features=SeparateDefaultAndPinPrompt:random_seed/3/pin_cooldown_days/0/pin_max_count/100/default_cooldown_days/0/default_max_count/100,OfferPinToTaskbarInfoBar

* Delete the profile Directory
Remove-Item -Recurse -Force "C:\tmp\test_profile"
//=========END================================================
Bug: 480690447
Change-Id: I027092a528e31e89a63ccf0ce1ad2b346d86c519
Reviewed-by: David Bienvenu <davidb...@chromium.org>
Commit-Queue: Deepak Ravichandran <dee...@google.com>
Reviewed-by: Eshwar Stalin <est...@chromium.org>
Reviewed-by: Jesse McKenna <jessem...@google.com>
Cr-Commit-Position: refs/heads/main@{#1581344}
Files:
  • M chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_manager.cc
  • M chrome/browser/ui/startup/default_browser_prompt/pin_infobar/pin_infobar_controller.cc
  • M chrome/browser/ui/startup/default_browser_prompt/pin_infobar/pin_infobar_prefs.cc
  • M chrome/browser/ui/startup/infobar_utils.cc
  • M chrome/browser/ui/ui_features.cc
  • M chrome/browser/ui/ui_features.h
Change size: M
Delta: 6 files changed, 127 insertions(+), 29 deletions(-)
Branch: refs/heads/main
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Jesse McKenna, +1 by David Bienvenu, +1 by Eshwar Stalin
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I027092a528e31e89a63ccf0ce1ad2b346d86c519
Gerrit-Change-Number: 7530456
Gerrit-PatchSet: 27
Gerrit-Owner: Deepak Ravichandran <dee...@google.com>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: David Bienvenu <davidb...@chromium.org>
Gerrit-Reviewer: Deepak Ravichandran <dee...@google.com>
Gerrit-Reviewer: Eshwar Stalin <est...@chromium.org>
Gerrit-Reviewer: Jesse McKenna <jessem...@google.com>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages