| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var embedder = null; | 5 var embedder = null; |
| 6 var inputElement1; | 6 var inputElement1; |
| 7 var inputElement2; | 7 var inputElement2; |
| 8 var waitingForBlur = false; | 8 var waitingForBlur = false; |
| 9 | 9 |
| 10 var LOG = function(msg) { | 10 var LOG = function(msg) { |
| 11 window.console.log(msg); | 11 window.console.log(msg); |
| 12 }; | 12 }; |
| 13 | 13 |
| 14 var sendMessage = function(data) { | 14 var sendMessage = function(data) { |
| 15 embedder.postMessage(JSON.stringify(data), '*'); | 15 embedder.postMessage(JSON.stringify(data), '*'); |
| 16 }; | 16 }; |
| 17 | 17 |
| 18 var waitingForInput = false; | |
| 19 | |
| 20 var onInputFired = function() { | |
| 21 sendMessage(['response-waitForOnInput', onInputState.value]); | |
| 22 onInputState.fired = false; | |
| 23 if (inputElement1.value == 'InputTest456') { | |
| 24 // Prepare for next step, step 3. | |
| 25 inputElement1.value = ''; | |
| 26 } | |
| 27 waitingForInput = false; | |
| 28 }; | |
| 29 | |
| 30 var onInputState = {fired: false, value: ''}; | 18 var onInputState = {fired: false, value: ''}; |
| 31 // Waits for oninput event to fire on |inputElement1|. | 19 // Waits for oninput event to fire on |inputElement1|. |
| 32 // Upon receiving the event, we ping back the embedder with the value of | 20 // Upon receiving the event, we ping back the embedder with the value of |
| 33 // the textbox. | 21 // the textbox. |
| 34 var waitForOnInput = function() { | 22 var waitForOnInput = function() { |
| 35 var inputElement1 = document.querySelector('input'); | 23 var inputElement1 = document.querySelector('input'); |
| 36 LOG('inputElement1: ' + inputElement1); | 24 LOG('inputElement1: ' + inputElement1); |
| 37 if (onInputState.fired) { | 25 if (onInputState.fired) { |
| 38 onInputFired(); | 26 sendMessage(['response-waitForOnInput', onInputState.value]); |
| 39 } else { | 27 |
| 40 waitingForInput = true; | 28 onInputState.fired = false; |
| 29 if (inputElement1.value == 'InputTest456') { |
| 30 // Prepare for next step, step 3. |
| 31 inputElement1.value = ''; |
| 32 } |
| 41 } | 33 } |
| 42 }; | 34 }; |
| 43 | 35 |
| 44 // Waits for the first textbox element to be focused. | 36 // Waits for the first textbox element to be focused. |
| 45 var waitForFocus = function() { | 37 var waitForFocus = function() { |
| 46 inputElement1 = document.createElement('input'); | 38 inputElement1 = document.createElement('input'); |
| 47 inputElement1.id = 'input1'; | 39 inputElement1.id = 'input1'; |
| 48 inputElement1.oninput = function() { | 40 inputElement1.oninput = function() { |
| 49 LOG('inputElement1.oninput: ' + inputElement1.value); | 41 LOG('inputElement1.oninput: ' + inputElement1.value); |
| 50 onInputState.fired = true; | 42 onInputState.fired = true; |
| 51 onInputState.value = inputElement1.value; | 43 onInputState.value = inputElement1.value; |
| 52 if (waitingForInput) { | |
| 53 onInputFired(); | |
| 54 } | |
| 55 }; | 44 }; |
| 56 var inputElement1FocusListener = function() { | 45 var inputElement1FocusListener = function() { |
| 57 LOG('inputElement1.focus'); | 46 LOG('inputElement1.focus'); |
| 58 inputElement1.removeEventListener('focus', inputElement1FocusListener); | 47 inputElement1.removeEventListener('focus', inputElement1FocusListener); |
| 59 sendMessage(['response-seenFocus']); | 48 sendMessage(['response-seenFocus']); |
| 60 }; | 49 }; |
| 61 inputElement1.addEventListener('focus', inputElement1FocusListener); | 50 inputElement1.addEventListener('focus', inputElement1FocusListener); |
| 62 document.body.appendChild(inputElement1); | 51 document.body.appendChild(inputElement1); |
| 63 | 52 |
| 64 inputElement2 = document.createElement('input'); | 53 inputElement2 = document.createElement('input'); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 }; | 92 }; |
| 104 inputElement2.addEventListener('focus', onInputElement2Focused); | 93 inputElement2.addEventListener('focus', onInputElement2Focused); |
| 105 | 94 |
| 106 inputElement2.focus(); | 95 inputElement2.focus(); |
| 107 } else if (data[0] == 'request-valueAfterExtendSelection') { | 96 } else if (data[0] == 'request-valueAfterExtendSelection') { |
| 108 sendMessage(['response-valueAfterExtendSelection', inputElement1.value]); | 97 sendMessage(['response-valueAfterExtendSelection', inputElement1.value]); |
| 109 } else if (data[0] == 'request-focus-again') { | 98 } else if (data[0] == 'request-focus-again') { |
| 110 waitForFocusAgain(); | 99 waitForFocusAgain(); |
| 111 } | 100 } |
| 112 }); | 101 }); |
| OLD | NEW |