tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

setDir.js (7151B)


      1 function setAllDir(value)
      2 {
      3    for (var i = 0; ; ++i) {
      4        try {
      5            theElement = document.getElementById("set" + i);
      6            theElement.dir = value;
      7        } catch(e) {
      8            break;
      9        }
     10    }
     11 }
     12 
     13 function setAllDirAttribute(value)
     14 {
     15    for (var i = 0; ; ++i) {
     16        try {
     17            theElement = document.getElementById("set" + i);
     18            theElement.setAttribute("dir", value);
     19        } catch(e) {
     20            break;
     21        }
     22    }
     23 }
     24 
     25 function removeAllDirAttribute()
     26 {
     27    for (var i = 0; ; ++i) {
     28        try {
     29            theElement = document.getElementById("set" + i);
     30            theElement.removeAttribute("dir");
     31        } catch(e) {
     32            break;
     33        }
     34    }
     35 }
     36 
     37 function addOneElement(innerHTML)
     38 {
     39    var container = document.getElementById("container");
     40    var elem = document.createElement("div");
     41    elem.innerHTML = innerHTML;
     42    container.appendChild(elem);
     43 }
     44 
     45 function addLTRAutoElements()
     46 {
     47    addOneElement('<input type="text" value="ABC אבג" id="set0" dir="auto">');
     48    addOneElement('<span id="set1" dir="auto">ABC אבג</span>');
     49    addOneElement('<textarea id="set2" dir="auto">ABC אבג</textarea>');
     50    addOneElement('<button id="set3" dir="auto">ABC אבג</button>');
     51    addOneElement('<bdi id="set4">ABC אבג</bdi>');
     52 }
     53 
     54 function addRTLAutoElements()
     55 {
     56    addOneElement('<input type="text" value="אבג ABC" id="set0" dir="auto">');
     57    addOneElement('<span id="set1" dir="auto">אבג ABC</span>');
     58    addOneElement('<textarea id="set2" dir="auto">אבג ABC</textarea>');
     59    addOneElement('<button id="set3" dir="auto">אבג ABC</button>');
     60    addOneElement('<bdi id="set4">אבג ABC</bdi>');
     61 }
     62 
     63 function setAllTextValuesTo(newText)
     64 {
     65    for (var i = 0; ; ++i) {
     66        theElement = document.getElementById("set" + i);
     67        if (!theElement) {
     68            break;
     69        }
     70        if (theElement.tagName == "INPUT" ||
     71            theElement.tagName == "TEXTAREA") {
     72            theElement.value = newText;
     73        } else {
     74            theElement.firstChild.textContent = newText;
     75        }
     76    }
     77 }
     78 
     79 function setAllTextDefaultValuesTo(newText)
     80 {
     81    for (var i = 0; ; ++i) {
     82        theElement = document.getElementById("set" + i);
     83        if (!theElement) {
     84            break;
     85        }
     86        if (theElement.tagName == "INPUT" ||
     87            theElement.tagName == "TEXTAREA") {
     88            theElement.defaultValue = newText;
     89        } else {
     90            theElement.firstChild.textContent = newText;
     91        }
     92    }
     93 }
     94 
     95 function setAllTextChildrenTo(newText)
     96 {
     97    for (var i = 0; ; ++i) {
     98        theElement = document.getElementById("set" + i);
     99        if (!theElement) {
    100            break;
    101        }
    102        if (theElement.tagName == "INPUT") {
    103            theElement.value = newText;
    104        } else {
    105            theElement.firstChild.textContent = newText;
    106        }
    107    }
    108 }
    109 
    110 function appendTextFromArray(textArray)
    111 {
    112    for (var i = 0; ; ++i) {
    113        theElement = document.getElementById("set" + i);
    114        if (!theElement) {
    115            break;
    116        }
    117        for (var j = 0; j < textArray.length; ++j) {
    118            if (theElement.tagName == "INPUT") {
    119                theElement.value += textArray[j];
    120            } else {
    121                var textNode = document.createTextNode(textArray[j]);
    122                theElement.appendChild(textNode);
    123            }
    124        }
    125    }
    126 }
    127 
    128 // Add the members of the array to the text content of the elements in
    129 // the document, not including the last member. Then delete the last but
    130 // one and add the last one
    131 // Useful for testing scenarios like bug 1169267
    132 function appendDeleteAppendTextFromArray(textArray)
    133 {
    134    if (textArray.length < 2) {
    135        return;
    136    }
    137 
    138    for (var i = 0; ; ++i) {
    139        theElement = document.getElementById("set" + i);
    140        if (!theElement) {
    141            break;
    142        }
    143        var isInput = (theElement.tagName == "INPUT");
    144        if (!isInput) {
    145            var textNode = document.createTextNode("");
    146            theElement.appendChild(textNode);
    147        }
    148 
    149        for (var j = 0; j < textArray.length - 1; ++j) {
    150            if (isInput) {
    151                theElement.value += textArray[j];
    152            } else {
    153                textNode.appendData(textArray[j]);
    154            }
    155        }
    156 
    157        // delete the last element added
    158        var deleteElt = textArray[textArray.length - 2];
    159        if (isInput) {
    160            theElement.value = theElement.value.slice(0, -deleteElt.length);
    161        } else {
    162            textNode.deleteData(textNode.length - deleteElt.length,
    163                                deleteElt.length);
    164        }
    165 
    166        // add the next element
    167        var addElt = textArray[textArray.length - 1];
    168        if (isInput) {
    169            theElement.value += addElt;
    170        } else {
    171            textNode.appendData(addElt);
    172        }
    173    }
    174 }
    175 
    176 function appendSpansFromArray(textArray)
    177 {
    178    for (var i = 0; ; ++i) {
    179        theElement = document.getElementById("set" + i);
    180        if (!theElement) {
    181            break;
    182        }
    183        for (var j = 0; j < textArray.length; ++j) {
    184            // fake the result for elements that can't have markup content
    185            if (theElement.tagName == "INPUT") {
    186                theElement.value += textArray[j];
    187            } else if (theElement.tagName == "TEXTAREA") {
    188                theElement.innerHTML += textArray[j];
    189            } else {
    190                var span = document.createElement("span");
    191                span.innerHTML = textArray[j];
    192                theElement.appendChild(span);
    193            }
    194        }
    195    }
    196 }
    197 
    198 function prependTextFromArray(textArray)
    199 {
    200    for (var i = 0; ; ++i) {
    201        theElement = document.getElementById("set" + i);
    202        if (!theElement) {
    203            break;
    204        }
    205        for (var j = 0; j < textArray.length; ++j) {
    206            if (theElement.tagName == "INPUT") {
    207                theElement.value = textArray[j] + theElement.value;
    208            } else {
    209                var textNode = document.createTextNode(textArray[j]);
    210                theElement.insertBefore(textNode, theElement.firstChild);
    211            }
    212        }
    213    }
    214 }
    215 
    216 function prependSpansFromArray(textArray)
    217 {
    218    for (var i = 0; ; ++i) {
    219        theElement = document.getElementById("set" + i);
    220        if (!theElement) {
    221            break;
    222        }
    223        for (var j = 0; j < textArray.length; ++j) {
    224            // fake the result for elements that can't have markup content
    225            if (theElement.tagName == "INPUT") {
    226                theElement.value = textArray[j] + theElement.value;
    227            } else if (theElement.tagName == "TEXTAREA") {
    228                theElement.innerHTML = textArray[j] + theElement.innerHTML;
    229            } else {
    230                var span = document.createElement("span");
    231                span.innerHTML = textArray[j];
    232                theElement.insertBefore(span, theElement.firstChild);
    233            }
    234        }
    235    }
    236 }
    237 
    238 function removeElements()
    239 {
    240    for (var i = 0; ; ++i) {
    241        theElement = document.getElementById("set" + i);
    242        if (!theElement) {
    243            break;
    244        }
    245        theElement.remove();
    246    }
    247 }