This file is indexed.

/usr/share/xul-ext/tabmixplus/modules/DownloadLastDir.jsm is in xul-ext-tabmixplus 0.5.0.0-1~deb8u1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/// "use strict";

/* eslint strict: 0 */

this.EXPORTED_SYMBOLS = ["TabmixDownloadLastDir"];

const {interfaces: Ci, utils: Cu} = Components;

Cu.import("resource://gre/modules/XPCOMUtils.jsm");

XPCOMUtils.defineLazyModuleGetter(this, "Services",
  "resource://gre/modules/Services.jsm");

XPCOMUtils.defineLazyModuleGetter(this, "TabmixSvc",
  "resource://tabmixplus/Services.jsm");

this.TabmixDownloadLastDir = {
  _initialized: false,
  init: function() {
    if (this._initialized)
      return;
    this._initialized = true;

    // original DownloadLastDir.jsm query Ci.nsILoadContext on this.window,
    // it fails if we already closed the tab that initialized the download
    // with TypeError: can't access dead object
    let descriptor = {
      get: function() {
        if (this._window) {
          try {
            this._window.QueryInterface(Ci.nsIInterfaceRequestor);
          } catch (ex) {
            let win = Services.wm.getMostRecentWindow("navigator:browser");
            return win ? win.gBrowser.selectedTab.ownerDocument.defaultView : null;
          }
        }
        return this._window;
      },
      set: function(val) {
        this._window = val;
        return val;
      },
      configurable: true, enumerable: true
    };

    let downloadModule = {};
    Cu.import("resource://gre/modules/DownloadLastDir.jsm", downloadModule);
    let obj = downloadModule.DownloadLastDir.prototype;
    Object.defineProperty(obj, "window", descriptor);
    obj._window = null;
  }
};

this.TabmixDownloadLastDir.init();