Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2019-03-01 19:06:48 +0300
committerJulius Härtl <jus@bitgrid.net>2019-03-07 12:45:47 +0300
commitd7686346165bb63c04b2f087772c85354c205951 (patch)
treeeaaf1a6ba053c5234db7a4580c6fe3f2d37e2f06 /core
parent067651b715fdce9aad5adb8fb89ebe73392d7f4f (diff)
Fix domparser on phantomjs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'core')
-rw-r--r--core/js/tests/html-domparser.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/core/js/tests/html-domparser.js b/core/js/tests/html-domparser.js
new file mode 100644
index 00000000000..ea22f9b8752
--- /dev/null
+++ b/core/js/tests/html-domparser.js
@@ -0,0 +1,46 @@
+/*
+ * DOMParser HTML extension
+ * 2012-09-04
+ *
+ * By Eli Grey, http://eligrey.com
+ * Public domain.
+ * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+ */
+
+/*! @source https://gist.github.com/1129031 */
+/*global document, DOMParser*/
+
+(function(DOMParser) {
+ "use strict";
+
+ var
+ DOMParser_proto = DOMParser.prototype
+ , real_parseFromString = DOMParser_proto.parseFromString
+ ;
+
+ // Firefox/Opera/IE throw errors on unsupported types
+ try {
+ // WebKit returns null on unsupported types
+ if ((new DOMParser).parseFromString("", "text/html")) {
+ // text/html parsing is natively supported
+ return;
+ }
+ } catch (ex) {}
+
+ DOMParser_proto.parseFromString = function(markup, type) {
+ if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
+ var
+ doc = document.implementation.createHTMLDocument("")
+ ;
+ if (markup.toLowerCase().indexOf('<!doctype') > -1) {
+ doc.documentElement.innerHTML = markup;
+ }
+ else {
+ doc.body.innerHTML = markup;
+ }
+ return doc;
+ } else {
+ return real_parseFromString.apply(this, arguments);
+ }
+ };
+}(DOMParser));