Commit ed4a061d authored by Romain Courteaud's avatar Romain Courteaud

Release version 0.27.0

parent b05c05f4
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -781,6 +781,32 @@ if (typeof document.contains !== 'function') { ...@@ -781,6 +781,32 @@ if (typeof document.contains !== 'function') {
ScopeError.prototype = new Error(); ScopeError.prototype = new Error();
ScopeError.prototype.constructor = ScopeError; ScopeError.prototype.constructor = ScopeError;
//////////////////////////////////////////
// ParserError
//////////////////////////////////////////
function DOMParserError(message) {
this.name = "DOMParserError";
if ((message !== undefined) && (typeof message !== "string")) {
throw new TypeError('You must pass a string for DOMParserError.');
}
this.message = message || "Default Message";
}
DOMParserError.prototype = new Error();
DOMParserError.prototype.constructor = DOMParserError;
//////////////////////////////////////////
// DOMParser
//////////////////////////////////////////
function parseDocumentStringOrFail(string, mime_type) {
var doc = new DOMParser().parseFromString(string, mime_type),
error_node = doc.querySelector('parsererror');
if (error_node !== null) {
// parsing failed
throw new DOMParserError(error_node.textContent);
}
return doc;
}
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// renderJS.IframeSerializationError // renderJS.IframeSerializationError
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
...@@ -1901,8 +1927,7 @@ if (typeof document.contains !== 'function') { ...@@ -1901,8 +1927,7 @@ if (typeof document.contains !== 'function') {
.push(function handleDataURLAjaxResponse(xhr) { .push(function handleDataURLAjaxResponse(xhr) {
// Insert a "base" element, in order to resolve all relative links // Insert a "base" element, in order to resolve all relative links
// which could get broken with a data url // which could get broken with a data url
var doc = (new DOMParser()).parseFromString(xhr.responseText, var doc = parseDocumentStringOrFail(xhr.responseText, 'text/html'),
'text/html'),
base = doc.createElement('base'), base = doc.createElement('base'),
blob; blob;
base.href = url; base.href = url;
...@@ -2200,7 +2225,7 @@ if (typeof document.contains !== 'function') { ...@@ -2200,7 +2225,7 @@ if (typeof document.contains !== 'function') {
// https://developer.mozilla.org/en-US/docs/Web/API/DOMParser // https://developer.mozilla.org/en-US/docs/Web/API/DOMParser
// https://developer.mozilla.org/en-US/docs/Code_snippets/HTML_to_DOM // https://developer.mozilla.org/en-US/docs/Code_snippets/HTML_to_DOM
tmp_constructor.__template_element = tmp_constructor.__template_element =
(new DOMParser()).parseFromString(xhr.responseText, "text/html"); parseDocumentStringOrFail(xhr.responseText, "text/html");
parsed_html = renderJS.parseGadgetHTMLDocument( parsed_html = renderJS.parseGadgetHTMLDocument(
tmp_constructor.__template_element, tmp_constructor.__template_element,
url, url,
...@@ -2406,6 +2431,8 @@ if (typeof document.contains !== 'function') { ...@@ -2406,6 +2431,8 @@ if (typeof document.contains !== 'function') {
renderJS.ScopeError = ScopeError; renderJS.ScopeError = ScopeError;
renderJS.IframeSerializationError = IframeSerializationError; renderJS.IframeSerializationError = IframeSerializationError;
renderJS.loopEventListener = loopEventListener; renderJS.loopEventListener = loopEventListener;
renderJS.DOMParserError = DOMParserError;
renderJS.parseDocumentStringOrFail = parseDocumentStringOrFail;
window.rJS = window.renderJS = renderJS; window.rJS = window.renderJS = renderJS;
window.__RenderJSGadget = RenderJSGadget; window.__RenderJSGadget = RenderJSGadget;
window.__RenderJSEmbeddedGadget = RenderJSEmbeddedGadget; window.__RenderJSEmbeddedGadget = RenderJSEmbeddedGadget;
......
{ {
"name": "renderjs", "name": "renderjs",
"version": "0.26.0", "version": "0.27.0",
"description": "RenderJs provides HTML5 gadgets", "description": "RenderJs provides HTML5 gadgets",
"main": "dist/renderjs-latest.js", "main": "dist/renderjs-latest.js",
"dependencies": { "dependencies": {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment