aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2019-03-18 11:50:55 +0100
committerGitHub <noreply@github.com>2019-03-18 11:50:55 +0100
commit014aa10fc0c2e1431235134c5f94c467e8c17cbd (patch)
treee0d2d4542b661abe50f0b2520b0fe6e10ae5bd26
parentaa225455a01e57016e0a28f5d88f6a751ef7b5d2 (diff)
parent34fc4dee39413529d3e43676b60b196923873639 (diff)
downloadrails-014aa10fc0c2e1431235134c5f94c467e8c17cbd.tar.gz
rails-014aa10fc0c2e1431235134c5f94c467e8c17cbd.tar.bz2
rails-014aa10fc0c2e1431235134c5f94c467e8c17cbd.zip
Merge pull request #35652 from razh/revert-rails-ujs-html-content
Revert "Pass HTML responses as plain-text in rails-ujs"
-rw-r--r--actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee2
-rw-r--r--actionview/test/ujs/public/test/call-remote.js4
2 files changed, 3 insertions, 3 deletions
diff --git a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
index 019bda635a..5b223d50f6 100644
--- a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
+++ b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
@@ -69,7 +69,7 @@ processResponse = (response, type) ->
script.setAttribute('nonce', cspNonce())
script.text = response
document.head.appendChild(script).parentNode.removeChild(script)
- else if type.match(/\bxml\b/)
+ else if type.match(/\b(xml|html|svg)\b/)
parser = new DOMParser()
type = type.replace(/;.+/, '') # remove something like ';charset=utf-8'
try response = parser.parseFromString(response, type)
diff --git a/actionview/test/ujs/public/test/call-remote.js b/actionview/test/ujs/public/test/call-remote.js
index 778dc1b09a..0f92007007 100644
--- a/actionview/test/ujs/public/test/call-remote.js
+++ b/actionview/test/ujs/public/test/call-remote.js
@@ -128,14 +128,14 @@ asyncTest('execution of JS code does not modify current DOM', 1, function() {
})
})
-asyncTest('HTML content should be plain-text', 1, function() {
+asyncTest('HTML document should be parsed', 1, function() {
buildForm({ method: 'post', 'data-type': 'html' })
$('form').append('<input type="text" name="content_type" value="text/html">')
$('form').append('<input type="text" name="content" value="<p>hello</p>">')
submit(function(e, data, status, xhr) {
- ok(data === '<p>hello</p>', 'returned data should be a plain-text string')
+ ok(data instanceof HTMLDocument, 'returned data should be an HTML document')
})
})