Comment #2 on issue 21115 by
sgrek...@yandex.ru: test-004_t0a is failing
https://code.google.com/p/dart/issues/detail?id=21115
There's no bug in WebKit. Problem is that test uses invisible iframe to
play with. Because iframe is invisible getSelection() always returns "".
Below is the fixed version of the test. Please submit it (I have no
piveledges to submit into w3c branch)
<!DOCTYPE html>
<!--
Distributed under both the W3C Test Suite License [1] and the W3C
3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
policies and contribution forms [3].
[1]
http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
[2]
http://www.w3.org/Consortium/Legal/2008/03-bsd-license
[3]
http://www.w3.org/2004/10/27-testcases
-->
<html>
<head>
<title>Shadow DOM Test: A_10_01_02_04</title>
<link rel="author" title="Sergey G. Grekhov"
href="mailto:
sgre...@unipro.ru">
<link rel="help"
href="
http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#shadow-root-methods">
<meta name="assert" content="ShadowRoot Object: Selection? getSelection()
method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../../testcommon.js"></script>
<link rel="stylesheet" href="/resources/testharness.css">
</head>
<body>
<div id="log"></div>
<script>
test(function () {
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
this.add_cleanup(function () {
document.body.removeChild(iframe);
});
var d = iframe.contentWindow.document;
var host = d.createElement('div');
d.body.appendChild(host);
var s = host.createShadowRoot();
var span = d.createElement('span');
span.innerHTML = 'Some text';
s.appendChild(span);
var range = d.createRange();
range.setStart(span.firstChild, 0);
range.setEnd(span.firstChild, 3);
var selection = iframe.contentWindow.getSelection();
selection.removeAllRanges();
selection.addRange(range);
var sl = s.getSelection();
assert_equals(sl.toString(), 'Som', 'The getSelection() method of the
shadow root object must return ' +
'the current selection in this shadow tree');
}, 'A_10_01_02_04_T01');
</script>
</body>
</html>