Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: LayoutTests/editing/selection/readonly-disabled-hittest.html

Issue 246203004: Fixed unnecessary Paste Popup showing issue when long press on ReadOnly/Disabled elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated Layout Test case HTML based on review comments. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>
+

Powered by Google App Engine
This is Rietveld 408576698