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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/inert/inert-node-is-uneditable.html

Issue 2088453002: Implement the inert attribute (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix up some tests Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../../resources/js-test.js"></script> 4 <script src="../../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <span id="not-editable" contenteditable>I'm not editable.</span> 7 <span inert id="not-editable" contenteditable>I'm not editable.</span>
8 <dialog> 8 <span id="editable" contenteditable>I'm editable.</span>
9 <span id="editable" contenteditable>I'm editable.</span>
10 </dialog>
11 <script> 9 <script>
12 function clickOn(element) 10 function clickOn(element)
13 { 11 {
14 if (!window.eventSender) 12 if (!window.eventSender)
15 return; 13 return;
16 14
17 var absoluteTop = 0; 15 var absoluteTop = 0;
18 var absoluteLeft = 0; 16 var absoluteLeft = 0;
19 for (var parentNode = element; parentNode; parentNode = parentNode.offsetPar ent) { 17 for (var parentNode = element; parentNode; parentNode = parentNode.offsetPar ent) {
20 absoluteLeft += parentNode.offsetLeft; 18 absoluteLeft += parentNode.offsetLeft;
21 absoluteTop += parentNode.offsetTop; 19 absoluteTop += parentNode.offsetTop;
22 } 20 }
23 21
24 var x = absoluteLeft + element.offsetWidth / 2; 22 var x = absoluteLeft + element.offsetWidth / 2;
25 var y = absoluteTop + element.offsetHeight / 2; 23 var y = absoluteTop + element.offsetHeight / 2;
26 eventSender.mouseMoveTo(x, y); 24 eventSender.mouseMoveTo(x, y);
27 eventSender.mouseDown(); 25 eventSender.mouseDown();
28 eventSender.mouseUp(); 26 eventSender.mouseUp();
29 eventSender.mouseMoveTo(0, 0); 27 eventSender.mouseMoveTo(0, 0);
30 } 28 }
31 29
32 function test() 30 function test()
33 { 31 {
34 description('Test that inert nodes cannot be edited. The test passes if the only text you can edit is in the dialog.'); 32 description('Test that inert nodes cannot be edited. The test passes if the only text you can edit is in the non-inert element.');
35 33
36 dialog = document.querySelector('dialog');
37 dialog.showModal();
38 notEditable = document.querySelector('#not-editable'); 34 notEditable = document.querySelector('#not-editable');
39 editable = document.querySelector('#editable'); 35 editable = document.querySelector('#editable');
40 36
41 if (!window.eventSender) 37 if (!window.eventSender)
42 return; 38 return;
43 clickOn(notEditable); 39 clickOn(notEditable);
44 oldValue = notEditable.textContent; 40 oldValue = notEditable.textContent;
45 eventSender.keyDown('a'); 41 eventSender.keyDown('a');
46 shouldBe('notEditable.textContent', 'oldValue'); 42 shouldBe('notEditable.textContent', 'oldValue');
47 43
48 clickOn(editable); 44 clickOn(editable);
49 oldValue = editable.textContent; 45 oldValue = editable.textContent;
50 eventSender.keyDown('a'); 46 eventSender.keyDown('a');
51 shouldNotBe('editable.textContent', 'oldValue'); 47 shouldNotBe('editable.textContent', 'oldValue');
52 48
53 notEditable.remove(); 49 notEditable.remove();
54 editable.remove(); 50 editable.remove();
55 } 51 }
56 52
57 test(); 53 test();
58 </script> 54 </script>
59 </body> 55 </body>
60 </html> 56 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698