 Chromium Code Reviews
 Chromium Code Reviews 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
    
  
    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| 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..26e8b2ebd24be6dfada50bb38dc4403e74cc61a5 | 
| --- /dev/null | 
| +++ b/LayoutTests/editing/selection/readonly-disabled-hittest.html | 
| @@ -0,0 +1,198 @@ | 
| +<!DOCTYPE html> | 
| +<html> | 
| 
Yuta Kitamura
2014/05/29 06:12:30
Indentation and formatting are horribly broken in
 | 
| + <body onload="test();"> | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Please decrease indentation.
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + <input id="normalText" type="text" value="Normal input" /> | 
| 
Yuta Kitamura
2014/05/29 06:12:30
"/>" notation is for XML. As long as you use HTML5
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + <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) { | 
| + 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.createTextNode("<br/>"); | 
| + child = document.createElement("br"); | 
| + document.getElementById('result').appendChild(child); | 
| + | 
| + // ReadOnly Text | 
| + var readOnlyText = document.getElementById("readOnlyText"); | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Please fix indentation.
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + var x = readOnlyText.offsetParent.offsetLeft + readOnlyText.offsetLeft + 4; | 
| + var y = readOnlyText.offsetParent.offsetTop + readOnlyText.offsetTop + readOnlyText.offsetHeight / 2; | 
| + if (!window.eventSender) | 
| + 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.createTextNode("<br/>"); | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Please remove commented unused statement.
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + child = document.createElement("br"); | 
| + document.getElementById('result').appendChild(child); | 
| + | 
| + //Disabled Text | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Please insert a space after "//".
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + var disabledText = document.getElementById("disabledText"); | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Please fix indentation.
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + 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.createTextNode("<br/>"); | 
| + child = document.createElement("br"); | 
| + document.getElementById('result').appendChild(child); | 
| + | 
| + | 
| + // ReadOnly and Disabled Text | 
| + var readOnlyDisabledText = document.getElementById("readOnlyDisabledText"); | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Could you fix indentation?
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + 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.createTextNode("<br/>"); | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Could you remove comment out statement?
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + child = document.createElement("br"); | 
| + document.getElementById('result').appendChild(child); | 
| 
yosin_UTC9
2014/05/29 03:34:11
nit: Please use one kind of quotation mark.
I reco
 
AKVT
2014/05/29 07:29:29
Done.
 | 
| + | 
| + // 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.createTextNode("<br/>"); | 
| + 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.createTextNode("<br/>"); | 
| + 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.createTextNode("<br/>"); | 
| + 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.createTextNode("<br/>"); | 
| + child = document.createElement("br"); | 
| + document.getElementById('result').appendChild(child); | 
| + } | 
| + | 
| + </script> | 
| + </body> | 
| +</html> | 
| + |