[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-153.0esr-16.0-1] 6 commits: fixup! TB 44694: [android] Remove new Tab bar feature



Title: GitLab

brizental pushed to branch tor-browser-153.0esr-16.0-1 at The Tor Project / Applications / Tor Browser

Commits:

  • eac41a90
    by Beatriz Rizental at 2026-07-28T16:18:31+02:00
    fixup! TB 44694: [android] Remove new Tab bar feature
    
    Bug 45147: Enable android unit test builds.
    
  • 94f970fe
    by Beatriz Rizental at 2026-07-28T16:18:31+02:00
    fixup! TB 44098: [android] Disable sync
    
    Bug 45147: Enable android unit test builds.
    
  • 5202d68f
    by Beatriz Rizental at 2026-07-28T16:18:31+02:00
    fixup! TB 42655: [android] Implement "New circuit for this site" on Android
    
    Bug 45147: Enable android unit test builds.
    
  • de1a09f1
    by Beatriz Rizental at 2026-07-28T16:18:31+02:00
    fixup! [android] Disable features and functionality
    
    Bug 45147: Enable android unit test builds.
    
  • 092ce022
    by Beatriz Rizental at 2026-07-28T16:18:31+02:00
    fixup! [android] Delete unused media
    
    Bug 45147: Enable android unit test builds.
    
  • a054fea8
    by Beatriz Rizental at 2026-07-28T16:18:31+02:00
    fixup! [android] Modify UI/UX
    
    Bug 45147: Enable android unit test builds.
    

7 changed files:

Changes:

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/bookmarks/BookmarksMiddlewareTest.kt
    ... ... @@ -1230,31 +1230,8 @@ class BookmarksMiddlewareTest {
    1230 1230
                 assertFalse(exited)
    
    1231 1231
             }
    
    1232 1232
     
    
    1233
    -    @Test
    
    1234
    -    fun `GIVEN current screen is an empty list and the top-level is loaded WHEN sign into sync is clicked THEN navigate to sign into sync `() =
    
    1235
    -        runTest {
    
    1236
    -            coEvery {
    
    1237
    -                bookmarksStorage.countBookmarksInTrees(
    
    1238
    -                    listOf(
    
    1239
    -                        BookmarkRoot.Menu.id,
    
    1240
    -                        BookmarkRoot.Toolbar.id,
    
    1241
    -                        BookmarkRoot.Unfiled.id,
    
    1242
    -                    ),
    
    1243
    -                )
    
    1244
    -            } returns 0u
    
    1245
    -            coEvery { bookmarksStorage.getTree(BookmarkRoot.Mobile.id) } returns Result.success(
    
    1246
    -                generateBookmarkTree(),
    
    1247
    -            )
    
    1248
    -            var navigated = false
    
    1249
    -            navigateToSignIntoSync = { navigated = true }
    
    1250
    -            val middleware = buildMiddleware(this)
    
    1251
    -            val store = middleware.makeStore()
    
    1252
    -            testScheduler.advanceUntilIdle()
    
    1253
    -
    
    1254
    -            store.dispatch(SignIntoSyncClicked)
    
    1255
    -
    
    1256
    -            assertTrue(navigated)
    
    1257
    -        }
    
    1233
    +    // tor-browser#44098: sign-into-sync from bookmarks was removed, along with the
    
    1234
    +    // SignIntoSyncClicked action this test used to dispatch.
    
    1258 1235
     
    
    1259 1236
         @Test
    
    1260 1237
         fun `GIVEN current screen is a subfolder WHEN close is clicked THEN exit bookmarks `() =
    

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/menu/compose/MainMenuTest.kt
    ... ... @@ -94,6 +94,7 @@ class MainMenuTest {
    94 94
                         onIPProtectionClick = {},
    
    95 95
                         onIPProtectionNavigate = {},
    
    96 96
                         onShareButtonClick = {},
    
    97
    +                    onNewCircuitButtonClick = {},
    
    97 98
                         extensionsMenuItemDescription = null,
    
    98 99
                         moreSettingsSubmenu = {},
    
    99 100
                         extensionSubmenu = {},
    

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/metrics/MetricsUtilsTest.kt
    ... ... @@ -4,7 +4,6 @@
    4 4
     
    
    5 5
     package org.mozilla.fenix.components.metrics
    
    6 6
     
    
    7
    -import com.google.android.gms.ads.identifier.AdvertisingIdClient
    
    8 7
     import com.google.android.gms.common.GooglePlayServicesNotAvailableException
    
    9 8
     import com.google.android.gms.common.GooglePlayServicesRepairableException
    
    10 9
     import io.mockk.every
    
    ... ... @@ -13,6 +12,7 @@ import kotlinx.coroutines.test.runTest
    13 12
     import org.junit.Assert.assertArrayEquals
    
    14 13
     import org.junit.Assert.assertEquals
    
    15 14
     import org.junit.Assert.assertNull
    
    15
    +import org.junit.Ignore
    
    16 16
     import org.junit.Test
    
    17 17
     import java.io.IOException
    
    18 18
     
    
    ... ... @@ -34,21 +34,18 @@ class MetricsUtilsTest {
    34 34
     
    
    35 35
         @Test
    
    36 36
         fun `getAdvertisingID() returns null if the API returns null info`() {
    
    37
    -        val mockInfo: AdvertisingIdClient.Info = mockk()
    
    38
    -        every { mockInfo.id } returns null
    
    39
    -
    
    40
    -        assertNull(MetricsUtils.getAdvertisingID { mockInfo.id })
    
    37
    +        assertNull(MetricsUtils.getAdvertisingID { null })
    
    41 38
         }
    
    42 39
     
    
    40
    +    @Ignore("tor-browser#40014: the Google Advertising ID is neutered, so getAdvertisingID() always returns null")
    
    43 41
         @Test
    
    44 42
         fun `getAdvertisingID() returns a valid string if the API returns a valid ID`() {
    
    45 43
             val testId = "test-value-id"
    
    46
    -        val mockInfo: AdvertisingIdClient.Info = mockk()
    
    47
    -        every { mockInfo.id } returns testId
    
    48 44
     
    
    49
    -        assertEquals(testId, MetricsUtils.getAdvertisingID({ mockInfo.id }))
    
    45
    +        assertEquals(testId, MetricsUtils.getAdvertisingID({ testId }))
    
    50 46
         }
    
    51 47
     
    
    48
    +    @Ignore("tor-browser#40014: getHashedIdentifier() derives from getAdvertisingID(), which always returns null")
    
    52 49
         @Test
    
    53 50
         fun `getHashedIdentifier() returns a hashed identifier`() = runTest {
    
    54 51
             val testId = "test-value-id"
    

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddlewareTest.kt
    ... ... @@ -224,7 +224,7 @@ class BrowserToolbarMiddlewareTest {
    224 224
             coEvery { bookmarksStorage.getBookmarksWithUrl(any()) } returns Result.success(listOf(mockk()))
    
    225 225
             settings.shouldUseBottomToolbar = false
    
    226 226
             settings.shouldUseExpandedToolbar = false
    
    227
    -        settings.isTabStripEnabled = false
    
    227
    +        // settings.isTabStripEnabled = false
    
    228 228
         }
    
    229 229
     
    
    230 230
         @Test
    
    ... ... @@ -1266,7 +1266,7 @@ class BrowserToolbarMiddlewareTest {
    1266 1266
     
    
    1267 1267
         @Test
    
    1268 1268
         fun `GIVEN on a small screen with tabstrip is disabled and not using the extended layout THEN don't show a share button as page end action`() {
    
    1269
    -        settings.isTabStripEnabled = false
    
    1269
    +        // settings.isTabStripEnabled = false
    
    1270 1270
             settings.shouldUseExpandedToolbar = false
    
    1271 1271
     
    
    1272 1272
             val browserScreenStore = buildBrowserScreenStore()
    
    ... ... @@ -1278,7 +1278,7 @@ class BrowserToolbarMiddlewareTest {
    1278 1278
     
    
    1279 1279
         @Test
    
    1280 1280
         fun `GIVEN on a wide screen with tabstrip is disabled THEN show a share button as page end action`() {
    
    1281
    -        settings.isTabStripEnabled = false
    
    1281
    +        // settings.isTabStripEnabled = false
    
    1282 1282
             val browserScreenStore = buildBrowserScreenStore()
    
    1283 1283
             val middleware = buildMiddleware(
    
    1284 1284
                 browserScreenStore = browserScreenStore,
    
    ... ... @@ -1292,7 +1292,7 @@ class BrowserToolbarMiddlewareTest {
    1292 1292
     
    
    1293 1293
         @Test
    
    1294 1294
         fun `GIVEN on a large screen with tabstrip is enabled THEN don't show a share button as page end action`() {
    
    1295
    -        settings.isTabStripEnabled = true
    
    1295
    +        // settings.isTabStripEnabled = true
    
    1296 1296
             val browserScreenStore = buildBrowserScreenStore()
    
    1297 1297
             val middleware = buildMiddleware(appStore, browserScreenStore)
    
    1298 1298
             val toolbarStore = buildStore(middleware)
    
    ... ... @@ -1302,7 +1302,7 @@ class BrowserToolbarMiddlewareTest {
    1302 1302
     
    
    1303 1303
         @Test
    
    1304 1304
         fun `GIVEN the current tab shows a content page WHEN the share shortcut is clicked THEN record telemetry and start sharing the local resource`() = runTest(testDispatcher) {
    
    1305
    -        settings.isTabStripEnabled = true
    
    1305
    +        // settings.isTabStripEnabled = true
    
    1306 1306
             settings.shouldUseExpandedToolbar = false
    
    1307 1307
             settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
    
    1308 1308
             val browserScreenStore = buildBrowserScreenStore()
    
    ... ... @@ -1337,7 +1337,7 @@ class BrowserToolbarMiddlewareTest {
    1337 1337
     
    
    1338 1338
         @Test
    
    1339 1339
         fun `GIVEN the current tab shows a remote PDF WHEN the share shortcut is clicked THEN record telemetry and start sharing the remote resource`() {
    
    1340
    -        settings.isTabStripEnabled = true
    
    1340
    +        // settings.isTabStripEnabled = true
    
    1341 1341
             settings.shouldUseExpandedToolbar = false
    
    1342 1342
             settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
    
    1343 1343
             val browserScreenStore = buildBrowserScreenStore()
    
    ... ... @@ -1382,7 +1382,7 @@ class BrowserToolbarMiddlewareTest {
    1382 1382
     
    
    1383 1383
         @Test
    
    1384 1384
         fun `GIVEN the current tab shows a normal webpage WHEN the share shortcut is clicked THEN record telemetry and open the share dialog`() {
    
    1385
    -        settings.isTabStripEnabled = true
    
    1385
    +        // settings.isTabStripEnabled = true
    
    1386 1386
             settings.shouldUseExpandedToolbar = false
    
    1387 1387
             settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
    
    1388 1388
             settings.nativeShareSheetEnabled = false
    
    ... ... @@ -1430,7 +1430,7 @@ class BrowserToolbarMiddlewareTest {
    1430 1430
     
    
    1431 1431
         @Test
    
    1432 1432
         fun `WHEN the share shortcut is clicked THEN the share use case is invoked with the current tab's details`() {
    
    1433
    -        settings.isTabStripEnabled = true
    
    1433
    +        // settings.isTabStripEnabled = true
    
    1434 1434
             settings.shouldUseExpandedToolbar = false
    
    1435 1435
             settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
    
    1436 1436
     
    
    ... ... @@ -1471,7 +1471,7 @@ class BrowserToolbarMiddlewareTest {
    1471 1471
         @Test
    
    1472 1472
         fun `GIVEN on a small width with tabstrip is enabled and not using the extended layout THEN don't show a share button as browser end action`() {
    
    1473 1473
             settings.shouldUseExpandedToolbar = false
    
    1474
    -        settings.isTabStripEnabled = true
    
    1474
    +        // settings.isTabStripEnabled = true
    
    1475 1475
             val browserScreenStore = buildBrowserScreenStore()
    
    1476 1476
             val middleware = buildMiddleware(
    
    1477 1477
                 browserScreenStore = browserScreenStore,
    
    ... ... @@ -1491,7 +1491,7 @@ class BrowserToolbarMiddlewareTest {
    1491 1491
     
    
    1492 1492
         @Test
    
    1493 1493
         fun `GIVEN expanded toolbar with tabstrip and tall window WHEN changing to short window THEN show new tab, tab counter and menu`() = runTest(testDispatcher) {
    
    1494
    -        settings.isTabStripEnabled = true
    
    1494
    +        // settings.isTabStripEnabled = true
    
    1495 1495
             settings.shouldUseExpandedToolbar = true
    
    1496 1496
             val browserScreenStore = buildBrowserScreenStore()
    
    1497 1497
             var isWideScreen = false
    
    ... ... @@ -1526,7 +1526,7 @@ class BrowserToolbarMiddlewareTest {
    1526 1526
     
    
    1527 1527
         @Test
    
    1528 1528
         fun `GIVEN on a wide window with tabstrip and extended layout enabled THEN don't show a share button as browser end action`() {
    
    1529
    -        settings.isTabStripEnabled = true
    
    1529
    +        // settings.isTabStripEnabled = true
    
    1530 1530
             settings.shouldUseExpandedToolbar = true
    
    1531 1531
     
    
    1532 1532
             val browserScreenStore = buildBrowserScreenStore()
    
    ... ... @@ -1539,7 +1539,7 @@ class BrowserToolbarMiddlewareTest {
    1539 1539
         @Test
    
    1540 1540
         fun `WHEN cycling through tall window and wide window THEN update what end page actions should be shown`() {
    
    1541 1541
             val appStore = AppStore()
    
    1542
    -        settings.isTabStripEnabled = false
    
    1542
    +        // settings.isTabStripEnabled = false
    
    1543 1543
             settings.shouldUseExpandedToolbar = false
    
    1544 1544
             val readerModeStatus: ReaderModeStatus = mockk(relaxed = true) {
    
    1545 1545
                 every { isAvailable } returns true
    
    ... ... @@ -3156,7 +3156,7 @@ class BrowserToolbarMiddlewareTest {
    3156 3156
     
    
    3157 3157
         @Test
    
    3158 3158
         fun `GIVEN share shortcut is selected THEN update end page actions without share action`() = runTest(testDispatcher) {
    
    3159
    -        settings.isTabStripEnabled = false
    
    3159
    +        // settings.isTabStripEnabled = false
    
    3160 3160
             settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
    
    3161 3161
             val browserScreenStore = buildBrowserScreenStore()
    
    3162 3162
             val middleware = buildMiddleware(
    
    ... ... @@ -3353,7 +3353,7 @@ class BrowserToolbarMiddlewareTest {
    3353 3353
     
    
    3354 3354
         @Test
    
    3355 3355
         fun `GIVEN simple toolbar use share shortcut AND wide window with tabstrip enabled WHEN initializing toolbar THEN only show one Share in end browser actions`() {
    
    3356
    -        settings.isTabStripEnabled = true
    
    3356
    +        // settings.isTabStripEnabled = true
    
    3357 3357
             settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
    
    3358 3358
     
    
    3359 3359
             val middleware = buildMiddleware(
    

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/setup/store/ChecklistItemTest.kt
    ... ... @@ -7,6 +7,7 @@ package org.mozilla.fenix.home.setup.store
    7 7
     import androidx.annotation.StringRes
    
    8 8
     import io.mockk.every
    
    9 9
     import io.mockk.mockk
    
    10
    +import mozilla.components.lib.crash.R as crashR
    
    10 11
     import org.junit.Assert.assertEquals
    
    11 12
     import org.junit.Test
    
    12 13
     import org.mozilla.fenix.R
    
    ... ... @@ -149,7 +150,7 @@ class ChecklistItemTest {
    149 150
                 ChecklistItem.Task(
    
    150 151
                     type = ChecklistItem.Task.Type.SIGN_IN,
    
    151 152
                     title = R.string.setup_checklist_task_account_sync,
    
    152
    -                icon = R.drawable.ic_fx_accounts_avatar,
    
    153
    +                icon = crashR.drawable.mozac_lib_crash_notification,
    
    153 154
                     isCompleted = isCompleted,
    
    154 155
                 ),
    
    155 156
             )
    
    ... ... @@ -185,7 +186,7 @@ class ChecklistItemTest {
    185 186
                         ChecklistItem.Task(
    
    186 187
                             type = ChecklistItem.Task.Type.SIGN_IN,
    
    187 188
                             title = R.string.setup_checklist_task_account_sync,
    
    188
    -                        icon = R.drawable.ic_fx_accounts_avatar,
    
    189
    +                        icon = crashR.drawable.mozac_lib_crash_notification,
    
    189 190
                             isCompleted = isCompleted,
    
    190 191
                         ),
    
    191 192
                     ),
    
    ... ... @@ -258,7 +259,7 @@ class ChecklistItemTest {
    258 259
                         ChecklistItem.Task(
    
    259 260
                             type = ChecklistItem.Task.Type.SIGN_IN,
    
    260 261
                             title = R.string.setup_checklist_task_account_sync,
    
    261
    -                        icon = R.drawable.ic_fx_accounts_avatar,
    
    262
    +                        icon = crashR.drawable.mozac_lib_crash_notification,
    
    262 263
                             isCompleted = isCompleted,
    
    263 264
                         ),
    
    264 265
                     ),
    

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/DefaultCookieBannerDetailsControllerTest.kt
    ... ... @@ -220,46 +220,7 @@ internal class DefaultCookieBannerDetailsControllerTest {
    220 220
                 }
    
    221 221
             }
    
    222 222
     
    
    223
    -    @Test
    
    224
    -    fun `GIVEN cookie banner mode is site not supported WHEN handleRequestSiteSupportPressed THEN request report site domain`() =
    
    225
    -        runTest(testDispatcher) {
    
    226
    -            val store = BrowserStore(
    
    227
    -                BrowserState(
    
    228
    -                    customTabs = listOf(
    
    229
    -                        createCustomTab(
    
    230
    -                            url = "https://www.mozilla.org",
    
    231
    -                            id = "mozilla",
    
    232
    -                        ),
    
    233
    -                    ),
    
    234
    -                ),
    
    235
    -            )
    
    236
    -            every { testContext.components.core.store } returns store
    
    237
    -            coEvery { controller.getTabDomain(any()) } returns "mozilla.org"
    
    238
    -            every { protectionsStore.dispatch(any()) } returns mockk()
    
    239
    -
    
    240
    -            val job = Pings.cookieBannerReportSite.testBeforeNextSubmit {
    
    241
    -                assertNotNull(CookieBanners.reportSiteDomain.testGetValue())
    
    242
    -                assertEquals("mozilla.org", CookieBanners.reportSiteDomain.testGetValue())
    
    243
    -            }
    
    244
    -            controller.handleRequestSiteSupportPressed()
    
    245
    -            testScheduler.advanceUntilIdle()
    
    246
    -
    
    247
    -            job.join()
    
    248
    -
    
    249
    -            assertNotNull(CookieBanners.reportDomainSiteButton.testGetValue())
    
    250
    -            testScheduler.advanceUntilIdle()
    
    251
    -            coVerifyOrder {
    
    252
    -                protectionsStore.dispatch(
    
    253
    -                    ProtectionsAction.RequestReportSiteDomain(
    
    254
    -                        "mozilla.org",
    
    255
    -                    ),
    
    256
    -                )
    
    257
    -                protectionsStore.dispatch(
    
    258
    -                    ProtectionsAction.UpdateCookieBannerMode(
    
    259
    -                        cookieBannerUIMode = CookieBannerUIMode.REQUEST_UNSUPPORTED_SITE_SUBMITTED,
    
    260
    -                    ),
    
    261
    -                )
    
    262
    -                cookieBannersStorage.saveSiteDomain("mozilla.org")
    
    263
    -            }
    
    264
    -        }
    
    223
    +    // tor-browser#42089: the ability to submit site support requests was removed, along with
    
    224
    +    // handleRequestSiteSupportPressed(), ProtectionsAction.RequestReportSiteDomain and
    
    225
    +    // CookieBannerUIMode.REQUEST_UNSUPPORTED_SITE_SUBMITTED this test used to exercise.
    
    265 226
     }

  • mobile/android/fenix/app/src/test/java/org/mozilla/fenix/tabstray/TabManagerCfrControllerTest.kt
    ... ... @@ -100,7 +100,7 @@ class TabManagerCfrControllerTest {
    100 100
         @Test
    
    101 101
         fun `GIVEN an adjacent tab WHEN maybeMarkTabSwipeCfrReady is called THEN shouldShowTabSwipeCfr is set`() {
    
    102 102
             settings.hasShownTabSwipeCFR = false
    
    103
    -        settings.isTabStripEnabled = false
    
    103
    +        // settings.isTabStripEnabled = false
    
    104 104
             settings.isSwipeToolbarToSwitchTabsEnabled = true
    
    105 105
             settings.shouldShowTabSwipeCFR = false
    
    106 106
             val adjacentTab = createTab(id = "tab2", url = "")
    

  • _______________________________________________
    tor-commits mailing list -- tor-commits@xxxxxxxxxxxxxxxxxxxx
    To unsubscribe send an email to tor-commits-leave@xxxxxxxxxxxxxxxxxxxx