| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| div{ |
| text-rendering: optimizeLegibility; |
| font-family: -apple-system, sans-serif; |
| } |
| </style> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script src="../../resources/ui-helper.js"></script> |
| </head> |
| <body> |
| <div id="target" contenteditable="true">Lorem ipsum</div> |
| <script> |
| window.jsTestIsAsync = true; |
| description("This test makes sure that contenteditable with optical size doesn't hang the browser. The test passes if there is no hang when typing occurs in the contenteditable element."); |
| let target = document.getElementById("target"); |
| function handleFocus() { |
| if (window.testRunner) { |
| // For some reason, "await" doesn't seem to work... |
| UIHelper.ensurePresentationUpdate().then(function() { |
| UIHelper.keyDown("a").then(function() { |
| UIHelper.keyDown("b").then(function() { |
| UIHelper.keyDown("c").then(function() { |
| UIHelper.keyDown("d").then(function() { |
| UIHelper.keyDown("e").then(function() { |
| UIHelper.ensurePresentationUpdate().then(function() { |
| finishJSTest(); |
| }); |
| }); |
| }); |
| }); |
| }); |
| }); |
| }); |
| } |
| } |
| target.addEventListener("focus", handleFocus, { once: true }); |
| if (window.testRunner) |
| UIHelper.activateFormControl(target); |
| else |
| target.focus(); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |