The problem turns out to be simple: according to the [Map documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map), Map.clear() was implemented in Mozilla 19, so it isn't available on the b2g18 branch, where we're using this code, which causes this call to throw an exception. The fix is to catch the exception and use a less efficient but backward-compatible loop to clear the sheets (both here and in *disconnect*):

```
    try {
      this._sheets.clear();
    } catch(e) {
      // Mozilla 18 doesn't have Map.clear(), which was introduced in 19.
      for (let actor in this._sheets) {
        this._sheets.delete(actor);
      }
    }
```