Closing all incognito tabs disables the "Done" button |
||||||
Issue descriptionCanary build from 3/22 What steps will reproduce the problem? (1) Make sure to have a few tabs open, both incongnito and non-incognito (2) Go to a non-incognito tab (3) Tap on tab switcher (4) Swipe left to see list of incognito tabs (5) Close them all by either hitting 'x' or 'Close all' Observed behavior: The "Done" button gets disabled in the incognito tab switcher. Expected result: The "Done" button should persist since the user can still tap on it to navigate back to the tab they originally came from (a non-incognito tab that wasn't closed yet). More details on logic of disabling the "Done" button: If the last-opened-tab is still open, the "Done" button should be enabled and always navigates back to it. If the last-opened-tab is closed from the tab switcher, the next tab over is highlighted with a ring and would open if user hits "Done." If the user closes the last-opened-tab and all other tabs in that section (incognito or non-incognito) then and only then is the "Done" button disabled and grayed out.
,
Mar 22 2018
,
Mar 23 2018
,
Mar 23 2018
A CL is in-flight! With a quickness...
,
Mar 23 2018
Fixed with the logic described in this bug. But marq@ mentioned in the CL that there might be edge cases. Please file a new bug if you see any edge cases that need to be handled differently.
,
Mar 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1bf8681e12d1f7b38c976f5a6fa5675dfc249d27 commit 1bf8681e12d1f7b38c976f5a6fa5675dfc249d27 Author: edchin <edchin@chromium.org> Date: Fri Mar 23 14:59:12 2018 [ios] Fix faulty done button logic The Done button logic was faulty in two ways: 1) Enabling/disabling logic was flawed. 2) Tapping Done would show incognito when it should show the regular tab. (And vice-versa). Done button should only disable after the original page (incognito or regular tabs) where the user entered the tab grid is depleted of tabs. This CL fixes this by bookkeeping the |originalPage| that the user entered the tab grid. This CL also modifies the TabPresentationDelegate's |-showActiveTab| so that the intended page is specified in the method. This allows the TabGridViewController to pass the |originalPage| for Done button taps, and the |currentPage| for new tab button taps or tab cell taps. Bug: 824921 , 824912 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: Ie81721a181f50b63a92722bf507986aa9596a4f5 Reviewed-on: https://chromium-review.googlesource.com/977561 Reviewed-by: Mark Cogan <marq@chromium.org> Reviewed-by: edchin <edchin@chromium.org> Commit-Queue: edchin <edchin@chromium.org> Cr-Commit-Position: refs/heads/master@{#545449} [modify] https://crrev.com/1bf8681e12d1f7b38c976f5a6fa5675dfc249d27/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm [modify] https://crrev.com/1bf8681e12d1f7b38c976f5a6fa5675dfc249d27/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h [modify] https://crrev.com/1bf8681e12d1f7b38c976f5a6fa5675dfc249d27/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
,
Mar 27 2018
Issue verified Version: Chrome Canary 67.0.3382.0 Device: iPhone 6 Plus iOS: 11.2.6 "Done" button no longer gets disabled in the incognito tab switcher, when tab switcher is initiated from a non incognito tab. https://drive.google.com/open?id=1pxmIJi7pLksuSDUfLyUO3edY7amtAXPh |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by ghendel@google.com
, Mar 22 2018