Add pathseg.js, a polyfill for the SVGPathSeg API

The SVGPathSeg API is being removed from the spec [1] and is being
removed in Chromium 47 [2]. I implemented a drop-in polyfill[3] so
svg-edit users are not broken as browsers migrate away from the
path seg api.

This patch simply imports the upstream pathseg.js and updates all
dependencies. With this change all tests pass in Chrome 46 (with
the path seg api), Chrome 47 (without the path seg api), and
there are no changes to tests in Safari 9.01 or Firefox 43. I
also manually tested svg-edit while developing the polyfill and
could not find any broken features.

[1] https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html
[2] https://groups.google.com/a/chromium.org/d/msg/blink-dev/EDC3cBg9mCU/OvElJgOWCgAJ
[3] https://github.com/progers/pathseg
This commit is contained in:
Philip Rogers
2015-11-04 19:25:30 -08:00
parent d70c9b6829
commit 7e3f9e037d
15 changed files with 867 additions and 32 deletions

View File

@@ -7,11 +7,13 @@
<script src='../editor/jquery.js'></script>
<script src='../editor/svgedit.js'></script>
<script src='../editor/math.js'></script>
<script src='../editor/pathseg.js'></script>
<script src='../editor/browser.js'></script>
<script src='../editor/svgutils.js'></script>
<script src='../editor/units.js'></script>
<script src='../editor/svgtransformlist.js'></script>
<script src='../editor/coords.js'></script>
<script src='qunit/qunit.js'></script>
<script>
$(function() {

View File

@@ -7,6 +7,7 @@
<script src='../editor/jquery.js'></script>
<script src='../editor/jquery-svg.js'></script>
<script src='../editor/svgedit.js'></script>
<script src='../editor/pathseg.js'></script>
<script src='../editor/browser.js'></script>
<script src='../editor/math.js'></script>
<script src='../editor/history.js'></script>

View File

@@ -6,6 +6,7 @@
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
<script src='../editor/jquery.js'></script>
<script src='../editor/svgedit.js'></script>
<script src='../editor/pathseg.js'></script>
<script src='../editor/browser.js'></script>
<script src='../editor/svgutils.js'></script>
<script src='../editor/sanitize.js'></script>

View File

@@ -6,6 +6,7 @@
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
<script src='../editor/jquery.js'></script>
<script src='../editor/svgedit.js'></script>
<script src='../editor/pathseg.js'></script>
<script src='../editor/browser.js'></script>
<script src='../editor/math.js'></script>
<script src='../editor/svgutils.js'></script>

View File

@@ -6,7 +6,8 @@
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
<script src='../editor/jquery.js'></script>
<script src='../editor/svgedit.js'></script>
<!-- svgutils.js depends on these two... mock out? -->
<!-- svgutils.js depends on these three... mock out? -->
<script src='../editor/pathseg.js'></script>
<script src='../editor/browser.js'></script>
<script src='../editor/svgtransformlist.js'></script>
<script src='../editor/svgutils.js'></script>

View File

@@ -9,6 +9,7 @@
<script src="../editor/jquery-ui/jquery-ui-1.8.custom.min.js"></script>
<script src="../editor/svgedit.js"></script>
<script src="../editor/svgicons/jquery.svgicons.js"></script>
<script src="../editor/pathseg.js"></script>
<script src="../editor/browser.js"></script>
<script src="../editor/svgtransformlist.js"></script>
<script src="../editor/math.js"></script>