| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../resources/js-test.js"></script> |
| <script src="../resources/accessibility-helper.js"></script> |
| <script> |
| var successfullyParsed = false; |
| </script> |
| </head> |
| <style> |
| body { |
| font-family: ahem; |
| -webkit-font-smoothing: none; |
| } |
| </style> |
| <body id="body"> |
| <div id="content" aria-label="test"> |
| <summary>a<span>b<div>c</div>d</span>e</summary> |
| </div> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| description("This tests that we only insert valid children when building ax tree."); |
| jsTestIsAsync = true; |
| |
| if ("webkitRequestFullScreen" in Element.prototype) { |
| var content = accessibilityController.accessibleElementById("content"); |
| var value; |
| if (accessibilityController.platformName == "atspi") |
| value = "AXValue: ab<\\n>c<\\n>de<\\n>"; |
| else |
| value = "AXValue: d"; |
| document.body.offsetTop; |
| var span = document.getElementsByTagName('span')[0]; |
| |
| var fullscreenChangeEvent = function(event) { |
| if (document.webkitIsFullScreen) { |
| setTimeout(function () { |
| document.webkitCancelFullScreen(); |
| }, 0) |
| } else |
| finishJSTest(); |
| shouldBe("valueOccuranceInElementTree(content, value)", "1"); |
| }; |
| |
| document.addEventListener('webkitfullscreenchange', fullscreenChangeEvent); |
| |
| document.addEventListener('keydown', function () { |
| span.webkitRequestFullScreen(); |
| }); |
| |
| shouldBe("valueOccuranceInElementTree(content, value)", "1"); |
| if (window.eventSender) |
| eventSender.keyDown('a'); |
| |
| function valueOccuranceInElementTree(element, value) { |
| if (!element) { |
| return 0; |
| } |
| var count = 0; |
| if (element.stringValue == value) |
| count++; |
| var childrenCount = element.childrenCount; |
| for (var k = 0; k < childrenCount; k++) |
| count += valueOccuranceInElementTree(element.childAtIndex(k), value); |
| return count; |
| } |
| } |
| successfullyParsed = true; |
| </script> |
| </body> |
| </html> |