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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/HTMLElement/contextmenu.html

Issue 2905763003: Rollback ContextMenu (Closed)
Patch Set: Rebase Created 3 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
(Empty)
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../../../resources/js-test.js"></script>
5 </head>
6 <script>
7
8 description("Tests the contextmenu attribute.");
9
10 debug("Test with valid contextmenu attribute");
11 document.write("<div id='container1' contextmenu='menu1'><menu id='menu1' type=' context' label='menu 1'></menu></div>");
12 shouldBeEqualToString("document.getElementById('container1').contextMenu.id", "m enu1");
13 shouldBeEqualToString("document.getElementById('container1').contextMenu.type", "context");
14 shouldBeEqualToString("document.getElementById('container1').contextMenu.label", "menu 1");
15
16 debug("Test with invalid contextmenu attribute");
17 document.write("<div id='container2' contextmenu='nonexistent_menu'><menu id='me nu2' type='context' label='menu 2'></menu></div>");
18 shouldBeNull("document.getElementById('container2').contextMenu");
19
20 debug("Test setting contextmenu attribute to non-context type menu element");
21 document.write("<div id='container11' contextmenu='menu11'><menu id='menu11' typ e='toolbar' label='menu 11'></menu></div>");
22 var container11 = document.getElementById('container11');
23 shouldBeEqualToString("container11.contextMenu.id", "menu11");
24 shouldBeEqualToString("container11.contextMenu.type", "toolbar");
25 shouldBeEqualToString("container11.contextMenu.label", "menu 11");
26
27 debug("Test setting contextmenu attribute to non-menu element");
28 document.write("<div id='container12' contextmenu='button'><button id='button'>< /button></div>");
29 var container12 = document.getElementById('container12');
30 shouldBeNull("container12.contextMenu");
31
32 debug("Test setting contextmenu attribute to an ID which multiple elements have" );
33 document.write("<div id='container13' contextmenu='menu13'><button id='menu13'>< /button><menu id='menu13' type='context' label='menu 13'></menu></div>");
34 var container13 = document.getElementById('container13');
35 shouldBeNull("container13.contextMenu");
36 document.write("<div id='container14' contextmenu='menu14'><menu id='menu14' typ e='context' label='menu 14'></menu><button id='menu14'></button></div>");
37 var container14 = document.getElementById('container14');
38 shouldBeEqualToString("container14.contextMenu.id", "menu14");
39 shouldBeEqualToString("container14.contextMenu.type", "context");
40 shouldBeEqualToString("container14.contextMenu.label", "menu 14");
41
42 debug("Test setting contextmenu attribute");
43 document.write("<div id='container3'></div>");
44 var menu = document.createElement('menu');
45 menu.id = 'menu3';
46 menu.type = 'context';
47 menu.label = 'menu 3';
48 document.getElementById('container3').appendChild(menu);
49 var container3 = document.getElementById('container3');
50 container3.contextMenu = menu;
51 shouldBeEqualToString("container3.contextMenu.id", "menu3");
52 shouldBeEqualToString("container3.contextMenu.type", "context");
53 shouldBeEqualToString("container3.contextMenu.label", "menu 3");
54
55 debug("Test setting contextmenu attribute with menu element without id");
56 document.write("<div id='container4'></div>");
57 var menu1 = document.createElement('menu');
58 menu1.type = 'context';
59 menu1.label = 'menu 4';
60 document.getElementById('container4').appendChild(menu1);
61 var container4 = document.getElementById('container4');
62 container4.contextMenu = menu1;
63 shouldBeNull("container4.contextMenu");
64 shouldBeTrue("container4.hasAttribute('contextmenu')");
65 shouldBeEqualToString("container4.getAttribute('contextmenu')", "");
66
67 debug("Test setting contextmenu attribute with multiple menu element with same i d");
68 document.write("<div id='container5'></div>");
69 var menu2 = document.createElement('menu');
70 menu2.id = 'menu5';
71 menu2.type = 'context';
72 menu2.label = 'menu 5';
73 var menu3 = document.createElement('menu');
74 menu3.id = 'menu5';
75 menu3.type = 'context';
76 menu3.label = 'menu 6';
77 document.getElementById('container5').appendChild(menu2);
78 document.getElementById('container5').appendChild(menu3);
79 var container5 = document.getElementById('container5');
80 container5.contextMenu = menu3;
81 shouldBeNull("container5.contextMenu");
82 container5.contextMenu = menu2;
83 shouldBe("container5.contextMenu", "menu2");
84
85 debug("Test setting contextmenu attribute to null");
86 document.write("<div id='container6' contextmenu='menu6'><menu id='menu6'></menu ></div>");
87 var container6 = document.getElementById('container6');
88 container6.contextMenu = null;
89 shouldBeNull("container6.contextMenu");
90 shouldBeTrue("container6.hasAttribute('contextmenu')");
91 shouldBeEqualToString("container6.getAttribute('contextmenu')", "");
92
93 debug("Test setting contextmenu attribute to some text");
94 document.write("<div id='container7'></div>");
95 var container7 = document.getElementById('container7');
96 shouldThrow("container7.contextMenu = 'foobar'");
97 shouldBeNull("container7.contextMenu");
98
99 debug("Test setting contextmenu attribute to comment");
100 document.write("<div id='container8'></div>");
101 var container8 = document.getElementById('container8');
102 shouldThrow("container8.contextMenu = document.createComment('foo')");
103 shouldBeNull("container8.contextMenu");
104
105 debug("Test setting contextmenu attribute to menu without type");
106 document.write("<div id='container9'></div>");
107 var menu4 = document.createElement('menu');
108 menu4.id = 'menu_without_type';
109 menu4.label = 'menu without type';
110 document.getElementById('container9').appendChild(menu4);
111 var container9 = document.getElementById('container9');
112 container9.contextMenu = menu4;
113 shouldBeEqualToString("container9.contextMenu.id", "menu_without_type");
114 shouldBeEqualToString("container9.contextMenu.type", "toolbar");
115 shouldBeEqualToString("container9.contextMenu.label", "menu without type");
116
117 debug("Test setting contextmenu attribute to menu element which is in shadow dom ");
118 document.write("<div id='container10'></div>");
119 var menu5 = document.createElement('menu');
120 menu5.id = 'menu_in_shadow_dom';
121 menu5.label = 'menu in shadow dom';
122 var container10 = document.getElementById('container10');
123 container10.createShadowRoot().appendChild(menu5);
124 container10.contextMenu = menu5;
125 shouldBeNull("container10.contextMenu");
126
127 debug("Test contextmenu attribute of an element with no contextmenu attribute bu t parent has valid contextmenu");
128 document.write("<div contextmenu='menu7'><button id='inner'></button><menu id='m enu7' type='context' label='menu 7'></menu></div>");
129 var inner = document.getElementById('inner');
130 shouldBeNull("inner.contextMenu");
131
132 debug("Test setting menu type when parent is contextmenu");
133 document.write("<menu id='menu15' type='context'></menu>");
134 var menu15 = document.getElementById('menu15');
135 var menu16 = document.createElement('menu');
136 menu16.id = 'menu16';
137 menu15.appendChild(menu16);
138 shouldBeEqualToString("menu15.type", "context");
139 shouldBeEqualToString("menu16.type", "context");
140 menu16.type = 'popup';
141 shouldBeEqualToString("menu16.type", "context");
142 menu15.type = 'toolbar';
143 shouldBeEqualToString("menu15.type", "toolbar");
144 shouldBeEqualToString("menu16.type", "toolbar");
145 </script>
146 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698