38 lines
985 B
JavaScript
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,
|
|
};
|
|
},
|
|
};
|