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

Side by Side Diff: LayoutTests/accessibility/menu-list-popup-reuses-objects.html

Issue 1059503002: Re-land: Don't keep recreating AXMenuListPopup (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@suppress_extra_events
Patch Set: Clean up code Created 5 years, 8 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 <body> 3 <body>
4 <script src="../resources/js-test.js"></script> 4 <script src="../resources/js-test.js"></script>
5 5
6 <select id="menulist"> 6 <select id="menulist">
7 <option id="item0">Alicia</option> 7 <option id="item0">Alicia</option>
8 <option id="item1">Peter</option> 8 <option id="item1">Peter</option>
9 <option id="item2">Kalinda</option> 9 <option id="item2">Kalinda</option>
10 </select> 10 </select>
11 11
12 <div id="console"></div> 12 <div id="console"></div>
13 <script> 13 <script>
14 description("This test makes sure menu lists fire events on both the option that lost selection and the one that gained selection."); 14 description("This test makes sure menu lists fire events on both the option that lost selection and the one that gained selection.");
15 window.jsTestIsAsync = true; 15 window.jsTestIsAsync = true;
16 16
17 if (window.testRunner && window.accessibilityController) { 17 if (window.testRunner && window.accessibilityController) {
18 window.testRunner.dumpAsText(); 18 window.testRunner.dumpAsText();
19 19
20 var menulist = document.getElementById("menulist"); 20 var menulist = document.getElementById("menulist");
21 menulist.selectedIndex = 0; 21 menulist.selectedIndex = 0;
22 22
23 var axMenuList = accessibilityController.accessibleElementById("menulist");
24 var axMenuListPopup = axMenuList.childAtIndex(0);
25 shouldBe("axMenuListPopup.role", "\"AXRole: AXMenuListPopup\"");
26 var axMenuListOption = axMenuListPopup.childAtIndex(0);
27 shouldBe("axMenuListOption.role", "\"AXRole: AXMenuListOption\"");
28
29 window.setTimeout(function() {
30
23 // Explore the whole accessibility tree. State change events won't fire on a ccessible objects that haven't 31 // Explore the whole accessibility tree. State change events won't fire on a ccessible objects that haven't
24 // been created yet. 32 // been created yet.
25 accessibilityController.accessibleElementById('foo'); 33 accessibilityController.accessibleElementById('foo');
26 34
27 var result = ""; 35 var result = "";
28 accessibilityController.addNotificationListener(function(element, notificati on) { 36 accessibilityController.addNotificationListener(function(element, notificati on) {
29 if (element.role == "AXRole: AXMenuListOption") { 37 if (element.stringValue == axMenuListOption.stringValue) {
30 debug("Got notification on option " + element.stringValue + " isSele cted=" + element.isSelected); 38 window.element = element;
31 if (element.isSelected) 39 shouldBe("element.isEqual(axMenuListOption)", "true");
32 finishJSTest(); 40 shouldBe("element.parentElement().isEqual(axMenuListPopup)", "true") ;
41 finishJSTest();
33 } 42 }
34 }); 43 });
35 44
36 menulist.selectedIndex = 2; 45 menulist.selectedIndex = 1;
46 }, 0);
37 } 47 }
38 48
39 </script> 49 </script>
40 50
41 </body> 51 </body>
42 </html> 52 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698