Bug 1320362: Move indexedDb storage type in the storage inspector into a new column

Issue #31
This commit is contained in:
janekptacijarabaci 2018-03-02 14:59:24 +01:00 committed by Roy Tam
commit 1ea18fdaf7
6 changed files with 51 additions and 6 deletions

View file

@ -53,8 +53,10 @@ table.headers.sessionStorage.value=Value
table.headers.Cache.url=URL
table.headers.Cache.status=Status
table.headers.indexedDB.uniqueKey=Unique key
table.headers.indexedDB.name=Key
table.headers.indexedDB.db=Database Name
table.headers.indexedDB.storage=Storage
table.headers.indexedDB.objectStore=Object Store Name
table.headers.indexedDB.value=Value
table.headers.indexedDB.origin=Origin

View file

@ -719,6 +719,10 @@ TableWidget.prototype = {
if (hiddenColumns.includes(id) || privateColumns.includes(id)) {
// Hide the column.
this.columns.get(id).toggleColumn();
if (privateColumns.includes(id)) {
this.columns.get(id).private = true;
}
}
}
this.sortedOn = sortOn;
@ -978,6 +982,9 @@ module.exports.TableWidget = TableWidget;
* The displayed string on the column's header.
*/
function Column(table, id, header) {
// By default cells are visible in the UI.
this._private = false;
this.tbody = table.tbody;
this.document = table.document;
this.window = table.window;
@ -1060,6 +1067,23 @@ Column.prototype = {
return this._sortState || 0;
},
/**
* Get the private state of the column (visibility in the UI).
*/
get private() {
return this._private;
},
/**
* Set the private state of the column (visibility in the UI).
*
* @param {Boolean} state
* Private (true or false)
*/
set private(state) {
this._private = state;
},
/**
* Sets the sorted value
*/

View file

@ -573,7 +573,7 @@ StorageUI.prototype = {
},
/**
* Populates the selected entry from teh table in the sidebar for a more
* Populates the selected entry from the table in the sidebar for a more
* detailed view.
*/
displayObjectSidebar: Task.async(function* () {
@ -615,6 +615,11 @@ StorageUI.prototype = {
let otherProps = itemProps.filter(
e => !["name", "value", "valueActor"].includes(e));
for (let prop of otherProps) {
let column = this.table.columns.get(prop);
if (column && column.private) {
continue;
}
let cookieProp = COOKIE_KEY_MAP[prop] || prop;
// The pseduo property of HostOnly refers to converse of isDomain property
rawObject[cookieProp] = (prop === "isDomain") ? !item[prop] : item[prop];
@ -626,6 +631,11 @@ StorageUI.prototype = {
} else {
// Case when displaying IndexedDB db/object store properties.
for (let key in item) {
let column = this.table.columns.get(key);
if (column && column.private) {
continue;
}
mainScope.addItem(key, {}, true).setGrip(item[key]);
this.parseItemValue(key, item[key]);
}