From 9c515323ff6cc0dc42b9ee64397f297b7566d0a4 Mon Sep 17 00:00:00 2001 From: Gaming4JC Date: Sun, 30 Aug 2020 22:10:17 -0400 Subject: Issue #618 - Don't preload nomodule scripts when modules are enabled (uplift) --- parser/html/nsHtml5TreeBuilderCppSupplement.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'parser/html/nsHtml5TreeBuilderCppSupplement.h') diff --git a/parser/html/nsHtml5TreeBuilderCppSupplement.h b/parser/html/nsHtml5TreeBuilderCppSupplement.h index 9709396c7..f0326a20a 100644 --- a/parser/html/nsHtml5TreeBuilderCppSupplement.h +++ b/parser/html/nsHtml5TreeBuilderCppSupplement.h @@ -171,6 +171,8 @@ nsHtml5TreeBuilder::createElement(int32_t aNamespace, nsIAtom* aName, aAttributes->contains(nsHtml5AttributeName::ATTR_ASYNC); bool defer = aAttributes->contains(nsHtml5AttributeName::ATTR_DEFER); + bool noModule = + aAttributes->contains(nsHtml5AttributeName::ATTR_NOMODULE); mSpeculativeLoadQueue.AppendElement()->InitScript( url, charset, @@ -179,7 +181,8 @@ nsHtml5TreeBuilder::createElement(int32_t aNamespace, nsIAtom* aName, integrity, mode == NS_HTML5TREE_BUILDER_IN_HEAD, async, - defer); + defer, + noModule); mCurrentHtmlScriptIsAsyncOrDefer = async || defer; } } else if (nsHtml5Atoms::link == aName) { @@ -285,7 +288,8 @@ nsHtml5TreeBuilder::createElement(int32_t aNamespace, nsIAtom* aName, integrity, mode == NS_HTML5TREE_BUILDER_IN_HEAD, false /* async */, - false /* defer */); + false /* defer */, + false /* noModule */); } } else if (nsHtml5Atoms::style == aName) { nsHtml5TreeOperation* treeOp = mOpQueue.AppendElement(); -- cgit v1.2.3 From 37efb98518ae720e9308a8cd4732817a46e15f17 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 23 Sep 2020 01:02:29 +0000 Subject: [SVG] Only fire the SVG onload when scripting is enabled and allowed --- parser/html/nsHtml5TreeBuilderCppSupplement.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'parser/html/nsHtml5TreeBuilderCppSupplement.h') diff --git a/parser/html/nsHtml5TreeBuilderCppSupplement.h b/parser/html/nsHtml5TreeBuilderCppSupplement.h index f0326a20a..51966077c 100644 --- a/parser/html/nsHtml5TreeBuilderCppSupplement.h +++ b/parser/html/nsHtml5TreeBuilderCppSupplement.h @@ -922,6 +922,9 @@ nsHtml5TreeBuilder::elementPopped(int32_t aNamespace, nsIAtom* aName, nsIContent } if (aNamespace == kNameSpaceID_SVG) { if (aName == nsHtml5Atoms::svg) { + if (!scriptingEnabled || mPreventScriptExecution) { + return; + } if (mBuilder) { nsHtml5TreeOperation::SvgLoad(static_cast(aElement)); return; -- cgit v1.2.3