From 15172ae47aa0e6fda7d96a672541ba18a72fe1d1 Mon Sep 17 00:00:00 2001 From: DLehenbauer Date: Wed, 30 Dec 2015 07:53:54 -0800 Subject: [PATCH 1/3] Issue #157: Fix HierarchyRequestError with XHTML and SVG documents --- testharnessreport.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/testharnessreport.js b/testharnessreport.js index d8387b255e96b7..d024bfafbbbbcd 100644 --- a/testharnessreport.js +++ b/testharnessreport.js @@ -395,7 +395,14 @@ function dump_test_results(tests, status) { message: status.message, stack: status.stack}; results_element.textContent = JSON.stringify(data); - document.documentElement.lastChild.appendChild(results_element); + + // To avoid a HierarchyRequestError with XML documents, ensure that 'results_element' + // is inserted at a location that results in a valid document. + var parent = document.body + ? document.body // is required in XHTML documents + : document.documentElement; // fallback for optional in HTML5, SVG, etc. + + parent.appendChild(results_element); } metadata_generator.setup(); From 193da44ef4f30253a3e6119e81b7272fdef30484 Mon Sep 17 00:00:00 2001 From: DLehenbauer Date: Wed, 30 Dec 2015 08:00:50 -0800 Subject: [PATCH 2/3] Avoid unintentional use of global var 'data' --- testharnessreport.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/testharnessreport.js b/testharnessreport.js index d024bfafbbbbcd..1e9cbe62d73fd1 100644 --- a/testharnessreport.js +++ b/testharnessreport.js @@ -389,11 +389,11 @@ function dump_test_results(tests, status) { var test_results = tests.map(function(x) { return {name:x.name, status:x.status, message:x.message, stack:x.stack} }); - data = {test:window.location.href, - tests:test_results, - status: status.status, - message: status.message, - stack: status.stack}; + var data = {test:window.location.href, + tests:test_results, + status: status.status, + message: status.message, + stack: status.stack}; results_element.textContent = JSON.stringify(data); // To avoid a HierarchyRequestError with XML documents, ensure that 'results_element' From 6c2060fb150b2126730ec485652b3958bced9ef8 Mon Sep 17 00:00:00 2001 From: DLehenbauer Date: Wed, 30 Dec 2015 08:03:53 -0800 Subject: [PATCH 3/3] Fix /*global*/ decls and nearby whitespace (VS Code did not understand the comma delimited list.) --- testharnessreport.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testharnessreport.js b/testharnessreport.js index 1e9cbe62d73fd1..c95506ea6198f0 100644 --- a/testharnessreport.js +++ b/testharnessreport.js @@ -1,4 +1,6 @@ -/*global add_completion_callback, setup */ +/* global add_completion_callback */ +/* global setup */ + /* * This file is intended for vendors to implement * code needed to integrate testharness.js tests with their own test systems. @@ -23,8 +25,6 @@ * parameters they are called with see testharness.js */ - - var metadata_generator = { currentMetadata: {},