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

Side by Side Diff: LayoutTests/imported/csswg-test/css-shapes-1/shape-outside/supported-shapes/support/rounded-rectangle.js

Issue 816533002: Import CSSWG Shapes tests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: One more test expectations update Created 6 years 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 | Annotate | Revision Log
OLDNEW
1 function ellipseXIntercept(yi, rx, ry) 1 function ellipseXIntercept(yi, rx, ry)
2 { 2 {
3 return rx * Math.sqrt(1 - (yi * yi) / (ry * ry)); 3 return rx * Math.sqrt(1 - (yi * yi) / (ry * ry));
4 } 4 }
5 5
6 function scanConvertRoundedRectangleOutside(r, height, lineHeight, corner) 6 function scanConvertRoundedRectangleOutside(r, height, lineHeight, corner)
7 { 7 {
8 var intervals = []; 8 var intervals = [];
9 var upperCorner = true; 9 var upperCorner = true;
10 var lowerCorner = true; 10 var lowerCorner = true;
(...skipping 17 matching lines...) Expand all
28 var dx = ellipseXIntercept(y - (r.y + r.height - r.ry), r.rx, r.ry); 28 var dx = ellipseXIntercept(y - (r.y + r.height - r.ry), r.rx, r.ry);
29 intervals.push( { y: y, left: r.x + r.rx - dx, right: r.x + r.width - r.rx + dx} ); 29 intervals.push( { y: y, left: r.x + r.rx - dx, right: r.x + r.width - r.rx + dx} );
30 } 30 }
31 else // within the rectangle's vertical edges 31 else // within the rectangle's vertical edges
32 intervals.push( {y: y, left: r.x, right: r.x + r.width} ); 32 intervals.push( {y: y, left: r.x, right: r.x + r.width} );
33 } 33 }
34 34
35 return intervals; 35 return intervals;
36 } 36 }
37 37
38 function genLeftRightRoundedRectFloatShapeOutsideRefTest(args)
39 {
40 genLeftRoundedRectFloatShapeOutsideRefTest(args);
41 genRightRoundedRectFloatShapeOutsideRefTest(args);
42 }
43
44 function genLeftRoundedRectFloatShapeOutsideRefTest(args) 38 function genLeftRoundedRectFloatShapeOutsideRefTest(args)
45 { 39 {
46 var leftRoundedRect = args.roundedRect; 40 var leftRoundedRect = args.roundedRect;
47 var leftRoundedRectIntervals = scanConvertRoundedRectangleOutside(leftRounde dRect, args.containerHeight, args.lineHeight, args.corner); 41 var leftRoundedRectIntervals = scanConvertRoundedRectangleOutside(leftRounde dRect, args.containerHeight, args.lineHeight, args.corner);
48 var leftFloatDivs = leftRoundedRectIntervals.map(function(interval) { 42 var leftFloatDivs = leftRoundedRectIntervals.map(function(interval) {
49 var width = SubPixelLayout.snapToLayoutUnit(interval.right); 43 var width = SubPixelLayout.snapToLayoutUnit(interval.right);
50 var cls = "left-" + args.floatElementClassSuffix; 44 var cls = "left-" + args.floatElementClassSuffix;
51 return '<div class="' + cls + '" style="width:' + width + 'px"></div>'; 45 return '<div class="' + cls + '" style="width:' + width + 'px"></div>';
52 }); 46 });
53 document.getElementById("left-" + args.insertElementIdSuffix).insertAdjacent HTML('afterend', leftFloatDivs.join("\n")); 47 document.getElementById("left-" + args.insertElementIdSuffix).insertAdjacent HTML('afterend', leftFloatDivs.join("\n"));
48 return leftFloatDivs;
49 }
50
51 function getRoundedRectLeftEdge(args)
52 {
53 var leftRoundedRect = args.roundedRect;
54 var leftRoundedRectIntervals = scanConvertRoundedRectangleOutside(leftRounde dRect, args.containerHeight, args.lineHeight, args.corner);
55 var leftSidePoints = leftRoundedRectIntervals.map(function(interval) {
56 var width = SubPixelLayout.snapToLayoutUnit(interval.right);
57 return width;
58 });
59 return leftSidePoints;
54 } 60 }
55 61
56 function genRightRoundedRectFloatShapeOutsideRefTest(args) 62 function genRightRoundedRectFloatShapeOutsideRefTest(args)
57 { 63 {
58 var rightRoundedRect = Object.create(args.roundedRect); 64 var rightRoundedRect = Object.create(args.roundedRect);
59 rightRoundedRect.x = args.containerWidth - args.roundedRect.width; 65 rightRoundedRect.x = args.containerWidth - args.roundedRect.width;
60 var rightRoundedRectIntervals = scanConvertRoundedRectangleOutside(rightRoun dedRect, args.containerHeight, args.lineHeight, args.corner); 66 var rightRoundedRectIntervals = scanConvertRoundedRectangleOutside(rightRoun dedRect, args.containerHeight, args.lineHeight, args.corner);
61 var rightFloatDivs = rightRoundedRectIntervals.map(function(interval) { 67 var rightFloatDivs = rightRoundedRectIntervals.map(function(interval) {
62 var width = args.containerWidth - SubPixelLayout.snapToLayoutUnit(interv al.left); 68 var width = args.containerWidth - SubPixelLayout.snapToLayoutUnit(interv al.left);
63 var cls = "right-" + args.floatElementClassSuffix; 69 var cls = "right-" + args.floatElementClassSuffix;
64 return '<div class="' + cls + '" style="width:' + width + 'px"></div>'; 70 return '<div class="' + cls + '" style="width:' + width + 'px"></div>';
65 }); 71 });
66 document.getElementById("right-" + args.insertElementIdSuffix).insertAdjacen tHTML('afterend', rightFloatDivs.join("\n")); 72 document.getElementById("right-" + args.insertElementIdSuffix).insertAdjacen tHTML('afterend', rightFloatDivs.join("\n"));
67 } 73 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698