blob: 236933a6f0f3e056b631426a22738cb957ee87b0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">
<div id="container" role="group" contenteditablt="true">text<iframe id="frame" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" height="100%" width="100%" style="padding: 0px; margin: 0px; border: 0px; height: 100%; width: 100%;"></iframe></div>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that creating a text marker range with a text marker that associated to a doctype node won't lead to crash.");
function selectElementContents(el) {
var range = document.createRange();
range.selectNodeContents(el);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
if (window.accessibilityController) {
accessibilityController.enableEnhancedAccessibility(true);
var webArea = accessibilityController.rootElement.childAtIndex(0);
webArea.setBoolAttributeValue("AXCaretBrowsingEnabled", true);
// Make sure the iframe has a doctype node
var iframe = document.getElementById("frame");
var idocument = iframe.contentDocument;
idocument.open();
idocument.write("<!DOCTYPE html>");
idocument.write("<html>");
idocument.write("<head></head>");
idocument.write("<body></body>");
idocument.write("</html>");
idocument.close();
// Select all the contents in the container, and get the selection range.
var container = accessibilityController.accessibleElementById("container");
var containerElement = document.getElementById("container");
selectElementContents(containerElement);
var selectionRange = container.selectedTextMarkerRange();
var startMarker = container.startTextMarkerForTextMarkerRange(selectionRange);
var endMarker = container.endTextMarkerForTextMarkerRange(selectionRange);
// endMarker is now associated with a doctype node, make sure it won't lead to a crash.
var markerRange = container.textMarkerRangeForMarkers(endMarker, startMarker);
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>