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

Side by Side Diff: third_party/WebKit/LayoutTests/svg/text/selection-dragging-outside-2.html

Issue 1541083002: Fix invalid selection produced when dragging mouse outside the SVG text element (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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>
2 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3 .org/1999/xlink" width="400" height="400" viewBox="0 0 430 430" style="border: 1 px solid black;">
3 <g>
4 <text id="line1" x="10" y="70" font-family="Arial" font-size="10" fill="blac k">Hello World. Hello, SVG.</text>
5 </g>
6 <g transform="translate(100,100)">
7 <text id="line2" x="10" y="70" font-family="Arial" font-size="10" fill="blac k">Hello World. Hello, SVG.</text>
8 </g>
9 <g transform="translate(200,200)">
10 <text id="line3" x="10" y="70" font-family="Arial" font-size="10" fill="blac k">Hello World. Hello, SVG.</text>
11 </g>
12 </svg>
13 <script src="../../resources/js-test.js"></script>
14 <script src="resources/SelectionTestCase.js"></script>
15 <script type="text/javascript">
16 var range;
17 function runTest() {
18 selectText('line1', 0, 10);
19 verify("0", "11");
20
21 selectText('line1', 6, 10);
22 verify("6", "11");
23
24 selectText('line1', 12, 23);
25 verify("12", "24");
26
27 selectText('line2', 0, 10);
28 verify("0", "11");
29
30 selectText('line2', 6, 10);
31 verify("6", "11");
32
33 selectText('line2', 12, 23);
34 verify("12", "24");
35
36 selectText('line3', 0, 10);
37 verify("0", "11");
38
39 selectText('line3', 6, 10);
40 verify("6", "11");
41
42 selectText('line3', 12, 23);
43 verify("12", "24");
44 }
45
46 function verify(start, end) {
47 range = window.getSelection().getRangeAt(0);
48 shouldBe("range.startOffset", start);
49 shouldBe("range.endOffset", end);
50 if (window.eventSender) {
51 eventSender.mouseMoveTo(0, 0);
52 eventSender.mouseDown();
53 eventSender.mouseUp();
54 }
55 }
56
57 function selectText(id, start, end) {
58 var element = document.getElementById(id);
59 var startPos = element.getStartPositionOfChar(start);
60 startPos.y += (element.getBBox().height * 1.5);
61 var endPos = element.getEndPositionOfChar(end);
62 endPos.y += (element.getBBox().height * 1.5);
63 var absStartPos = toAbsoluteCoordinates(startPos, element);
64 var absEndPos = toAbsoluteCoordinates(endPos, element);
65 if (window.eventSender) {
66 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y);
67 eventSender.mouseDown();
68 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y);
69 eventSender.mouseUp();
70 }
71 }
72 runTest();
73 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698