Files
tubestation/browser/components/sessionstore/TabGroupState.sys.mjs

38 lines
985 B
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* Module that contains tab group state collection methods.
*/
export const TabGroupState = Object.freeze({
/**
* @param {MozTabbrowserTabGroup} tabGroup
* Tab group browser element
* @returns {TabGroupStateData}
* Serialized tab group data
*/
collect(tabGroup) {
return TabGroupStateInternal.collect(tabGroup);
},
});
const TabGroupStateInternal = {
/**
* Collect data related to a single tab group, synchronously.
*
* @param {MozTabbrowserTabGroup} tabGroup
* Tab group browser element
* @returns {TabGroupStateData}
* Serialized tab group data
*/
collect(tabGroup) {
return {
id: tabGroup.id,
name: tabGroup.label,
color: tabGroup.color,
collapsed: tabGroup.collapsed,
};
},
};