Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
dc2ac993
Commit
dc2ac993
authored
May 25, 2017
by
Filipa Lacerda
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Escapes html content before appending it to the DOM
parent
c013d23d
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
2 deletions
+45
-2
app/assets/javascripts/notes.js
app/assets/javascripts/notes.js
+2
-2
changelogs/unreleased/32908-edit-comment.yml
changelogs/unreleased/32908-edit-comment.yml
+4
-0
spec/javascripts/notes_spec.js
spec/javascripts/notes_spec.js
+39
-0
No files found.
app/assets/javascripts/notes.js
View file @
dc2ac993
...
...
@@ -1398,7 +1398,7 @@ const normalizeNewlines = function(str) {
const
cachedNoteBodyText
=
$noteBodyText
.
html
();
// Show updated comment content temporarily
$noteBodyText
.
html
(
formContent
);
$noteBodyText
.
html
(
_
.
escape
(
formContent
)
);
$editingNote
.
removeClass
(
'
is-editing fade-in-full
'
).
addClass
(
'
being-posted fade-in-half
'
);
$editingNote
.
find
(
'
.note-headline-meta a
'
).
html
(
'
<i class="fa fa-spinner fa-spin" aria-label="Comment is being updated" aria-hidden="true"></i>
'
);
...
...
@@ -1411,7 +1411,7 @@ const normalizeNewlines = function(str) {
})
.
fail
(()
=>
{
// Submission failed, revert back to original note
$noteBodyText
.
html
(
cachedNoteBodyText
);
$noteBodyText
.
html
(
_
.
escape
(
cachedNoteBodyText
)
);
$editingNote
.
removeClass
(
'
being-posted fade-in
'
);
$editingNote
.
find
(
'
.fa.fa-spinner
'
).
remove
();
...
...
changelogs/unreleased/32908-edit-comment.yml
0 → 100644
View file @
dc2ac993
---
title
:
Escapes html content before appending it to the DOM
merge_request
:
author
:
spec/javascripts/notes_spec.js
View file @
dc2ac993
...
...
@@ -443,6 +443,45 @@ import '~/notes';
});
});
describe
(
'
update comment with script tags
'
,
()
=>
{
const
sampleComment
=
'
<script></script>
'
;
const
updatedComment
=
'
<script></script>
'
;
const
note
=
{
id
:
1234
,
html
:
`<li class="note note-row-1234 timeline-entry" id="note_1234">
<div class="note-text">
${
sampleComment
}
</div>
</li>`
,
note
:
sampleComment
,
valid
:
true
};
let
$form
;
let
$notesContainer
;
beforeEach
(()
=>
{
this
.
notes
=
new
Notes
(
''
,
[]);
window
.
gon
.
current_username
=
'
root
'
;
window
.
gon
.
current_user_fullname
=
'
Administrator
'
;
$form
=
$
(
'
form.js-main-target-form
'
);
$notesContainer
=
$
(
'
ul.main-notes-list
'
);
$form
.
find
(
'
textarea.js-note-text
'
).
html
(
sampleComment
);
});
it
(
'
should not render a script tag
'
,
()
=>
{
const
deferred
=
$
.
Deferred
();
spyOn
(
$
,
'
ajax
'
).
and
.
returnValue
(
deferred
.
promise
());
$
(
'
.js-comment-button
'
).
click
();
deferred
.
resolve
(
note
);
const
$noteEl
=
$notesContainer
.
find
(
`#note_
${
note
.
id
}
`
);
$noteEl
.
find
(
'
.js-note-edit
'
).
click
();
$noteEl
.
find
(
'
textarea.js-note-text
'
).
html
(
updatedComment
);
$noteEl
.
find
(
'
.js-comment-save-button
'
).
click
();
const
$updatedNoteEl
=
$notesContainer
.
find
(
`#note_
${
note
.
id
}
`
).
find
(
'
.js-task-list-container
'
);
expect
(
$updatedNoteEl
.
find
(
'
.note-text
'
).
text
().
trim
()).
toEqual
(
''
);
});
});
describe
(
'
getFormData
'
,
()
=>
{
it
(
'
should return form metadata object from form reference
'
,
()
=>
{
this
.
notes
=
new
Notes
(
''
,
[]);
...
...
Alain Takoudjou
@alain.takoudjou
mentioned in commit
7113b1a4
·
Aug 21, 2018
mentioned in commit
7113b1a4
mentioned in commit 7113b1a45bd29318c3ec5ea5f61b1d523868ef4d
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment