Output formatters could simply apply a apply filter to objects to display in the Object Inspecter if certain criteria are met. Changes to the display would propagate back to the object being displayed (its grip, really) via a number of propertyCallbacks
. Whenever we click an object that this formatter matches, we open a new tab alongside the normal inspecter to display it in (after the given formatting has been applied).
const formatters = require('sdk/devtools/output-formatter');
var formatter = formatters.Formatter({
/* The title to display for this formatter in the Object Inspecter tab created