aboutsummaryrefslogtreecommitdiff
path: root/node_modules/vue/src/platforms/web/util/compat.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/vue/src/platforms/web/util/compat.js')
-rw-r--r--node_modules/vue/src/platforms/web/util/compat.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/node_modules/vue/src/platforms/web/util/compat.js b/node_modules/vue/src/platforms/web/util/compat.js
new file mode 100644
index 00000000..d95759cc
--- /dev/null
+++ b/node_modules/vue/src/platforms/web/util/compat.js
@@ -0,0 +1,16 @@
+/* @flow */
+
+import { inBrowser } from 'core/util/index'
+
+// check whether current browser encodes a char inside attribute values
+let div
+function getShouldDecode (href: boolean): boolean {
+ div = div || document.createElement('div')
+ div.innerHTML = href ? `<a href="\n"/>` : `<div a="\n"/>`
+ return div.innerHTML.indexOf('&#10;') > 0
+}
+
+// #3663: IE encodes newlines inside attribute values while other browsers don't
+export const shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false
+// #6828: chrome encodes content in a[href]
+export const shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false