| Index: content/test/data/android/input/input_forms.html
|
| diff --git a/content/test/data/android/input/input_forms.html b/content/test/data/android/input/input_forms.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6e1c35147391812b4c242a5985b09aed3fb1c505
|
| --- /dev/null
|
| +++ b/content/test/data/android/input/input_forms.html
|
| @@ -0,0 +1,86 @@
|
| +<html>
|
| + <head>
|
| + <meta name="viewport" content="width=device-width" />
|
| + </head>
|
| + <body>
|
| + <form action="about:blank">
|
| + <input id="input_text" type="text" />
|
| + <br/>
|
| + </form>
|
| + <form>
|
| + <br/>
|
| + <input id="input_radio" type="radio" style="width:50px;height:50px" />
|
| + <br/>
|
| + <textarea id="textarea" rows="4" cols="20"></textarea>
|
| + <br/>
|
| + <textarea id="textarea2" rows="4" cols="20" autocomplete="off"></textarea>
|
| + <br/>
|
| + <input id="input_number1" type="number" /><br/>
|
| + <input id="input_number2" type="number" /><br/>
|
| + <span id="plain_text">This is Plain Text One</span>
|
| + </form>
|
| +
|
| + <!-- We may trigger different sets of events for CONTENTEDITABLE and INPUT / TEXTAREA -->
|
| + <div id="contenteditable_event" contenteditable><b>ab</b>cd<i>ef<b>gh</b></i></div>
|
| +
|
| + <script>
|
| +var log = "";
|
| +var mutationObserver = new MutationObserver(function(mutations) {
|
| + mutations.forEach(function(mutation) {
|
| + addEventLog(mutation.type, mutation.detail);
|
| + });
|
| +})
|
| +
|
| +var mutationConfig = { attributes: false, childList: false, chracterData: true };
|
| +
|
| +function addEventLog(type, detail) {
|
| + if (log.length > 0) {
|
| + log += ',';
|
| + }
|
| + if (detail == null) {
|
| + log += type;
|
| + } else {
|
| + log += type + '(' + detail + ')';
|
| + }
|
| +}
|
| +
|
| +function getEventLogs() {
|
| + return log;
|
| +}
|
| +
|
| +function addEventListener(element, event_name) {
|
| + element.addEventListener(event_name, function (e) { addEventLog(event_name, e.data); });
|
| +}
|
| +
|
| +function addKeyEventListener(element, event_name) {
|
| + element.addEventListener(event_name, function (e) { addEventLog(event_name, e.keyCode); });
|
| +}
|
| +
|
| +function addSelectionEventListener(element, event_name) {
|
| + // Note that listeners added to the element are not effective for now.
|
| + document.addEventListener(event_name, function (e) { addEventLog(event_name, e.data); });
|
| +}
|
| +
|
| +function registerListenersAndObserver(element) {
|
| + addKeyEventListener(element, "keydown");
|
| + addKeyEventListener(element, "keypress");
|
| + addKeyEventListener(element, "keyup");
|
| + addEventListener(element, "compositionstart");
|
| + addEventListener(element, "compositionupdate");
|
| + addEventListener(element, "compositionend");
|
| + addEventListener(element, "beforeedit");
|
| + addEventListener(element, "edit");
|
| + addEventListener(element, "select");
|
| + addEventListener(element, "change");
|
| + addEventListener(element, "input");
|
| + addSelectionEventListener(element, "selectionchange");
|
| + mutationObserver.observe(element, mutationConfig);
|
| +}
|
| +
|
| +var contenteditableEvent = document.getElementById("contenteditable_event");
|
| +
|
| +registerListenersAndObserver(contenteditableEvent);
|
| + </script>
|
| +
|
| + </body>
|
| +</html>
|
|
|