Похоже, что существует API, который можно использовать для достижения этого - nsISessionStore.
вы можете хранить значение, как это:
var ss = Components.classes["@mozilla.org/browser/sessionstore;1"]
.getService(Components.interfaces.nsISessionStore);
var currentTab = gBrowser.selectedTab;
var dataToAttach = "I want to attach this";
ss.setTabValue(currentTab, "key-name-here", dataToAttach);
и получить его так:
var retrievedData = ss.getTabValue(currentTab, "key-name-here");
подробнее и примеры можно найти here.
Кроме того, если, как я, вы хотите использовать это в адд-SDK вы можете получить соответствующую службу таким образом:
var { Cc, Ci } = require('chrome');
var ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
вкладки вы должны предоставить не один из SDK и вы необходимо преобразовать его в закладку XUL:
var { viewFor } = require("sdk/view/core");
var let lowLevelTab = viewFor(tab);
Подводя итог. Если - например, - хотелось бы добавить значение хранилища для каждой добавленной вкладки, это можно сделать следующим образом:
var tabs = require("sdk/tabs");
var { viewFor } = require("sdk/view/core");
tabs.on('open', tab => {
var { Cc, Ci } = require('chrome');
var ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
var lowLevelTab = viewFor(tab);
ss.setTabValue(lowLevelTab, "key-name-here", "value");
});