Nit: since this code never does anything with promises except immediately call their *then* methods, it isn't necessary to assign them to a local variable, and it seems like the code would be easier to read if the function calls were chained consistently, i.e.:

```
        devtools.TargetFactory.forRemoteTab(options).then(function (target) {
          // We have to set tab as BottomHost expect a tab attribute on target whereas
          // TabTarget ignores any tab being given as options attributes passed to forRemoteTab.
          let browserWindow = Services.wm.getMostRecentWindow("navigator:browser");
          Object.defineProperty(target, "tab", {value: browserWindow.gBrowser.selectedTab});

          gDevTools.showToolbox(target, "webconsole", devtools.Toolbox.HostType.BOTTOM).
          then(toolboxDisplayed);
        });
```