- Fix: Misspelling for `dropXMLInternalSubset` method (also fixes

use in imagelib when defaulting to image's title)
- Fix: Redirect paths for imagelib redirect checks
master
Brett Zamir 2020-01-04 17:32:19 +08:00
parent e0ceec2a38
commit 0029a932b2
5 changed files with 12 additions and 9 deletions

View File

@ -11,6 +11,9 @@
- Fix: main menu style and text #371 - Fix: main menu style and text #371
- Fix (Accessibility): Avoid duplicate IDs - Fix (Accessibility): Avoid duplicate IDs
- Fix (openclipart browser): Redirect on lacking browser support - Fix (openclipart browser): Redirect on lacking browser support
- Fix: Misspelling for `dropXMLInternalSubset` method (also fixes
use in imagelib when defaulting to image's title)
- Fix: Redirect paths for imagelib redirect checks
- Optimization: Remove unused `jquery-ui-1.8.custom.min.js` file - Optimization: Remove unused `jquery-ui-1.8.custom.min.js` file
- Localization: Add 'SVG-Edit Home Page' to locale files - Localization: Add 'SVG-Edit Home Page' to locale files
- Refactoring: Ensure file-global tags are at beginning of file - Refactoring: Ensure file-global tags are at beginning of file

View File

@ -6,8 +6,8 @@
<link rel="icon" type="image/png" href="../../images/logo.png" /> <link rel="icon" type="image/png" href="../../images/logo.png" />
<!-- Lacking browser support --> <!-- Lacking browser support -->
<script nomodule="" src="redirect-on-no-module-support.js"></script> <script nomodule="" src="../../redirect-on-no-module-support.js"></script>
<script type="module" src="redirect-on-lacking-support.js"></script> <script type="module" src="../../redirect-on-lacking-support.js"></script>
<!-- As yet no ES6 --> <!-- As yet no ES6 -->
<script src="../../jquery.min.js"></script> <script src="../../jquery.min.js"></script>

View File

@ -7,8 +7,8 @@
<link rel="icon" type="image/png" href="../../images/logo.png" /> <link rel="icon" type="image/png" href="../../images/logo.png" />
<!-- Lacking browser support --> <!-- Lacking browser support -->
<script nomodule="" src="../../redirect-on-no-module-support.js"></script>
<script type="module" src="redirect-on-lacking-support.js"></script> <script type="module" src="../../redirect-on-lacking-support.js"></script>
<!-- As yet no ES6 --> <!-- As yet no ES6 -->
<script src="../../jquery.min.js"></script> <script src="../../jquery.min.js"></script>

View File

@ -38,7 +38,7 @@ import {
preventClickDefault, snapToGrid, walkTree, walkTreePost, preventClickDefault, snapToGrid, walkTree, walkTreePost,
getBBoxOfElementAsPath, convertToPath, toXml, encode64, decode64, getBBoxOfElementAsPath, convertToPath, toXml, encode64, decode64,
dataURLToObjectURL, createObjectURL, dataURLToObjectURL, createObjectURL,
getVisibleElements, dropXMLInteralSubset, getVisibleElements, dropXMLInternalSubset,
init as utilsInit, getBBox as utilsGetBBox, getStrokedBBoxDefaultVisible, init as utilsInit, getBBox as utilsGetBBox, getStrokedBBoxDefaultVisible,
isNullish isNullish
} from './utilities.js'; } from './utilities.js';
@ -7251,7 +7251,7 @@ this.clear();
* @property {module:history.HistoryCommand} BatchCommand * @property {module:history.HistoryCommand} BatchCommand
* @property {module:history.HistoryCommand} ChangeElementCommand * @property {module:history.HistoryCommand} ChangeElementCommand
* @property {module:utilities.decode64} decode64 * @property {module:utilities.decode64} decode64
* @property {module:utilities.dropXMLInteralSubset} dropXMLInteralSubset * @property {module:utilities.dropXMLInternalSubset} dropXMLInternalSubset
* @property {module:utilities.encode64} encode64 * @property {module:utilities.encode64} encode64
* @property {module:svgcanvas~ffClone} ffClone * @property {module:svgcanvas~ffClone} ffClone
* @property {module:svgcanvas~findDuplicateGradient} findDuplicateGradient * @property {module:svgcanvas~findDuplicateGradient} findDuplicateGradient
@ -7291,7 +7291,7 @@ this.getPrivateMethods = function () {
BatchCommand, BatchCommand,
ChangeElementCommand, ChangeElementCommand,
decode64, decode64,
dropXMLInteralSubset, dropXMLInternalSubset,
encode64, encode64,
ffClone, ffClone,
findDefs, findDefs,

View File

@ -104,12 +104,12 @@ export const init = function (editorContext) {
/** /**
* Used to prevent the [Billion laughs attack]{@link https://en.wikipedia.org/wiki/Billion_laughs_attack}. * Used to prevent the [Billion laughs attack]{@link https://en.wikipedia.org/wiki/Billion_laughs_attack}.
* @function module:utilities.dropXMLInteralSubset * @function module:utilities.dropXMLInternalSubset
* @param {string} str String to be processed * @param {string} str String to be processed
* @returns {string} The string with entity declarations in the internal subset removed * @returns {string} The string with entity declarations in the internal subset removed
* @todo This might be needed in other places `parseFromString` is used even without LGTM flagging * @todo This might be needed in other places `parseFromString` is used even without LGTM flagging
*/ */
export const dropXMLInteralSubset = (str) => { export const dropXMLInternalSubset = (str) => {
return str.replace(/(<!DOCTYPE\s+\w*\s*\[).*(\?]>)/, '$1$2'); return str.replace(/(<!DOCTYPE\s+\w*\s*\[).*(\?]>)/, '$1$2');
// return str.replace(/(?<doctypeOpen><!DOCTYPE\s+\w*\s*\[).*(?<doctypeClose>\?\]>)/, '$<doctypeOpen>$<doctypeClose>'); // return str.replace(/(?<doctypeOpen><!DOCTYPE\s+\w*\s*\[).*(?<doctypeClose>\?\]>)/, '$<doctypeOpen>$<doctypeClose>');
}; };