Skip to content

Single tab burning: Feature flag#7706

Merged
0nko merged 10 commits intodevelopfrom
feature/ondrej/single-tab-burn-feture-flag
Feb 12, 2026
Merged

Single tab burning: Feature flag#7706
0nko merged 10 commits intodevelopfrom
feature/ondrej/single-tab-burn-feture-flag

Conversation

@0nko
Copy link
Member

@0nko 0nko commented Feb 9, 2026

Task/Issue URL: https://app.asana.com/1/137249556945/task/1213074215455849

Description

This PR adds a singeTabFireDialog feature flag and a site-specific data clearing capability check. It also adds a new FireDialogOrigin parameter to be able to customize the UI based on the origin.

Steps to test this PR

QA-optional


Note

Medium Risk
Touches data-clearing UI entry points and feature-flag-driven dialog selection logic; incorrect flag priority or event handling could lead to showing the wrong dialog or inconsistent UI state during clearing.

Overview
Adds a new remote-config feature flag, singleTabFireDialog, and wires it into FireDialogProvider so this path takes priority over granularFireDialog/improvedDataClearingOptions when choosing which fire dialog variant to show.

Updates all fire-dialog entry points (browser, tab switcher, and settings screens) to pass a new FireDialogOrigin argument, and introduces a new FireDialog result event (EVENT_ON_SINGLE_TAB_CLEAR_STARTED) that BrowserActivity handles to update tab UI state.

Extends WebViewCapabilityChecker with a DeleteBrowsingData capability and implements the check in RealWebViewCapabilityChecker using WebViewFeature.DELETE_BROWSING_DATA. Adds unit tests covering the new feature-flag priority logic in FireDialogProviderImpl.

Written by Cursor Bugbot for commit 9ce1ed3. This will update automatically on new commits. Configure here.

@0nko 0nko requested a review from CDRussell February 9, 2026 17:12
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

): FireDialog = withContext(dispatcherProvider.io()) {
when {
androidBrowserConfigFeature.singleTabFireDialog().isEnabled() ->
NonGranularFireDialog.newInstance() // TODO: Replace with SingleTabFireDialog
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New feature flag shadows existing granular fire dialog

Medium Severity

The singleTabFireDialog feature flag check is placed first in the when block, so when it's enabled remotely it takes priority over the granularFireDialog check. Since the placeholder returns NonGranularFireDialog.newInstance() (not the actual SingleTabFireDialog), enabling this flag while granularFireDialog is also active would silently regress users from the GranularFireDialog to the NonGranularFireDialog.


Please tell me if this was useful or not with a 👍 or 👎.

Fix in Cursor Fix in Web

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0nko seems valid?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is temporary and it's changed in the subsequent PR. Also, granular fire dialog is not used, so it's not an issue.

Copy link
Member Author

0nko commented Feb 10, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@0nko 0nko mentioned this pull request Feb 10, 2026
3 tasks
@0nko 0nko force-pushed the feature/ondrej/single-tab-burn-feture-flag branch 2 times, most recently from 58bf14f to 7fe81b5 Compare February 10, 2026 21:48
@0nko 0nko changed the base branch from develop to graphite-base/7706 February 10, 2026 21:54
@0nko 0nko force-pushed the feature/ondrej/single-tab-burn-feture-flag branch from 7fe81b5 to ba76870 Compare February 10, 2026 21:55
@0nko 0nko changed the base branch from graphite-base/7706 to feature/ondrej/destructive-secondary-button February 10, 2026 21:55
@CDRussell CDRussell self-assigned this Feb 11, 2026
* DeleteBrowsingData
* The ability to delete browsing data for specific sites via WebStorageCompat
*/
data object DeleteBrowsingData : WebViewCapability
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should run this through API proposal before merging into develop

): FireDialog = withContext(dispatcherProvider.io()) {
when {
androidBrowserConfigFeature.singleTabFireDialog().isEnabled() ->
NonGranularFireDialog.newInstance() // TODO: Replace with SingleTabFireDialog
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0nko seems valid?

Base automatically changed from feature/ondrej/destructive-secondary-button to develop February 11, 2026 16:48
@0nko 0nko force-pushed the feature/ondrej/single-tab-burn-feture-flag branch from ba76870 to 9ce1ed3 Compare February 12, 2026 09:05
@0nko 0nko merged commit 1b4b24c into develop Feb 12, 2026
10 checks passed
@0nko 0nko deleted the feature/ondrej/single-tab-burn-feture-flag branch February 12, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants