diff options
Diffstat (limited to 'mobile/android/tests/browser/robocop/robocop_input.html')
-rw-r--r-- | mobile/android/tests/browser/robocop/robocop_input.html | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/mobile/android/tests/browser/robocop/robocop_input.html b/mobile/android/tests/browser/robocop/robocop_input.html deleted file mode 100644 index 50ddd6e9a..000000000 --- a/mobile/android/tests/browser/robocop/robocop_input.html +++ /dev/null @@ -1,165 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Robocop Input</title> - </head> - <body> - <p>Input: <input id="input" type="text"></p> - <p>Text area: <textarea id="text-area"></textarea></p> - <p>Content editable: <div id="content-editable" contentEditable="true"></div></p> - <p>Design mode: <iframe id="design-mode" src="data:text/html;charset=utf-8,<html><body></body></html>"></iframe></p> - <p>Resetting input: <input id="resetting-input" type="text"></p> - <p>Hiding input: <input id="hiding-input" type="text"></p> - <script type="application/javascript;version=1.8" src="robocop_head.js"></script> - <script type="application/javascript;version=1.8"> - let input = document.getElementById("input"); - let textArea = document.getElementById("text-area"); - let contentEditable = document.getElementById("content-editable"); - - let designMode = document.getElementById("design-mode"); - try { - designMode.contentDocument.designMode = "on"; - } catch (e) { - // Setting designMode above sometimes fails, so try again later. - setTimeout(function() { designMode.contentDocument.designMode = "on" }, 0); - } - - // Spatial navigation interferes with design-mode key event tests. - SpecialPowers.setBoolPref("snav.enabled", false); - - // An input that resets the editor on every input by resetting the value property. - let resetting_input = document.getElementById("resetting-input"); - resetting_input.addEventListener('input', function() { - this.value = this.value; - }); - - // An input that hides on input. - let hiding_input = document.getElementById("hiding-input"); - hiding_input.addEventListener('keydown', function(e) { - if (e.key === "!") { // '!' key event as sent by testInputConnection.java. - this.value = ""; - this.style.display = "none"; - } - }); - - let getEditor, setValue, setSelection; - - let test = { - focus_input: function(val) { - getEditor = function() { - return SpecialPowers.wrap(input).QueryInterface( - SpecialPowers.Ci.nsIDOMNSEditableElement).editor; - }; - setValue = function(val) { - input.value = val; - }; - setSelection = function(pos) { - input.setSelectionRange(pos, pos); - }; - setValue(val); - input.focus(); - }, - - focus_text_area: function(val) { - getEditor = function() { - return SpecialPowers.wrap(textArea).QueryInterface( - SpecialPowers.Ci.nsIDOMNSEditableElement).editor; - }; - setValue = function(val) { - textArea.value = val; - }; - setSelection = function(pos) { - textArea.setSelectionRange(pos, pos); - }; - setValue(val); - textArea.focus(); - }, - - focus_content_editable: function(val) { - getEditor = function() { - return SpecialPowers.wrap(window).QueryInterface( - SpecialPowers.Ci.nsIInterfaceRequestor).getInterface( - SpecialPowers.Ci.nsIWebNavigation).QueryInterface( - SpecialPowers.Ci.nsIDocShell).editor; - }; - setValue = function(val) { - contentEditable.innerHTML = val; - }; - setSelection = function(pos) { - window.getSelection().collapse(contentEditable.firstChild, pos); - }; - setValue(val); - contentEditable.focus(); - }, - - focus_design_mode: function(val) { - getEditor = function() { - return SpecialPowers.wrap(designMode.contentWindow).QueryInterface( - SpecialPowers.Ci.nsIInterfaceRequestor).getInterface( - SpecialPowers.Ci.nsIWebNavigation).QueryInterface( - SpecialPowers.Ci.nsIDocShell).editor; - }; - setValue = function(val) { - designMode.contentDocument.body.innerHTML = val; - }; - setSelection = function(pos) { - designMode.contentWindow.getSelection().collapse( - designMode.contentDocument.body.firstChild, pos); - }; - setValue(val); - designMode.contentWindow.focus(); - designMode.contentDocument.body.focus(); - }, - - test_reflush_changes: function() { - let inputIme = getEditor().QueryInterface(SpecialPowers.Ci.nsIEditorIMESupport); - do_check_true(inputIme.composing); - - // Ending the composition then setting the input value triggers the bug. - inputIme.forceCompositionEnd(); - setValue("good"); // Value that testInputConnection.java expects. - setSelection(4); - }, - - test_set_selection: function() { - let inputIme = getEditor().QueryInterface(SpecialPowers.Ci.nsIEditorIMESupport); - do_check_true(inputIme.composing); - - // Ending the composition then setting the selection triggers the bug. - inputIme.forceCompositionEnd(); - setSelection(3); // Offsets that testInputConnection.java expects. - }, - - test_bug1123514: function() { - document.activeElement.addEventListener('input', function test_bug1123514_listener() { - this.removeEventListener('input', test_bug1123514_listener); - - // Only works on input and textarea. - if (this.value === 'b') { - this.value = 'abc'; - } - }); - }, - - focus_resetting_input: function(val) { - resetting_input.value = val; - resetting_input.focus(); - }, - - focus_hiding_input: function(val) { - hiding_input.value = val; - hiding_input.style.display = ""; - hiding_input.focus(); - }, - - finish_test: function() { - java.disconnect(); - }, - }; - - var java = new JavaBridge(test); - </script> - </body> -</html> |