aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorTeng Siong Ong <siong1987@gmail.com>2011-08-21 15:14:45 -0500
committerTeng Siong Ong <siong1987@gmail.com>2011-08-21 15:14:45 -0500
commitf6ceb944eaea525362db38aa990cac3e6f76ac5a (patch)
treecd91f2cdaa963b47c6bb817a9872e41f22ea87b2 /actionpack/lib
parentf25d65d2fbe2a0e65affdb87c2a27f47dbe80a09 (diff)
downloadrails-f6ceb944eaea525362db38aa990cac3e6f76ac5a.tar.gz
rails-f6ceb944eaea525362db38aa990cac3e6f76ac5a.tar.bz2
rails-f6ceb944eaea525362db38aa990cac3e6f76ac5a.zip
fix escape_javascript for unicode character \u2028.
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_view/helpers/javascript_helper.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/helpers/javascript_helper.rb b/actionpack/lib/action_view/helpers/javascript_helper.rb
index 4484390fde..f1b071caf7 100644
--- a/actionpack/lib/action_view/helpers/javascript_helper.rb
+++ b/actionpack/lib/action_view/helpers/javascript_helper.rb
@@ -10,7 +10,8 @@ module ActionView
"\n" => '\n',
"\r" => '\n',
'"' => '\\"',
- "'" => "\\'" }
+ "'" => "\\'",
+ "\342\200\250" => '&#x2028;' }
# Escape carrier returns and single and double quotes for JavaScript segments.
# Also available through the alias j(). This is particularly helpful in JavaScript responses, like:
@@ -18,7 +19,7 @@ module ActionView
# $('some_element').replaceWith('<%=j render 'some/element_template' %>');
def escape_javascript(javascript)
if javascript
- result = javascript.gsub(/(\\|<\/|\r\n|[\n\r"'])/) {|match| JS_ESCAPE_MAP[match] }
+ result = javascript.gsub(/(\\|<\/|\r\n|\342\200\250|[\n\r"'])/) {|match| JS_ESCAPE_MAP[match] }
javascript.html_safe? ? result.html_safe : result
else
''