Chromium Code Reviews| Index: LayoutTests/editing/selection/readonly-disabled-hittest.html |
| diff --git a/LayoutTests/editing/selection/readonly-disabled-hittest.html b/LayoutTests/editing/selection/readonly-disabled-hittest.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..645346766aa90d01c59afe60b5e497ffa4ec163f |
| --- /dev/null |
| +++ b/LayoutTests/editing/selection/readonly-disabled-hittest.html |
| @@ -0,0 +1,180 @@ |
| +<!DOCTYPE html> |
| +<html> |
| +<body onload="test();"> |
| +<input id="normalText" type="text" value="Normal input"> |
| +<br> |
| +<input id="readOnlyText" type="text" value="Readonly input" readonly> |
| +<br> |
| +<input id="disabledText" type="text" value="Disabled input" disabled> |
| +<br> |
| +<input id="readOnlyDisabledText" size="26" type="text" value="Readonly and Disabled input" readonly disabled> |
| +<br> |
| +<textarea id="normalTextArea" value="true" >Normal textarea</textarea> |
| +<br> |
| +<textarea id="readOnlyTextArea" value="true" readonly>Readonly textarea</textarea> |
| +<br> |
| +<textarea id="disabledTextArea" value="true" disabled>Disabled textarea</textarea> |
| +<br> |
| +<div id="contentEditableDiv" contenteditable="true">Content Editable DIV</div> |
| +<br> |
| +<div id="result"></div> |
| +<br> |
| +<script> |
| +function test() { |
| + if (window.testRunner) |
| + testRunner.dumpAsText(); |
| + |
| + // Normal Text |
| + var normalText = document.getElementById("normalText"); |
| + var x = normalText.offsetParent.offsetLeft + normalText.offsetLeft + 4; |
| + var y = normalText.offsetParent.offsetTop + normalText.offsetTop + normalText.offsetHeight / 2; |
| + |
| + if (!window.eventSender) |
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
|
yosin_UTC9
2014/06/03 05:52:35
Why do we need to check result of eventSender.cont
|
| + child = document.createTextNode("Normal input SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Normal input FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // ReadOnly Text |
| + var readOnlyText = document.getElementById("readOnlyText"); |
| + var x = readOnlyText.offsetParent.offsetLeft + readOnlyText.offsetLeft + 4; |
| + var y = readOnlyText.offsetParent.offsetTop + readOnlyText.offsetTop + readOnlyText.offsetHeight / 2; |
| + if (!window.eventSender) |
|
yosin_UTC9
2014/06/03 05:52:35
nit: We don't need to check |window.eventSender| a
|
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Readonly input FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Readonly input SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // Disabled Text |
| + var disabledText = document.getElementById("disabledText"); |
| + var x = disabledText.offsetParent.offsetLeft + disabledText.offsetLeft + 4; |
| + var y = disabledText.offsetParent.offsetTop + disabledText.offsetTop + disabledText.offsetHeight / 2; |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Disabled input FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Disabled input SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // ReadOnly and Disabled Text |
| + var readOnlyDisabledText = document.getElementById("readOnlyDisabledText"); |
| + var x = readOnlyDisabledText.offsetParent.offsetLeft + readOnlyDisabledText.offsetLeft + 4; |
| + var y = readOnlyDisabledText.offsetParent.offsetTop + readOnlyDisabledText.offsetTop + readOnlyDisabledText.offsetHeight / 2; |
| + if (!window.eventSender) |
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Readonly and Disabled input FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Readonly and Disabled input SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // Normal TextArea |
| + var normalTextArea = document.getElementById("normalTextArea"); |
| + var x = normalTextArea.offsetParent.offsetLeft + normalTextArea.offsetLeft + 4; |
| + var y = normalTextArea.offsetParent.offsetTop + normalTextArea.offsetTop + normalTextArea.offsetHeight / 2; |
| + if (!window.eventSender) |
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Normal textarea SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Normal textarea FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // ReadOnly TextArea |
| + var readOnlyTextArea = document.getElementById("readOnlyTextArea"); |
| + var x = readOnlyTextArea.offsetParent.offsetLeft + readOnlyTextArea.offsetLeft + 4; |
| + var y = readOnlyTextArea.offsetParent.offsetTop + readOnlyTextArea.offsetTop + readOnlyTextArea.offsetHeight / 2; |
| + if (!window.eventSender) |
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Readonly textarea FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Readonly textarea SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // Disabled TextArea |
| + var disabledTextArea = document.getElementById("disabledTextArea"); |
| + var x = disabledTextArea.offsetParent.offsetLeft + disabledTextArea.offsetLeft + 4; |
| + var y = disabledTextArea.offsetParent.offsetTop + disabledTextArea.offsetTop + disabledTextArea.offsetHeight / 2; |
| + if (!window.eventSender) |
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Disabled textarea FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Disabled textarea SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| + |
| + // ContentEditable Div |
| + var contentEditableDiv = document.getElementById("contentEditableDiv"); |
| + var x = contentEditableDiv.offsetParent.offsetLeft + contentEditableDiv.offsetLeft + 4; |
| + var y = contentEditableDiv.offsetParent.offsetTop + contentEditableDiv.offsetTop + contentEditableDiv.offsetHeight / 2; |
| + if (!window.eventSender) |
| + return; |
| + |
| + eventSender.mouseMoveTo(x, y); |
| + var items = eventSender.contextClick(); |
| + if (items.length > 0) { |
| + child = document.createTextNode("Content Editable DIV SUCCESS"); |
| + document.getElementById("result").appendChild(child); |
| + } else { |
| + child = document.createTextNode("Content Editable DIV FAILURE"); |
| + document.getElementById("result").appendChild(child); |
| + } |
| + child = document.createElement("br"); |
| + document.getElementById("result").appendChild(child); |
| +} |
| +</script> |
| +</body> |
| +</html> |
| + |