This file is indexed.

/usr/lib/thunderbird-addons/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDuration.js is in xul-ext-lightning 1:24.4.0+build1-0ubuntu1.

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
55
56
57
58
59
60
61
62
63
64
65
66
67
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

Components.utils.import("resource://calendar/modules/ical.js");
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");

function calDuration(innerObject) {
    this.innerObject = innerObject || new ICAL.Duration();
    this.wrappedJSObject = this;
}

const calDurationInterfaces = [Components.interfaces.calIDuration];
const calDurationClassID = Components.ID("{7436f480-c6fc-4085-9655-330b1ee22288}");
calDuration.prototype = {
    QueryInterface: XPCOMUtils.generateQI(calDurationInterfaces),
    classID: calDurationClassID,
    classInfo: XPCOMUtils.generateCI({
        contractID: "@mozilla.org/calendar/duration;1",
        classDescription: "Calendar Duration Object",
        classID: calDurationClassID,
        interfaces: calDurationInterfaces
    }),

    get icalDuration() this.innerObject,
    set icalDuration(val) this.innerObject = val,

    isMutable: true,
    makeImmutable: function() this.isMutable = false,
    clone: function() new calDuration(this.innerObject.clone()),

    get isNegative() this.innerObject.isNegative,
    set isNegative(val) this.innerObject.isNegative = val,

    get weeks() this.innerObject.weeks,
    set weeks(val) this.innerObject.weeks = val,

    get days() this.innerObject.days,
    set days(val) this.innerObject.days = val,

    get hours() this.innerObject.hours,
    set hours(val) this.innerObject.hours = val,

    get minutes() this.innerObject.minutes,
    set minutes(val) this.innerObject.minutes = val,

    get seconds() this.innerObject.seconds,
    set seconds(val) this.innerObject.seconds = val,

    get inSeconds() this.innerObject.toSeconds(),
    set inSeconds(val) this.innerObject.fromSeconds(val),

    addDuration: unwrap(ICAL.Duration, function(val) {
        this.innerObject.fromSeconds(this.innerObject.toSeconds() + val.toSeconds());
    }),

    compare: unwrap(ICAL.Duration, function(val) {
        return this.innerObject.compare(val);
    }),

    reset: function() this.innerObject.reset(),
    normalize: function() this.innerObject.normalize(),
    toString: function() this.innerObject.toString(),

    get icalString() this.innerObject.toString(),
    set icalString(val) this.innerObject = ICAL.Duration.fromString(val)
};