Adds `restoreTabGroup` to SessionStore, enabling a closed tab group or saved tab group to come back into the tab strip.
Includes more robust functionality for forgetting a saved tab group or closed tab group.
Differential Revision: https://phabricator.services.mozilla.com/D230011
browser_scroll_size_determination.js is occasionally leaking browser windows. My theory is that this
is happening because `BrowserTestUtils.overflowTabs` keeps them alive in order to reset the
scrollbox attribute that it changed and then there is not enough time after cleanup for the windows
to get fully collected. Given that these windows are closed anyway there is no need to actually do
this cleanup step so this allows us to skip it.
Differential Revision: https://phabricator.services.mozilla.com/D229587
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
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
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
This will only work when the pref is enabled (browser.history.collectWireframes), and is being landed primarily
to allow some expanded testing to see if it's worth cleaning this up further and turning it on.
Differential Revision: https://phabricator.services.mozilla.com/D226080
Also move getDuplicateTabsToClose and getAllDuplicateTabsToClose away from essentials at the top, closer to related methods.
Differential Revision: https://phabricator.services.mozilla.com/D226279