| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <title>SVGGraphicsElement.getScreenCTM subject to page zoom</title> | 2 <title>SVGGraphicsElement.getScreenCTM subject to page zoom</title> |
| 3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
| 4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
| 5 <script src="../../../resources/run-after-layout-and-paint.js"></script> | 5 <script src="../../../resources/run-after-layout-and-paint.js"></script> |
| 6 <style> | 6 <style> |
| 7 body { margin: 0; padding: 0; } | 7 body { margin: 0; padding: 0; } |
| 8 </style> | 8 </style> |
| 9 <div style="width: 100px; height: 100px;"></div> | 9 <div style="width: 100px; height: 100px;"></div> |
| 10 <svg id="svg1" width="400" height="400"> | 10 <svg id="svg1" width="400" height="400"> |
| 11 <rect width="100" height="100" fill="green"/> | 11 <rect width="100" height="100" fill="green"/> |
| 12 <svg id="svg2" x="100" y="100" width="300" height="300"> | 12 <svg id="svg2" x="100" y="100" width="300" height="300"> |
| 13 <rect width="100" height="100" fill="green"/> | 13 <rect width="100" height="100" fill="green"/> |
| 14 <svg id="svg3" x="100" y="100" width="200" height="200"> | 14 <svg id="svg3" x="100" y="100" width="200" height="200"> |
| 15 <rect width="100" height="100" fill="green"/> | 15 <rect width="100" height="100" fill="green"/> |
| 16 <svg id="svg4" x="100" y="100" width="100" height="100"> | 16 <svg id="svg4" x="100" y="100" width="100" height="100"> |
| 17 <rect width="100" height="100" fill="green"/> | 17 <rect width="100" height="100" fill="green"/> |
| 18 </svg> | 18 </svg> |
| 19 </svg> | 19 </svg> |
| 20 </svg> | 20 </svg> |
| 21 </svg> | 21 </svg> |
| 22 <script> | 22 <script> |
| 23 function assert_matrix_equals(actual, expected) { | 23 function assert_matrix_approx_equals(actual, expected) { |
| 24 for (let prop of [ 'a', 'b', 'c', 'd', 'e', 'f']) | 24 for (let prop of [ 'a', 'b', 'c', 'd', 'e', 'f']) |
| 25 assert_equals(actual[prop], expected[prop], prop); | 25 assert_approx_equals(actual[prop], expected[prop], 5e-6, prop); |
| 26 } | 26 } |
| 27 | 27 |
| 28 async_test(t => { | 28 async_test(t => { |
| 29 runAfterLayoutAndPaint(t.step_func_done(() => { | 29 runAfterLayoutAndPaint(t.step_func_done(() => { |
| 30 eventSender.zoomPageIn(); | 30 eventSender.zoomPageIn(); |
| 31 eventSender.zoomPageIn(); | 31 eventSender.zoomPageIn(); |
| 32 | 32 |
| 33 assert_matrix_equals(document.getElementById('svg1').getScreenCTM(), | 33 assert_matrix_approx_equals(document.getElementById('svg1').getScreenCTM(), |
| 34 { a: 1, b: 0, c: 0, d: 1, e: 0, f: 100 }); | 34 { a: 1, b: 0, c: 0, d: 1, e: 0, f: 100 }); |
| 35 assert_matrix_equals(document.getElementById('svg2').getScreenCTM(), | 35 assert_matrix_approx_equals(document.getElementById('svg2').getScreenCTM(), |
| 36 { a: 1, b: 0, c: 0, d: 1, e: 100, f: 200 }); | 36 { a: 1, b: 0, c: 0, d: 1, e: 100, f: 200 }); |
| 37 assert_matrix_equals(document.getElementById('svg3').getScreenCTM(), | 37 assert_matrix_approx_equals(document.getElementById('svg3').getScreenCTM(), |
| 38 { a: 1, b: 0, c: 0, d: 1, e: 200, f: 300 }); | 38 { a: 1, b: 0, c: 0, d: 1, e: 200, f: 300 }); |
| 39 assert_matrix_equals(document.getElementById('svg4').getScreenCTM(), | 39 assert_matrix_approx_equals(document.getElementById('svg4').getScreenCTM(), |
| 40 { a: 1, b: 0, c: 0, d: 1, e: 300, f: 400 }); | 40 { a: 1, b: 0, c: 0, d: 1, e: 300, f: 400 }); |
| 41 })); | 41 })); |
| 42 }); | 42 }); |
| 43 </script> | 43 </script> |
| OLD | NEW |