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
In 1908418 and 1915172 I attempted to make tab group sessionstore tests create new windows so that anything they did would be cleaned up. However, it looks like calling SessionStoreTestUtils.init on the newly created windows ended up having SessionStoreTestUtils holding onto a reference to the window. This patch creates and closes windows inside of each test.
Differential Revision: https://phabricator.services.mozilla.com/D225721
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
1908418 added tab groups and their tab relationships to each window. This patch will restore tab groups and the tabs within them.
Differential Revision: https://phabricator.services.mozilla.com/D224955
This adds tab groups and their state data to the session store. For any tabs that are in tab groups, this patch adds the group ID into the tab state.
This change has a number of limitations that will be addressed in future bugs. Most notably, tab groups will not be restored from session state -- this change just records the tab group state data. Another important limitation is that when users remove tab groups, they will no longer appear in the session store.
This patch is only intended to lay the initial groundwork for storing tab group data in the session store.
Differential Revision: https://phabricator.services.mozilla.com/D224348
This adds tab groups and their state data to the session store. For any tabs that are in tab groups, this patch adds the group ID into the tab state.
This change has a number of limitations that will be addressed in future bugs. Most notably, tab groups will not be restored from session state -- this change just records the tab group state data. Another important limitation is that when users remove tab groups, they will no longer appear in the session store.
This patch is only intended to lay the initial groundwork for storing tab group data in the session store.
Differential Revision: https://phabricator.services.mozilla.com/D224348
Other than in one test, we don't use it separate from CLEAR_HISTORY.
They are two different bits because in the past one bit could only have
one cleaner associated to it, but that is no longer an issue.
Differential Revision: https://phabricator.services.mozilla.com/D222107
We can rely on the global pref for this. `setPosition` in `browswer-sidebar.js` looks
at the pref `sidebar-position_start` to determine "order" on `init` and on `reversePosition`
Differential Revision: https://phabricator.services.mozilla.com/D219906