commit cbd0a09437ba55ffd2f7c886b819f5a7427050bb
parent 4e46dd4854670153f9d574b4a3a179f46d2b7654
Author: Tom Schuster <tschuster@mozilla.com>
Date: Thu, 23 Oct 2025 06:41:38 +0000
Bug 1995726 - Sanitizer: Sort the default configuration. r=smaug
This only changes the order of the items.
https://github.com/WICG/sanitizer-api/commit/fc36ba125ff6f175e1b5619c4ec20ab611cc5858
This change isn't observable, because we already did sorting for get().
Differential Revision: https://phabricator.services.mozilla.com/D269564
Diffstat:
4 files changed, 694 insertions(+), 694 deletions(-)
diff --git a/dom/security/sanitizer/Sanitizer.cpp b/dom/security/sanitizer/Sanitizer.cpp
@@ -1434,11 +1434,11 @@ bool Sanitizer::SetDataAttributes(bool aAllow) {
// https://wicg.github.io/sanitizer-api/#built-in-safe-baseline-configuration
// The built-in safe baseline configuration
#define FOR_EACH_BASELINE_REMOVE_ELEMENT(ELEMENT) \
- ELEMENT(XHTML, xhtml, script) \
+ ELEMENT(XHTML, xhtml, embed) \
ELEMENT(XHTML, xhtml, frame) \
ELEMENT(XHTML, xhtml, iframe) \
ELEMENT(XHTML, xhtml, object) \
- ELEMENT(XHTML, xhtml, embed) \
+ ELEMENT(XHTML, xhtml, script) \
ELEMENT(SVG, svg, script) \
ELEMENT(SVG, svg, use)
diff --git a/dom/security/sanitizer/SanitizerDefaultConfig.h b/dom/security/sanitizer/SanitizerDefaultConfig.h
@@ -15,81 +15,81 @@ namespace mozilla::dom::sanitizer {
constexpr nsStaticAtom* kDefaultHTMLElements[] = {
// clang-format off
- nsGkAtoms::html,
- nsGkAtoms::head,
- nsGkAtoms::title,
- nsGkAtoms::body,
+ nsGkAtoms::a,
+ nsGkAtoms::abbr,
+ nsGkAtoms::address,
nsGkAtoms::article,
- nsGkAtoms::section,
- nsGkAtoms::nav,
nsGkAtoms::aside,
+ nsGkAtoms::b,
+ nsGkAtoms::bdi,
+ nsGkAtoms::bdo,
+ nsGkAtoms::blockquote,
+ nsGkAtoms::body,
+ nsGkAtoms::br,
+ nsGkAtoms::caption,
+ nsGkAtoms::cite,
+ nsGkAtoms::code,
+ nsGkAtoms::col,
+ nsGkAtoms::colgroup,
+ nsGkAtoms::data,
+ nsGkAtoms::dd,
+ nsGkAtoms::del,
+ nsGkAtoms::dfn,
+ nsGkAtoms::div,
+ nsGkAtoms::dl,
+ nsGkAtoms::dt,
+ nsGkAtoms::em,
+ nsGkAtoms::figcaption,
+ nsGkAtoms::figure,
+ nsGkAtoms::footer,
nsGkAtoms::h1,
nsGkAtoms::h2,
nsGkAtoms::h3,
nsGkAtoms::h4,
nsGkAtoms::h5,
nsGkAtoms::h6,
- nsGkAtoms::hgroup,
+ nsGkAtoms::head,
nsGkAtoms::header,
- nsGkAtoms::footer,
- nsGkAtoms::address,
- nsGkAtoms::p,
+ nsGkAtoms::hgroup,
nsGkAtoms::hr,
- nsGkAtoms::pre,
- nsGkAtoms::blockquote,
- nsGkAtoms::ol,
- nsGkAtoms::ul,
- nsGkAtoms::menu,
+ nsGkAtoms::html,
+ nsGkAtoms::i,
+ nsGkAtoms::ins,
+ nsGkAtoms::kbd,
nsGkAtoms::li,
- nsGkAtoms::dl,
- nsGkAtoms::dt,
- nsGkAtoms::dd,
- nsGkAtoms::figure,
- nsGkAtoms::figcaption,
nsGkAtoms::main,
- nsGkAtoms::search,
- nsGkAtoms::div,
- nsGkAtoms::a,
- nsGkAtoms::em,
- nsGkAtoms::strong,
- nsGkAtoms::small,
- nsGkAtoms::s,
- nsGkAtoms::cite,
+ nsGkAtoms::mark,
+ nsGkAtoms::menu,
+ nsGkAtoms::nav,
+ nsGkAtoms::ol,
+ nsGkAtoms::p,
+ nsGkAtoms::pre,
nsGkAtoms::q,
- nsGkAtoms::dfn,
- nsGkAtoms::abbr,
- nsGkAtoms::ruby,
- nsGkAtoms::rt,
nsGkAtoms::rp,
- nsGkAtoms::data,
- nsGkAtoms::time,
- nsGkAtoms::code,
- nsGkAtoms::var,
+ nsGkAtoms::rt,
+ nsGkAtoms::ruby,
+ nsGkAtoms::s,
nsGkAtoms::samp,
- nsGkAtoms::kbd,
+ nsGkAtoms::search,
+ nsGkAtoms::section,
+ nsGkAtoms::small,
+ nsGkAtoms::span,
+ nsGkAtoms::strong,
nsGkAtoms::sub,
nsGkAtoms::sup,
- nsGkAtoms::i,
- nsGkAtoms::b,
- nsGkAtoms::u,
- nsGkAtoms::mark,
- nsGkAtoms::bdi,
- nsGkAtoms::bdo,
- nsGkAtoms::span,
- nsGkAtoms::br,
- nsGkAtoms::wbr,
- nsGkAtoms::ins,
- nsGkAtoms::del,
nsGkAtoms::table,
- nsGkAtoms::caption,
- nsGkAtoms::colgroup,
- nsGkAtoms::col,
nsGkAtoms::tbody,
- nsGkAtoms::thead,
- nsGkAtoms::tfoot,
- nsGkAtoms::tr,
nsGkAtoms::td,
+ nsGkAtoms::tfoot,
nsGkAtoms::th,
+ nsGkAtoms::thead,
+ nsGkAtoms::time,
+ nsGkAtoms::title,
+ nsGkAtoms::tr,
+ nsGkAtoms::u,
+ nsGkAtoms::ul,
+ nsGkAtoms::var,
+ nsGkAtoms::wbr,
// clang-format on
};
@@ -127,39 +127,29 @@ constexpr nsStaticAtom* kDefaultMathMLElements[] = {
constexpr nsStaticAtom* kDefaultSVGElements[] = {
// clang-format off
- nsGkAtoms::svg,
- nsGkAtoms::g,
+ nsGkAtoms::circle,
nsGkAtoms::defs,
- nsGkAtoms::title,
nsGkAtoms::desc,
- nsGkAtoms::metadata,
- nsGkAtoms::path,
- nsGkAtoms::rect,
- nsGkAtoms::circle,
nsGkAtoms::ellipse,
+ nsGkAtoms::foreignObject,
+ nsGkAtoms::g,
nsGkAtoms::line,
- nsGkAtoms::polyline,
+ nsGkAtoms::marker,
+ nsGkAtoms::metadata,
+ nsGkAtoms::path,
nsGkAtoms::polygon,
+ nsGkAtoms::polyline,
+ nsGkAtoms::rect,
+ nsGkAtoms::svg,
nsGkAtoms::text,
- nsGkAtoms::tspan,
nsGkAtoms::textPath,
- nsGkAtoms::foreignObject,
- nsGkAtoms::marker,
+ nsGkAtoms::title,
+ nsGkAtoms::tspan,
// clang-format on
};
constexpr nsStaticAtom* kDefaultAttributes[] = {
// clang-format off
- nsGkAtoms::dir,
- nsGkAtoms::lang,
- nsGkAtoms::title,
- nsGkAtoms::displaystyle,
- nsGkAtoms::mathbackground,
- nsGkAtoms::mathcolor,
- nsGkAtoms::mathsize,
- nsGkAtoms::scriptlevel,
- nsGkAtoms::fill,
- nsGkAtoms::transform,
nsGkAtoms::alignment_baseline,
nsGkAtoms::baseline_shift,
nsGkAtoms::clip_path,
@@ -167,9 +157,12 @@ constexpr nsStaticAtom* kDefaultAttributes[] = {
nsGkAtoms::color,
nsGkAtoms::color_interpolation,
nsGkAtoms::cursor,
+ nsGkAtoms::dir,
nsGkAtoms::direction,
nsGkAtoms::display,
+ nsGkAtoms::displaystyle,
nsGkAtoms::dominant_baseline,
+ nsGkAtoms::fill,
nsGkAtoms::fill_opacity,
nsGkAtoms::fill_rule,
nsGkAtoms::font_family,
@@ -179,13 +172,18 @@ constexpr nsStaticAtom* kDefaultAttributes[] = {
nsGkAtoms::font_style,
nsGkAtoms::font_variant,
nsGkAtoms::font_weight,
+ nsGkAtoms::lang,
nsGkAtoms::letter_spacing,
nsGkAtoms::marker_end,
nsGkAtoms::marker_mid,
nsGkAtoms::marker_start,
+ nsGkAtoms::mathbackground,
+ nsGkAtoms::mathcolor,
+ nsGkAtoms::mathsize,
nsGkAtoms::opacity,
nsGkAtoms::paint_order,
nsGkAtoms::pointer_events,
+ nsGkAtoms::scriptlevel,
nsGkAtoms::shape_rendering,
nsGkAtoms::stop_color,
nsGkAtoms::stop_opacity,
@@ -201,6 +199,8 @@ constexpr nsStaticAtom* kDefaultAttributes[] = {
nsGkAtoms::text_decoration,
nsGkAtoms::text_overflow,
nsGkAtoms::text_rendering,
+ nsGkAtoms::title,
+ nsGkAtoms::transform,
nsGkAtoms::transform_origin,
nsGkAtoms::unicode_bidi,
nsGkAtoms::vector_effect,
@@ -214,54 +214,54 @@ constexpr nsStaticAtom* kDefaultAttributes[] = {
// Data is encoded as: element, attributes..., nullptr
constexpr nsStaticAtom* kHTMLElementWithAttributes[] = {
// clang-format off
- /* element */ nsGkAtoms::blockquote,
- nsGkAtoms::cite,
- nullptr,
- /* element */ nsGkAtoms::ol,
- nsGkAtoms::reversed,
- nsGkAtoms::start,
- nsGkAtoms::type,
- nullptr,
- /* element */ nsGkAtoms::li,
- nsGkAtoms::value,
- nullptr,
/* element */ nsGkAtoms::a,
nsGkAtoms::href,
- nsGkAtoms::rel,
nsGkAtoms::hreflang,
+ nsGkAtoms::rel,
nsGkAtoms::type,
nullptr,
+ /* element */ nsGkAtoms::blockquote,
+ nsGkAtoms::cite,
+ nullptr,
+ /* element */ nsGkAtoms::col,
+ nsGkAtoms::span,
+ nullptr,
+ /* element */ nsGkAtoms::colgroup,
+ nsGkAtoms::span,
+ nullptr,
/* element */ nsGkAtoms::data,
nsGkAtoms::value,
nullptr,
- /* element */ nsGkAtoms::time,
- nsGkAtoms::datetime,
- nullptr,
- /* element */ nsGkAtoms::ins,
+ /* element */ nsGkAtoms::del,
nsGkAtoms::cite,
nsGkAtoms::datetime,
nullptr,
- /* element */ nsGkAtoms::del,
+ /* element */ nsGkAtoms::ins,
nsGkAtoms::cite,
nsGkAtoms::datetime,
nullptr,
- /* element */ nsGkAtoms::colgroup,
- nsGkAtoms::span,
+ /* element */ nsGkAtoms::li,
+ nsGkAtoms::value,
nullptr,
- /* element */ nsGkAtoms::col,
- nsGkAtoms::span,
+ /* element */ nsGkAtoms::ol,
+ nsGkAtoms::reversed,
+ nsGkAtoms::start,
+ nsGkAtoms::type,
nullptr,
/* element */ nsGkAtoms::td,
nsGkAtoms::colspan,
- nsGkAtoms::rowspan,
nsGkAtoms::headers,
+ nsGkAtoms::rowspan,
nullptr,
/* element */ nsGkAtoms::th,
+ nsGkAtoms::abbr,
nsGkAtoms::colspan,
- nsGkAtoms::rowspan,
nsGkAtoms::headers,
+ nsGkAtoms::rowspan,
nsGkAtoms::scope,
- nsGkAtoms::abbr,
+ nullptr,
+ /* element */ nsGkAtoms::time,
+ nsGkAtoms::datetime,
nullptr,
/* sentinel */ nullptr,
// clang-format on
@@ -270,32 +270,32 @@ constexpr nsStaticAtom* kHTMLElementWithAttributes[] = {
constexpr nsStaticAtom* kMathMLElementWithAttributes[] = {
// clang-format off
/* element */ nsGkAtoms::mo,
- nsGkAtoms::form,
nsGkAtoms::fence,
- nsGkAtoms::separator,
+ nsGkAtoms::form,
+ nsGkAtoms::largeop,
nsGkAtoms::lspace,
- nsGkAtoms::rspace,
- nsGkAtoms::stretchy,
- nsGkAtoms::symmetric,
nsGkAtoms::maxsize,
nsGkAtoms::minsize,
- nsGkAtoms::largeop,
nsGkAtoms::movablelimits,
+ nsGkAtoms::rspace,
+ nsGkAtoms::separator,
+ nsGkAtoms::stretchy,
+ nsGkAtoms::symmetric,
nullptr,
/* element */ nsGkAtoms::mover,
nsGkAtoms::accent,
nullptr,
/* element */ nsGkAtoms::mpadded,
- nsGkAtoms::width,
- nsGkAtoms::height,
nsGkAtoms::depth,
+ nsGkAtoms::height,
nsGkAtoms::lspace,
nsGkAtoms::voffset,
+ nsGkAtoms::width,
nullptr,
/* element */ nsGkAtoms::mspace,
- nsGkAtoms::width,
- nsGkAtoms::height,
nsGkAtoms::depth,
+ nsGkAtoms::height,
+ nsGkAtoms::width,
nullptr,
/* element */ nsGkAtoms::mtd,
nsGkAtoms::columnspan,
@@ -314,97 +314,97 @@ constexpr nsStaticAtom* kMathMLElementWithAttributes[] = {
constexpr nsStaticAtom* kSVGElementWithAttributes[] = {
// clang-format off
- /* element */ nsGkAtoms::svg,
- nsGkAtoms::viewBox,
- nsGkAtoms::preserveAspectRatio,
- nsGkAtoms::height,
- nsGkAtoms::width,
- nsGkAtoms::x,
- nsGkAtoms::y,
- nullptr,
- /* element */ nsGkAtoms::path,
- nsGkAtoms::pathLength,
- nsGkAtoms::d,
- nullptr,
- /* element */ nsGkAtoms::rect,
- nsGkAtoms::pathLength,
- nsGkAtoms::x,
- nsGkAtoms::y,
- nsGkAtoms::width,
- nsGkAtoms::height,
- nsGkAtoms::rx,
- nsGkAtoms::ry,
- nullptr,
/* element */ nsGkAtoms::circle,
- nsGkAtoms::pathLength,
nsGkAtoms::cx,
nsGkAtoms::cy,
+ nsGkAtoms::pathLength,
nsGkAtoms::r,
nullptr,
/* element */ nsGkAtoms::ellipse,
- nsGkAtoms::pathLength,
nsGkAtoms::cx,
nsGkAtoms::cy,
+ nsGkAtoms::pathLength,
nsGkAtoms::rx,
nsGkAtoms::ry,
nullptr,
+ /* element */ nsGkAtoms::foreignObject,
+ nsGkAtoms::height,
+ nsGkAtoms::width,
+ nsGkAtoms::x,
+ nsGkAtoms::y,
+ nullptr,
/* element */ nsGkAtoms::line,
nsGkAtoms::pathLength,
nsGkAtoms::x1,
- nsGkAtoms::y1,
nsGkAtoms::x2,
+ nsGkAtoms::y1,
nsGkAtoms::y2,
nullptr,
- /* element */ nsGkAtoms::polyline,
+ /* element */ nsGkAtoms::marker,
+ nsGkAtoms::markerHeight,
+ nsGkAtoms::markerUnits,
+ nsGkAtoms::markerWidth,
+ nsGkAtoms::orient,
+ nsGkAtoms::preserveAspectRatio,
+ nsGkAtoms::refX,
+ nsGkAtoms::refY,
+ nsGkAtoms::viewBox,
+ nullptr,
+ /* element */ nsGkAtoms::path,
+ nsGkAtoms::d,
nsGkAtoms::pathLength,
- nsGkAtoms::points,
nullptr,
/* element */ nsGkAtoms::polygon,
nsGkAtoms::pathLength,
nsGkAtoms::points,
nullptr,
- /* element */ nsGkAtoms::text,
- nsGkAtoms::lengthAdjust,
+ /* element */ nsGkAtoms::polyline,
+ nsGkAtoms::pathLength,
+ nsGkAtoms::points,
+ nullptr,
+ /* element */ nsGkAtoms::rect,
+ nsGkAtoms::height,
+ nsGkAtoms::pathLength,
+ nsGkAtoms::rx,
+ nsGkAtoms::ry,
+ nsGkAtoms::width,
nsGkAtoms::x,
nsGkAtoms::y,
- nsGkAtoms::dx,
- nsGkAtoms::dy,
- nsGkAtoms::rotate,
- nsGkAtoms::textLength,
nullptr,
- /* element */ nsGkAtoms::tspan,
- nsGkAtoms::lengthAdjust,
+ /* element */ nsGkAtoms::svg,
+ nsGkAtoms::height,
+ nsGkAtoms::preserveAspectRatio,
+ nsGkAtoms::viewBox,
+ nsGkAtoms::width,
nsGkAtoms::x,
nsGkAtoms::y,
+ nullptr,
+ /* element */ nsGkAtoms::text,
nsGkAtoms::dx,
nsGkAtoms::dy,
+ nsGkAtoms::lengthAdjust,
nsGkAtoms::rotate,
nsGkAtoms::textLength,
+ nsGkAtoms::x,
+ nsGkAtoms::y,
nullptr,
/* element */ nsGkAtoms::textPath,
nsGkAtoms::lengthAdjust,
- nsGkAtoms::textLength,
- nsGkAtoms::path,
- nsGkAtoms::startOffset,
nsGkAtoms::method,
- nsGkAtoms::spacing,
+ nsGkAtoms::path,
nsGkAtoms::side,
+ nsGkAtoms::spacing,
+ nsGkAtoms::startOffset,
+ nsGkAtoms::textLength,
nullptr,
- /* element */ nsGkAtoms::foreignObject,
+ /* element */ nsGkAtoms::tspan,
+ nsGkAtoms::dx,
+ nsGkAtoms::dy,
+ nsGkAtoms::lengthAdjust,
+ nsGkAtoms::rotate,
+ nsGkAtoms::textLength,
nsGkAtoms::x,
nsGkAtoms::y,
- nsGkAtoms::width,
- nsGkAtoms::height,
- nullptr,
- /* element */ nsGkAtoms::marker,
- nsGkAtoms::viewBox,
- nsGkAtoms::preserveAspectRatio,
- nsGkAtoms::refX,
- nsGkAtoms::refY,
- nsGkAtoms::markerUnits,
- nsGkAtoms::markerWidth,
- nsGkAtoms::markerHeight,
- nsGkAtoms::orient,
nullptr,
/* sentinel */ nullptr,
// clang-format on
diff --git a/dom/security/sanitizer/safe-default-configuration.json b/dom/security/sanitizer/safe-default-configuration.json
@@ -1,385 +1,375 @@
{
"elements": [
{
- "name": "html",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "head",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "title",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "body",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "article",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "section",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "nav",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "aside",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "h1",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "h2",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "h3",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "h4",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "h5",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "h6",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "hgroup",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "header",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "math",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "footer",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "merror",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "address",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mfrac",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "p",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mi",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "hr",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mmultiscripts",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "pre",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mn",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "blockquote",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mo",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": [
{
- "name": "cite",
+ "name": "fence",
"namespace": null
- }
- ]
- },
- {
- "name": "ol",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": [
+ },
{
- "name": "reversed",
+ "name": "form",
"namespace": null
},
{
- "name": "start",
+ "name": "largeop",
"namespace": null
},
{
- "name": "type",
+ "name": "lspace",
+ "namespace": null
+ },
+ {
+ "name": "maxsize",
+ "namespace": null
+ },
+ {
+ "name": "minsize",
+ "namespace": null
+ },
+ {
+ "name": "movablelimits",
+ "namespace": null
+ },
+ {
+ "name": "rspace",
+ "namespace": null
+ },
+ {
+ "name": "separator",
+ "namespace": null
+ },
+ {
+ "name": "stretchy",
+ "namespace": null
+ },
+ {
+ "name": "symmetric",
"namespace": null
}
]
},
{
- "name": "ul",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "menu",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "li",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mover",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": [
{
- "name": "value",
+ "name": "accent",
"namespace": null
}
]
},
{
- "name": "dl",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "dt",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "dd",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
+ "name": "mpadded",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
+ "attributes": [
+ {
+ "name": "depth",
+ "namespace": null
+ },
+ {
+ "name": "height",
+ "namespace": null
+ },
+ {
+ "name": "lspace",
+ "namespace": null
+ },
+ {
+ "name": "voffset",
+ "namespace": null
+ },
+ {
+ "name": "width",
+ "namespace": null
+ }
+ ]
},
{
- "name": "figure",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mphantom",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "figcaption",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mprescripts",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "main",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mroot",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "search",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mrow",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "div",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "ms",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "a",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mspace",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": [
{
- "name": "href",
- "namespace": null
- },
- {
- "name": "rel",
+ "name": "depth",
"namespace": null
},
{
- "name": "hreflang",
+ "name": "height",
"namespace": null
},
{
- "name": "type",
+ "name": "width",
"namespace": null
}
]
},
{
- "name": "em",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
- },
- {
- "name": "strong",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "msqrt",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "small",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mstyle",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "s",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "msub",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "cite",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "msubsup",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "q",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "msup",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "dfn",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mtable",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "abbr",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
+ "name": "mtd",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
+ "attributes": [
+ {
+ "name": "columnspan",
+ "namespace": null
+ },
+ {
+ "name": "rowspan",
+ "namespace": null
+ }
+ ]
},
{
- "name": "ruby",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mtext",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "rt",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "mtr",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": []
},
{
- "name": "rp",
- "namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
+ "name": "munder",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
+ "attributes": [
+ {
+ "name": "accentunder",
+ "namespace": null
+ }
+ ]
},
{
- "name": "data",
- "namespace": "http://www.w3.org/1999/xhtml",
+ "name": "munderover",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
"attributes": [
{
- "name": "value",
+ "name": "accent",
+ "namespace": null
+ },
+ {
+ "name": "accentunder",
"namespace": null
}
]
},
{
- "name": "time",
+ "name": "semantics",
+ "namespace": "http://www.w3.org/1998/Math/MathML",
+ "attributes": []
+ },
+ {
+ "name": "a",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "datetime",
+ "name": "href",
+ "namespace": null
+ },
+ {
+ "name": "hreflang",
+ "namespace": null
+ },
+ {
+ "name": "rel",
+ "namespace": null
+ },
+ {
+ "name": "type",
"namespace": null
}
]
},
{
- "name": "code",
+ "name": "abbr",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "var",
+ "name": "address",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "samp",
+ "name": "article",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "kbd",
+ "name": "aside",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "sub",
+ "name": "b",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "sup",
+ "name": "bdi",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "i",
+ "name": "bdo",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "b",
+ "name": "blockquote",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
+ "attributes": [
+ {
+ "name": "cite",
+ "namespace": null
+ }
+ ]
},
{
- "name": "u",
+ "name": "body",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mark",
+ "name": "br",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "bdi",
+ "name": "caption",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "bdo",
+ "name": "cite",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "span",
+ "name": "code",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "br",
+ "name": "col",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
+ "attributes": [
+ {
+ "name": "span",
+ "namespace": null
+ }
+ ]
},
{
- "name": "wbr",
+ "name": "colgroup",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": []
+ "attributes": [
+ {
+ "name": "span",
+ "namespace": null
+ }
+ ]
},
{
- "name": "ins",
+ "name": "data",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "cite",
- "namespace": null
- },
- {
- "name": "datetime",
+ "name": "value",
"namespace": null
}
]
},
{
+ "name": "dd",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
"name": "del",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
@@ -394,432 +384,397 @@
]
},
{
- "name": "table",
+ "name": "dfn",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "caption",
+ "name": "div",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "colgroup",
+ "name": "dl",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": [
- {
- "name": "span",
- "namespace": null
- }
- ]
+ "attributes": []
},
{
- "name": "col",
+ "name": "dt",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": [
- {
- "name": "span",
- "namespace": null
- }
- ]
+ "attributes": []
},
{
- "name": "tbody",
+ "name": "em",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "thead",
+ "name": "figcaption",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "tfoot",
+ "name": "figure",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "tr",
+ "name": "footer",
"namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "td",
+ "name": "h1",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": [
- {
- "name": "colspan",
- "namespace": null
- },
- {
- "name": "rowspan",
- "namespace": null
- },
- {
- "name": "headers",
- "namespace": null
- }
- ]
+ "attributes": []
},
{
- "name": "th",
+ "name": "h2",
"namespace": "http://www.w3.org/1999/xhtml",
- "attributes": [
- {
- "name": "colspan",
- "namespace": null
- },
- {
- "name": "rowspan",
- "namespace": null
- },
- {
- "name": "headers",
- "namespace": null
- },
- {
- "name": "scope",
- "namespace": null
- },
- {
- "name": "abbr",
- "namespace": null
- }
- ]
+ "attributes": []
},
{
- "name": "math",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "h3",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "merror",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "h4",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mfrac",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "h5",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mi",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "h6",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mmultiscripts",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "head",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mn",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "header",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mo",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "hgroup",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "hr",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "html",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "i",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "ins",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "form",
- "namespace": null
- },
- {
- "name": "fence",
- "namespace": null
- },
- {
- "name": "separator",
- "namespace": null
- },
- {
- "name": "lspace",
- "namespace": null
- },
- {
- "name": "rspace",
- "namespace": null
- },
- {
- "name": "stretchy",
- "namespace": null
- },
- {
- "name": "symmetric",
- "namespace": null
- },
- {
- "name": "maxsize",
- "namespace": null
- },
- {
- "name": "minsize",
- "namespace": null
- },
- {
- "name": "largeop",
+ "name": "cite",
"namespace": null
},
{
- "name": "movablelimits",
+ "name": "datetime",
"namespace": null
}
]
},
{
- "name": "mover",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "kbd",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "li",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "accent",
+ "name": "value",
"namespace": null
}
]
},
{
- "name": "mpadded",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "main",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "mark",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "menu",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "nav",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "ol",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "width",
- "namespace": null
- },
- {
- "name": "height",
- "namespace": null
- },
- {
- "name": "depth",
+ "name": "reversed",
"namespace": null
},
{
- "name": "lspace",
+ "name": "start",
"namespace": null
},
{
- "name": "voffset",
+ "name": "type",
"namespace": null
}
]
},
{
- "name": "mphantom",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "p",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mprescripts",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "pre",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mroot",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "q",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mrow",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "rp",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "ms",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "rt",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mspace",
- "namespace": "http://www.w3.org/1998/Math/MathML",
- "attributes": [
- {
- "name": "width",
- "namespace": null
- },
- {
- "name": "height",
- "namespace": null
- },
- {
- "name": "depth",
- "namespace": null
- }
- ]
+ "name": "ruby",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
},
{
- "name": "msqrt",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "s",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mstyle",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "samp",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "msub",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "search",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "msubsup",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "section",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "msup",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "small",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mtable",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "span",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mtd",
- "namespace": "http://www.w3.org/1998/Math/MathML",
- "attributes": [
- {
- "name": "columnspan",
- "namespace": null
- },
- {
- "name": "rowspan",
- "namespace": null
- }
- ]
+ "name": "strong",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
},
{
- "name": "mtext",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "sub",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "mtr",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "sup",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "munder",
- "namespace": "http://www.w3.org/1998/Math/MathML",
- "attributes": [
- {
- "name": "accentunder",
- "namespace": null
- }
- ]
+ "name": "table",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
},
{
- "name": "munderover",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "tbody",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "td",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "accent",
+ "name": "colspan",
"namespace": null
},
{
- "name": "accentunder",
+ "name": "headers",
+ "namespace": null
+ },
+ {
+ "name": "rowspan",
"namespace": null
}
]
},
{
- "name": "semantics",
- "namespace": "http://www.w3.org/1998/Math/MathML",
+ "name": "tfoot",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "svg",
- "namespace": "http://www.w3.org/2000/svg",
+ "name": "th",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": [
{
- "name": "viewBox",
+ "name": "abbr",
"namespace": null
},
{
- "name": "preserveAspectRatio",
+ "name": "colspan",
"namespace": null
},
{
- "name": "height",
+ "name": "headers",
"namespace": null
},
{
- "name": "width",
+ "name": "rowspan",
"namespace": null
},
{
- "name": "x",
+ "name": "scope",
"namespace": null
- },
+ }
+ ]
+ },
+ {
+ "name": "thead",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "time",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": [
{
- "name": "y",
+ "name": "datetime",
"namespace": null
}
]
},
{
- "name": "g",
- "namespace": "http://www.w3.org/2000/svg",
+ "name": "title",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "defs",
- "namespace": "http://www.w3.org/2000/svg",
+ "name": "tr",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "title",
- "namespace": "http://www.w3.org/2000/svg",
+ "name": "u",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "desc",
- "namespace": "http://www.w3.org/2000/svg",
+ "name": "ul",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "metadata",
- "namespace": "http://www.w3.org/2000/svg",
+ "name": "var",
+ "namespace": "http://www.w3.org/1999/xhtml",
"attributes": []
},
{
- "name": "path",
+ "name": "wbr",
+ "namespace": "http://www.w3.org/1999/xhtml",
+ "attributes": []
+ },
+ {
+ "name": "circle",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "pathLength",
+ "name": "cx",
"namespace": null
},
{
- "name": "d",
+ "name": "cy",
"namespace": null
- }
- ]
- },
- {
- "name": "rect",
- "namespace": "http://www.w3.org/2000/svg",
- "attributes": [
+ },
{
"name": "pathLength",
"namespace": null
},
{
- "name": "x",
+ "name": "r",
"namespace": null
- },
+ }
+ ]
+ },
+ {
+ "name": "defs",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": []
+ },
+ {
+ "name": "desc",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": []
+ },
+ {
+ "name": "ellipse",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": [
{
- "name": "y",
+ "name": "cx",
"namespace": null
},
{
- "name": "width",
+ "name": "cy",
"namespace": null
},
{
- "name": "height",
+ "name": "pathLength",
"namespace": null
},
{
@@ -833,29 +788,34 @@
]
},
{
- "name": "circle",
+ "name": "foreignObject",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "pathLength",
+ "name": "height",
"namespace": null
},
{
- "name": "cx",
+ "name": "width",
"namespace": null
},
{
- "name": "cy",
+ "name": "x",
"namespace": null
},
{
- "name": "r",
+ "name": "y",
"namespace": null
}
]
},
{
- "name": "ellipse",
+ "name": "g",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": []
+ },
+ {
+ "name": "line",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
@@ -863,51 +823,82 @@
"namespace": null
},
{
- "name": "cx",
+ "name": "x1",
"namespace": null
},
{
- "name": "cy",
+ "name": "x2",
"namespace": null
},
{
- "name": "rx",
+ "name": "y1",
"namespace": null
},
{
- "name": "ry",
+ "name": "y2",
"namespace": null
}
]
},
{
- "name": "line",
+ "name": "marker",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "pathLength",
+ "name": "markerHeight",
"namespace": null
},
{
- "name": "x1",
+ "name": "markerUnits",
"namespace": null
},
{
- "name": "y1",
+ "name": "markerWidth",
"namespace": null
},
{
- "name": "x2",
+ "name": "orient",
"namespace": null
},
{
- "name": "y2",
+ "name": "preserveAspectRatio",
+ "namespace": null
+ },
+ {
+ "name": "refX",
+ "namespace": null
+ },
+ {
+ "name": "refY",
+ "namespace": null
+ },
+ {
+ "name": "viewBox",
"namespace": null
}
]
},
{
- "name": "polyline",
+ "name": "metadata",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": []
+ },
+ {
+ "name": "path",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": [
+ {
+ "name": "d",
+ "namespace": null
+ },
+ {
+ "name": "pathLength",
+ "namespace": null
+ }
+ ]
+ },
+ {
+ "name": "polygon",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
@@ -921,7 +912,7 @@
]
},
{
- "name": "polygon",
+ "name": "polyline",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
@@ -935,163 +926,172 @@
]
},
{
- "name": "text",
+ "name": "rect",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "lengthAdjust",
+ "name": "height",
"namespace": null
},
{
- "name": "x",
+ "name": "pathLength",
"namespace": null
},
{
- "name": "y",
+ "name": "rx",
"namespace": null
},
{
- "name": "dx",
+ "name": "ry",
"namespace": null
},
{
- "name": "dy",
+ "name": "width",
"namespace": null
},
{
- "name": "rotate",
+ "name": "x",
"namespace": null
},
{
- "name": "textLength",
+ "name": "y",
"namespace": null
}
]
},
{
- "name": "tspan",
+ "name": "svg",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "lengthAdjust",
- "namespace": null
- },
- {
- "name": "x",
+ "name": "height",
"namespace": null
},
{
- "name": "y",
+ "name": "preserveAspectRatio",
"namespace": null
},
{
- "name": "dx",
+ "name": "viewBox",
"namespace": null
},
{
- "name": "dy",
+ "name": "width",
"namespace": null
},
{
- "name": "rotate",
+ "name": "x",
"namespace": null
},
{
- "name": "textLength",
+ "name": "y",
"namespace": null
}
]
},
{
- "name": "textPath",
+ "name": "text",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "lengthAdjust",
+ "name": "dx",
"namespace": null
},
{
- "name": "textLength",
+ "name": "dy",
"namespace": null
},
{
- "name": "path",
+ "name": "lengthAdjust",
"namespace": null
},
{
- "name": "startOffset",
+ "name": "rotate",
"namespace": null
},
{
- "name": "method",
+ "name": "textLength",
"namespace": null
},
{
- "name": "spacing",
+ "name": "x",
"namespace": null
},
{
- "name": "side",
+ "name": "y",
"namespace": null
}
]
},
{
- "name": "foreignObject",
+ "name": "textPath",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "x",
+ "name": "lengthAdjust",
"namespace": null
},
{
- "name": "y",
+ "name": "method",
"namespace": null
},
{
- "name": "width",
+ "name": "path",
"namespace": null
},
{
- "name": "height",
+ "name": "side",
+ "namespace": null
+ },
+ {
+ "name": "spacing",
+ "namespace": null
+ },
+ {
+ "name": "startOffset",
+ "namespace": null
+ },
+ {
+ "name": "textLength",
"namespace": null
}
]
},
{
- "name": "marker",
+ "name": "title",
+ "namespace": "http://www.w3.org/2000/svg",
+ "attributes": []
+ },
+ {
+ "name": "tspan",
"namespace": "http://www.w3.org/2000/svg",
"attributes": [
{
- "name": "viewBox",
- "namespace": null
- },
- {
- "name": "preserveAspectRatio",
+ "name": "dx",
"namespace": null
},
{
- "name": "refX",
+ "name": "dy",
"namespace": null
},
{
- "name": "refY",
+ "name": "lengthAdjust",
"namespace": null
},
{
- "name": "markerUnits",
+ "name": "rotate",
"namespace": null
},
{
- "name": "markerWidth",
+ "name": "textLength",
"namespace": null
},
{
- "name": "markerHeight",
+ "name": "x",
"namespace": null
},
{
- "name": "orient",
+ "name": "y",
"namespace": null
}
]
@@ -1099,46 +1099,6 @@
],
"attributes": [
{
- "name": "dir",
- "namespace": null
- },
- {
- "name": "lang",
- "namespace": null
- },
- {
- "name": "title",
- "namespace": null
- },
- {
- "name": "displaystyle",
- "namespace": null
- },
- {
- "name": "mathbackground",
- "namespace": null
- },
- {
- "name": "mathcolor",
- "namespace": null
- },
- {
- "name": "mathsize",
- "namespace": null
- },
- {
- "name": "scriptlevel",
- "namespace": null
- },
- {
- "name": "fill",
- "namespace": null
- },
- {
- "name": "transform",
- "namespace": null
- },
- {
"name": "alignment-baseline",
"namespace": null
},
@@ -1167,6 +1127,10 @@
"namespace": null
},
{
+ "name": "dir",
+ "namespace": null
+ },
+ {
"name": "direction",
"namespace": null
},
@@ -1175,10 +1139,18 @@
"namespace": null
},
{
+ "name": "displaystyle",
+ "namespace": null
+ },
+ {
"name": "dominant-baseline",
"namespace": null
},
{
+ "name": "fill",
+ "namespace": null
+ },
+ {
"name": "fill-opacity",
"namespace": null
},
@@ -1215,6 +1187,10 @@
"namespace": null
},
{
+ "name": "lang",
+ "namespace": null
+ },
+ {
"name": "letter-spacing",
"namespace": null
},
@@ -1231,6 +1207,18 @@
"namespace": null
},
{
+ "name": "mathbackground",
+ "namespace": null
+ },
+ {
+ "name": "mathcolor",
+ "namespace": null
+ },
+ {
+ "name": "mathsize",
+ "namespace": null
+ },
+ {
"name": "opacity",
"namespace": null
},
@@ -1243,6 +1231,10 @@
"namespace": null
},
{
+ "name": "scriptlevel",
+ "namespace": null
+ },
+ {
"name": "shape-rendering",
"namespace": null
},
@@ -1303,6 +1295,14 @@
"namespace": null
},
{
+ "name": "title",
+ "namespace": null
+ },
+ {
+ "name": "transform",
+ "namespace": null
+ },
+ {
"name": "transform-origin",
"namespace": null
},
diff --git a/dom/security/sanitizer/update-safe-default-configuration.py b/dom/security/sanitizer/update-safe-default-configuration.py
@@ -5,7 +5,7 @@
import json
from urllib.request import urlretrieve
-REVISION = "54b7efe39472f031ee6e3eab3fd3d14175564581"
+REVISION = "fc36ba125ff6f175e1b5619c4ec20ab611cc5858"
urlretrieve(
f"https://raw.githubusercontent.com/WICG/sanitizer-api/{REVISION}/builtins/safe-default-configuration.json",