- Move resize observer (setting max width) logic over to SidebarState.
- Add `command` property to SidebarState.
- Handle receiving legacy session restore data.
- Add unit tests along with mocking structures to get a better idea of state/controller coupling (which we should ultimately reduce).
Differential Revision: https://phabricator.services.mozilla.com/D232730
This patch modifies SessionStoreInternal.onMoveToNewWindow to raise a more specific error message when
no TabState is found for the tab being moved, and then allows that more specific error message
as an uncaught rejection in browser_ext_tabs_events.js through PromiseTestUtils.allowMatchingRejectionsGlobally.
These changes don't address the underlying issue hit by SessionStoreInternal, but in the short term
it will allow to prevent the high frequency intermittent failure currently hit by the
browser_ext_tabs_events.js (and to keep the existing test coverage which would be lost if we
would instead skip the entire test file to workaround the intermittency).
An inline comment added right above the call to PromiseTestUtils.allowMatchingRejectionsGlobally
includes a mention to Bug 1938594 (a new bug filed under the "Firefox :: Session Restore" bugzilla
component to track additional investigations on the SessionStore/TabStateFlusher side) as a reminder
of the underlying issue (and to remove the workaround when it may not be necessary anymore).
Differential Revision: https://phabricator.services.mozilla.com/D230528
This patch makes saved tab groups use the "closed tabs" schema for storing tab data. This makes saved tab groups consistent with closed tabs and closed tab groups. The tab/tab group restoration code is built to work with the "closed tabs" schema, so this schema change allows saved tab groups to be restored correctly.
Bug 1933114 will add and improve the tests for restoring tab groups.
Differential Revision: https://phabricator.services.mozilla.com/D231818
Also addresses bug 1933574 by changing the schema of saved tab groups so that they look the same as closed tab groups (that is, the saved tab groups' tabs list now has the same schema as the _closedTabs list).
Differential Revision: https://phabricator.services.mozilla.com/D230322
- Created a SidebarState API to manage reactive properties for the controller.
- Replaced usages of sidebarMain.hidden with state.launcherVisible.
- Replaced usages of sidebarMain.expanded with state.launcherExpanded.
- Removed toggleExpanded() and toggleHide(), replaced with equivalent state toggles.
Differential Revision: https://phabricator.services.mozilla.com/D229558
Also addresses bug 1933574 by changing the schema of saved tab groups so that they look the same as closed tab groups (that is, the saved tab groups' tabs list now has the same schema as the _closedTabs list).
Differential Revision: https://phabricator.services.mozilla.com/D230322
Also addresses bug 1933574 by changing the schema of saved tab groups so that they look the same as closed tab groups (that is, the saved tab groups' tabs list now has the same schema as the _closedTabs list).
Differential Revision: https://phabricator.services.mozilla.com/D230322
- Add a splitter that can be used to resize the launcher by dragging.
- Add "snapping points" to allow dragging to expand or collapse the launcher.
- Total sidebar width (launcher + panel) cannot exceed 75vw.
- Styling updates to show ellipses if labels are cut off due to resizing.
Differential Revision: https://phabricator.services.mozilla.com/D228705
- Add a splitter that can be used to resize the launcher by dragging.
- Add "snapping points" to allow dragging to expand or collapse the launcher.
- Total sidebar width (launcher + panel) cannot exceed 75vw.
- Styling updates to show ellipses if labels are cut off due to resizing.
Differential Revision: https://phabricator.services.mozilla.com/D228705
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
- Add a splitter that can be used to resize the launcher by dragging.
- Add "snapping points" to allow dragging to expand or collapse the launcher.
- Total sidebar width (launcher + panel) cannot exceed 75vw.
- Styling updates to show ellipses if labels are cut off due to resizing.
Differential Revision: https://phabricator.services.mozilla.com/D228705
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
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