layout/reftests/bidi/dirAuto/setDir.js

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     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 }
    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 }
    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 }
    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 }
    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 }
    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 }
    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 }
    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 }
    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 }
   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 }
   128 function appendSpansFromArray(textArray)
   129 {
   130     for (var i = 0; ; ++i) {
   131         theElement = document.getElementById("set" + i);
   132         if (!theElement) {
   133             break;
   134         }
   135         for (var j = 0; j < textArray.length; ++j) {
   136             // fake the result for elements that can't have markup content
   137             if (theElement.tagName == "INPUT") {
   138                 theElement.value += textArray[j];
   139             } else if (theElement.tagName == "TEXTAREA") {
   140                 theElement.innerHTML += textArray[j];
   141             } else {
   142                 var span = document.createElement("span");
   143                 span.innerHTML = textArray[j];
   144                 theElement.appendChild(span);
   145             }
   146         }
   147     }
   148 }
   150 function prependTextFromArray(textArray)
   151 {
   152     for (var i = 0; ; ++i) {
   153         theElement = document.getElementById("set" + i);
   154         if (!theElement) {
   155             break;
   156         }
   157         for (var j = 0; j < textArray.length; ++j) {
   158             if (theElement.tagName == "INPUT") {
   159                 theElement.value = textArray[j] + theElement.value;
   160             } else {
   161                 var textNode = document.createTextNode(textArray[j]);
   162                 theElement.insertBefore(textNode, theElement.firstChild);
   163             }
   164         }
   165     }
   166 }
   168 function prependSpansFromArray(textArray)
   169 {
   170     for (var i = 0; ; ++i) {
   171         theElement = document.getElementById("set" + i);
   172         if (!theElement) {
   173             break;
   174         }
   175         for (var j = 0; j < textArray.length; ++j) {
   176             // fake the result for elements that can't have markup content
   177             if (theElement.tagName == "INPUT") {
   178                 theElement.value = textArray[j] + theElement.value;
   179             } else if (theElement.tagName == "TEXTAREA") {
   180                 theElement.innerHTML = textArray[j] + theElement.innerHTML;
   181             } else {
   182                 var span = document.createElement("span");
   183                 span.innerHTML = textArray[j];
   184                 theElement.insertBefore(span, theElement.firstChild);
   185             }
   186         }
   187     }
   188 }
   190 function removeElements()
   191 {
   192     for (var i = 0; ; ++i) {
   193         theElement = document.getElementById("set" + i);
   194         if (!theElement) {
   195             break;
   196         }
   197         theElement.parentNode.removeChild(theElement);
   198     }
   199 }

mercurial