This file is indexed.

/usr/share/bibletime/javascript/bthtml.js is in bibletime-data 2.10.1-3.

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
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2014 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

var X = 0;
var Y = 0;
var attribs = [];
var eventType = "";
var prevNode = 0;
var currentNode = 0;
var timeOutId = -1;

// Scroll window to html anchor
function gotoAnchor(anchor)
{
    document.location=document.location + "#" + anchor;
}

// Mouse button clicked handler
function mouseClickHandler (mEvent)
{
    var mTarget = mEvent.target;
    if (mTarget)
    {
        var url = "";
        var tmpUrl = mEvent.target.getAttribute("href");
        if (tmpUrl)
            url = tmpUrl;
        btHtmlJsObject.mouseClick(url);
    }
}

// Mouse button pressed down handler
function mouseDownHandler (mEvent)
{
    var node;
    var url = "";
    var lemma = "";
    var mTarget = mEvent.target;
    if (mTarget)
    {
        var tmpUrl = mEvent.target.getAttribute("href");
        if (tmpUrl)
            url = tmpUrl;
        var tmpLemma = mEvent.target.getAttribute("lemma");
        if (tmpLemma)
            lemma = tmpLemma;
    }

    if (mEvent.button === 2) // Right mouse button
    {
        btHtmlJsObject.mouseDownRight(url, lemma);
    }
    if (mEvent.button === 0) // Left mouse button
    {
        if (!(mEvent.target === undefined))
        {
            var X = mEvent.clientX;
            var Y = mEvent.clientY;
            btHtmlJsObject.mouseDownLeft(url, X, Y);
        }
    }
}

// Mouse moved event handler
function mouseMoveHandler (mEvent)
{
    currentNode = mEvent.target;
    var shiftKey = mEvent.shiftKey;
    var x = mEvent.clientX;
    var y = mEvent.clientY;
    var node = mEvent.target;
    if ( node != undefined && node != prevNode )
    {
        prevNode = node;

        if (node.attributes.length > 0)
        {
            attribList = getNodeAttributes(node);
            btHtmlJsObject.mouseMoveEvent(attribList, x, y, shiftKey);
        }
    }
}

// Get attributes of a DOM node and put into a single string
function getNodeAttributes(node)
{
    var attribList = '';
    if (node.attributes.length > 0)
    {
        for (i = 0; i < node.attributes.length; i++)
        {
            attribList = attribList + node.attributes[i].nodeName + '=' + node.attributes[i].nodeValue + '||';
        }
    }
    return attribList;
}

// Start a timer event
function startTimer(time)
{
    clearTimeout(timeOutId);
    timeOutId = setTimeout("timerEvent()",time);
}

// Handles a timer event
function timerEvent()
{
    timeOutId = -1;
    if (currentNode != 0  && currentNode == prevNode)
    {
        var attributes = getNodeAttributes(currentNode);
        btHtmlJsObject.timeOutEvent(attributes);
    }
}

document.getElementsByTagName("body")[0].addEventListener ('mousedown', function (eve) { mouseDownHandler (eve); }, true);
document.getElementsByTagName("body")[0].addEventListener ('mousemove', function (eve) { mouseMoveHandler (eve); }, true);
document.getElementsByTagName("body")[0].addEventListener ('click',     function (eve) { mouseClickHandler (eve); }, true);

btHtmlJsObject.startTimer.connect(this, this.startTimer);
btHtmlJsObject.gotoAnchor.connect(this, this.gotoAnchor);

;