| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| |
| input { width: 200px; background: -webkit-linear-gradient(left, white 110px, green 100px); } |
| input:focus { width: 100px; } |
| |
| </style> |
| </head> |
| <body> |
| <p>This test ensures WebKit allows text be typed in an input element, when input:focus rule shrinks the width of input element |
| and the focus was set by mouse down on the shrunken part of the element.</p> |
| <p>To manually test, click on the right half of the input element (green part). You should see 'PASS'.</p> |
| <div><input type="text" value="FAIL" onmousedown="setTimeout(typeText, 0)"></div> |
| <script> |
| |
| var input = document.getElementsByTagName('input')[0]; |
| |
| function typeText() { |
| document.execCommand('SelectAll', false, null); |
| document.execCommand('InsertText', false, 'PASS'); |
| if (window.testRunner) { |
| input.parentNode.innerHTML = input.value; |
| testRunner.notifyDone(); |
| } |
| } |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| if (!window.eventSender) |
| document.write('This test requires eventSender'); |
| else { |
| testRunner.waitUntilDone(); |
| |
| eventSender.mouseMoveTo(input.offsetLeft + input.offsetWidth * 2 / 3, input.offsetTop + input.offsetHeight / 2); |
| eventSender.mouseDown(); |
| eventSender.leapForward(200); |
| eventSender.mouseUp(); |
| } |
| } |
| |
| </script> |
| </body> |
| </html> |