From 0c92e19e843109fa42ad5045f21153b1bc7446ce Mon Sep 17 00:00:00 2001 From: bd339 Date: Sat, 30 Apr 2016 21:05:21 +0200 Subject: [PATCH 1/2] make `scripting_enabled` depend on a browsing context --- components/script/dom/document.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 191ea0a92fa..d422e9bd278 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -1668,7 +1668,7 @@ impl Document { deferred_scripts: DOMRefCell::new(vec![]), asap_in_order_scripts_list: DOMRefCell::new(vec![]), asap_scripts_set: DOMRefCell::new(vec![]), - scripting_enabled: Cell::new(true), + scripting_enabled: Cell::new(browsing_context.is_some()), animation_frame_ident: Cell::new(0), animation_frame_list: DOMRefCell::new(BTreeMap::new()), loader: DOMRefCell::new(doc_loader), From 2ecd57cfa3fa53483f605c94bca820da81cf495c Mon Sep 17 00:00:00 2001 From: bd339 Date: Sat, 30 Apr 2016 21:12:54 +0200 Subject: [PATCH 2/2] test that JS on a document without a browsing context isn't executed. --- tests/wpt/metadata/MANIFEST.json | 6 ++++++ .../the-script-element/scripting-enabled.html | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 35840679f11..ccd699e9163 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -35270,6 +35270,12 @@ "path": "html/semantics/forms/form-submission-0/submit-entity-body.html", "url": "/html/semantics/forms/form-submission-0/submit-entity-body.html" } + ], + "html/semantics/scripting-1/the-script-element/scripting-enabled.html": [ + { + "path": "html/semantics/scripting-1/the-script-element/scripting-enabled.html", + "url": "/html/semantics/scripting-1/the-script-element/scripting-enabled.html" + } ] } }, diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html new file mode 100644 index 00000000000..a2671a78f69 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html @@ -0,0 +1,16 @@ + + +JS is disabled on documents created without a browsing context + + + +