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
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
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
The session cookies in the session store file didn't have the
isPartitioned flag. The patch enforces the isPartitioned flag for the
partitioned session cookies in order to properly set the flag when
restoring.
Differential Revision: https://phabricator.services.mozilla.com/D228815
The session cookies in the session store file didn't have the
isPartitioned flag. The patch enforces the isPartitioned flag for the
partitioned session cookies in order to properly set the flag when
restoring.
Differential Revision: https://phabricator.services.mozilla.com/D228815
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
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
This behavior was already agreed upon in
<https://github.com/whatwg/html/issues/7386>, but bug 1544428 was an
implementation edge case needing to be fixed.
An exception is when the fragment contains a directive, in which case a
difference in `hasRef` is sufficient, to retain existing behavior WRT
directives.
Although bug 1544428 is about popstate, hashchange was erroneously being
dispatched, as well, which this patch fixes.
Some tests that depended on the old behavior are updated.
Differential Revision: https://phabricator.services.mozilla.com/D225567
Refactor sidebar state persistence logic outside of SessionStore and into SidebarController and SidebarManager. Expose an API for session store to update state. If session store data is not available, use the backup state instead. Works for both "Never remember history" and "Use custom settings for history".
Differential Revision: https://phabricator.services.mozilla.com/D225220
Also move getDuplicateTabsToClose and getAllDuplicateTabsToClose away from essentials at the top, closer to related methods.
Differential Revision: https://phabricator.services.mozilla.com/D226279
Refactor sidebar state persistence logic outside of SessionStore and into SidebarController and SidebarManager. Expose an API for session store to update state. If session store data is not available, use the backup state instead. Works for both "Never remember history" and "Use custom settings for history".
Differential Revision: https://phabricator.services.mozilla.com/D225220
Refactor sidebar state persistence logic outside of SessionStore and into SidebarController and SidebarManager. Expose an API for session store to update state. If session store data is not available, use the backup state instead. Works for both "Never remember history" and "Use custom settings for history".
Differential Revision: https://phabricator.services.mozilla.com/D225220