Conversation
| ): FireDialog = withContext(dispatcherProvider.io()) { | ||
| when { | ||
| androidBrowserConfigFeature.singleTabFireDialog().isEnabled() -> | ||
| NonGranularFireDialog.newInstance() // TODO: Replace with SingleTabFireDialog |
There was a problem hiding this comment.
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 👎.
There was a problem hiding this comment.
This is temporary and it's changed in the subsequent PR. Also, granular fire dialog is not used, so it's not an issue.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
58bf14f to
7fe81b5
Compare
7fe81b5 to
ba76870
Compare
| * DeleteBrowsingData | ||
| * The ability to delete browsing data for specific sites via WebStorageCompat | ||
| */ | ||
| data object DeleteBrowsingData : WebViewCapability |
There was a problem hiding this comment.
should run this through API proposal before merging into develop
| ): FireDialog = withContext(dispatcherProvider.io()) { | ||
| when { | ||
| androidBrowserConfigFeature.singleTabFireDialog().isEnabled() -> | ||
| NonGranularFireDialog.newInstance() // TODO: Replace with SingleTabFireDialog |
ba76870 to
9ce1ed3
Compare



Task/Issue URL: https://app.asana.com/1/137249556945/task/1213074215455849
Description
This PR adds a
singeTabFireDialogfeature flag and a site-specific data clearing capability check. It also adds a newFireDialogOriginparameter 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 intoFireDialogProviderso this path takes priority overgranularFireDialog/improvedDataClearingOptionswhen choosing which fire dialog variant to show.Updates all fire-dialog entry points (browser, tab switcher, and settings screens) to pass a new
FireDialogOriginargument, and introduces a newFireDialogresult event (EVENT_ON_SINGLE_TAB_CLEAR_STARTED) thatBrowserActivityhandles to update tab UI state.Extends
WebViewCapabilityCheckerwith aDeleteBrowsingDatacapability and implements the check inRealWebViewCapabilityCheckerusingWebViewFeature.DELETE_BROWSING_DATA. Adds unit tests covering the new feature-flag priority logic inFireDialogProviderImpl.Written by Cursor Bugbot for commit 9ce1ed3. This will update automatically on new commits. Configure here.