Skip to content

Commit 2a8b56e

Browse files
authored
Merge pull request #1046 from SISheogorath/feature/optimizeXSS
Remove the xss library from webpack
2 parents a1211ab + c59b94a commit 2a8b56e

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

public/js/render.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/* eslint-env browser, jquery */
2-
/* global filterXSS */
32
// allow some attributes
3+
4+
var filterXSS = require('xss')
5+
46
var whiteListAttr = ['id', 'class', 'style']
57
window.whiteListAttr = whiteListAttr
68
// allow link starts with '.', '/' and custom protocol with '://', exclude link starts with javascript://
@@ -71,5 +73,6 @@ function preventXSS (html) {
7173
window.preventXSS = preventXSS
7274

7375
module.exports = {
74-
preventXSS: preventXSS
76+
preventXSS: preventXSS,
77+
escapeAttrValue: filterXSS.escapeAttrValue
7578
}

public/js/reveal-markdown.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-env browser, jquery */
22

3-
import { preventXSS } from './render'
3+
import { preventXSS, escapeAttrValue } from './render'
44
import { md } from './extra'
55

66
/**
@@ -259,7 +259,7 @@ import { md } from './extra'
259259
while ((matchesClass = mardownClassRegex.exec(classes))) {
260260
var name = matchesClass[1]
261261
var value = matchesClass[2]
262-
if (name.substr(0, 5) === 'data-' || window.whiteListAttr.indexOf(name) !== -1) { elementTarget.setAttribute(name, window.filterXSS.escapeAttrValue(value)) }
262+
if (name.substr(0, 5) === 'data-' || window.whiteListAttr.indexOf(name) !== -1) { elementTarget.setAttribute(name, escapeAttrValue(value)) }
263263
}
264264
return true
265265
}

webpack.common.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ module.exports = {
202202
'babel-polyfill',
203203
'script-loader!jquery-ui-resizable',
204204
'script-loader!js-url',
205-
'expose-loader?filterXSS!xss',
206205
'script-loader!Idle.Js',
207206
'expose-loader?LZString!lz-string',
208207
'script-loader!codemirror',
@@ -253,7 +252,6 @@ module.exports = {
253252
'script-loader!handlebars',
254253
'expose-loader?hljs!highlight.js',
255254
'expose-loader?emojify!emojify.js',
256-
'expose-loader?filterXSS!xss',
257255
'script-loader!Idle.Js',
258256
'script-loader!gist-embed',
259257
'expose-loader?LZString!lz-string',
@@ -273,7 +271,6 @@ module.exports = {
273271
],
274272
pretty: [
275273
'babel-polyfill',
276-
'expose-loader?filterXSS!xss',
277274
'flowchart.js',
278275
'js-sequence-diagrams',
279276
'expose-loader?RevealMarkdown!reveal-markdown',
@@ -298,7 +295,6 @@ module.exports = {
298295
'script-loader!handlebars',
299296
'expose-loader?hljs!highlight.js',
300297
'expose-loader?emojify!emojify.js',
301-
'expose-loader?filterXSS!xss',
302298
'script-loader!gist-embed',
303299
'flowchart.js',
304300
'js-sequence-diagrams',
@@ -310,7 +306,6 @@ module.exports = {
310306
slide: [
311307
'babel-polyfill',
312308
'bootstrap-tooltip',
313-
'expose-loader?filterXSS!xss',
314309
'flowchart.js',
315310
'js-sequence-diagrams',
316311
'expose-loader?RevealMarkdown!reveal-markdown',
@@ -338,7 +333,6 @@ module.exports = {
338333
'script-loader!handlebars',
339334
'expose-loader?hljs!highlight.js',
340335
'expose-loader?emojify!emojify.js',
341-
'expose-loader?filterXSS!xss',
342336
'script-loader!gist-embed',
343337
'flowchart.js',
344338
'js-sequence-diagrams',

0 commit comments

Comments
 (0)