When all tabs are inside of tab groups, this patch allows the user to drag a tab to become a standalone tab at the end of the tab stirp. The user also has the ability to drop the tab into the end of the tab group at the end of the tab strip if the tab is dropped closer to the tab group.
Differential Revision: https://phabricator.services.mozilla.com/D229440
Adds tab group contexts to the functionality behind keyboard shortcuts for moving the active tab left/right in the tab strip
Differential Revision: https://phabricator.services.mozilla.com/D227253
This patch introduces `browser.tabs.insertAfterCurrentExceptPinned`.
Setting it to `true` open links from pinned tabs at the end of the tabbar.
Differential Revision: https://phabricator.services.mozilla.com/D69489
This patch adds a `closedGroups` array to the SessionRestore state, and
adds functionality that ensures closed tab groups end up in the closed
groups array and that closed tab counts respect closed groups.
This does not update `undoClosedTab` or any related methods. Attempting
to restore a closed tab group will result in an error.
Differential Revision: https://phabricator.services.mozilla.com/D226397
When closing the last visible tab, if there are any collapsed tab groups, make one of the tabs in a tab group active. Based on pre-existing behavior, activating a tab in a collapsed tab group causes the tab group to expand.
Currently, if you close the last visible tab while you still have collapsed tab groups present on the tab bar, the browser window will close. This is surprising and sad behavior for users.
Differential Revision: https://phabricator.services.mozilla.com/D228274
As per discussion with UX, we might want the toolbox background to be
different in (some of) our default themes in this case, but that seems
orthogonal, and this seems somewhat straight-forward.
Differential Revision: https://phabricator.services.mozilla.com/D227494
- you can now drag and drop when there are only 2 or 3 pinned tabs
- the position of the dragged tab has been fixed when scrolling overflow
Differential Revision: https://phabricator.services.mozilla.com/D227992
This patch adds a `closedGroups` array to the SessionRestore state, and
adds functionality that ensures closed tab groups end up in the closed
groups array and that closed tab counts respect closed groups.
This does not update `undoClosedTab` or any related methods. Attempting
to restore a closed tab group will result in an error.
Differential Revision: https://phabricator.services.mozilla.com/D226397
This patch adds a `closedGroups` array to the SessionRestore state, and
adds functionality that ensures closed tab groups end up in the closed
groups array and that closed tab counts respect closed groups.
This does not update `undoClosedTab` or any related methods. Attempting
to restore a closed tab group will result in an error.
Differential Revision: https://phabricator.services.mozilla.com/D226397
Currently, we provide a visual indicator + functionality to create a new tab group by dropping any tab onto any other tab. We think users will generally only use this to create new tab groups between standalone tabs; users are probably more likely to be making a mistake if they end up creating a new tab group by dropping a tab onto another tab that's already in a tab group. In order to prevent that, this patch just turns off the ability to create a new tab group by dropping onto any grouped tab.
Differential Revision: https://phabricator.services.mozilla.com/D228381
When all 9 tab group colors are in use, drag-drop code picks a random tab group color to highlight the tab drop target if the drop will create a tab group. The random pick is executed once per dragover event, so the color appears to change a few times a second. Kinda cool but distracting.
This patch chooses the next new tab group color on dragstart, saves that color on the drag data, and uses that color for all of the presentation + logic for creating a new tab group from a drop. The color will still be random when there are many tab groups, but the color will stay the same throughout a single drag operation.
Differential Revision: https://phabricator.services.mozilla.com/D228386
Fixes a number of edge cases where tabs created/inserted in the tab strip were incorrectly being placed inside of an adjacent tab group or incorrectly being placed outside of the intended tab group
Differential Revision: https://phabricator.services.mozilla.com/D226705
Also make sure to select another tab if unloading the currently selected
tab (or Firefox View if unloading all tabs in the window) and handle
multiselect.
Differential Revision: https://phabricator.services.mozilla.com/D226346
* Set the 'tabs-hidden' attribute on the #navigator-toolbox instead of the #nav-bar
* Add a --urlbar-padding-block variable for the padding around the urlbar
Differential Revision: https://phabricator.services.mozilla.com/D226568