tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

SanitizerDefaultConfig.h (9986B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 #ifndef mozilla_dom_SanitizerDefaultConfig_h
      6 #define mozilla_dom_SanitizerDefaultConfig_h
      7 
      8 // This file is automatically generated by update-safe-default-configuration.py
      9 
     10 #include "mozilla/dom/SanitizerTypes.h"
     11 #include "nsGkAtoms.h"
     12 
     13 namespace mozilla::dom::sanitizer {
     14 
     15 constexpr nsStaticAtom* kDefaultHTMLElements[] = {
     16    // clang-format off
     17    nsGkAtoms::a,
     18    nsGkAtoms::abbr,
     19    nsGkAtoms::address,
     20    nsGkAtoms::article,
     21    nsGkAtoms::aside,
     22    nsGkAtoms::b,
     23    nsGkAtoms::bdi,
     24    nsGkAtoms::bdo,
     25    nsGkAtoms::blockquote,
     26    nsGkAtoms::body,
     27    nsGkAtoms::br,
     28    nsGkAtoms::caption,
     29    nsGkAtoms::cite,
     30    nsGkAtoms::code,
     31    nsGkAtoms::col,
     32    nsGkAtoms::colgroup,
     33    nsGkAtoms::data,
     34    nsGkAtoms::dd,
     35    nsGkAtoms::del,
     36    nsGkAtoms::dfn,
     37    nsGkAtoms::div,
     38    nsGkAtoms::dl,
     39    nsGkAtoms::dt,
     40    nsGkAtoms::em,
     41    nsGkAtoms::figcaption,
     42    nsGkAtoms::figure,
     43    nsGkAtoms::footer,
     44    nsGkAtoms::h1,
     45    nsGkAtoms::h2,
     46    nsGkAtoms::h3,
     47    nsGkAtoms::h4,
     48    nsGkAtoms::h5,
     49    nsGkAtoms::h6,
     50    nsGkAtoms::head,
     51    nsGkAtoms::header,
     52    nsGkAtoms::hgroup,
     53    nsGkAtoms::hr,
     54    nsGkAtoms::html,
     55    nsGkAtoms::i,
     56    nsGkAtoms::ins,
     57    nsGkAtoms::kbd,
     58    nsGkAtoms::li,
     59    nsGkAtoms::main,
     60    nsGkAtoms::mark,
     61    nsGkAtoms::menu,
     62    nsGkAtoms::nav,
     63    nsGkAtoms::ol,
     64    nsGkAtoms::p,
     65    nsGkAtoms::pre,
     66    nsGkAtoms::q,
     67    nsGkAtoms::rp,
     68    nsGkAtoms::rt,
     69    nsGkAtoms::ruby,
     70    nsGkAtoms::s,
     71    nsGkAtoms::samp,
     72    nsGkAtoms::search,
     73    nsGkAtoms::section,
     74    nsGkAtoms::small,
     75    nsGkAtoms::span,
     76    nsGkAtoms::strong,
     77    nsGkAtoms::sub,
     78    nsGkAtoms::sup,
     79    nsGkAtoms::table,
     80    nsGkAtoms::tbody,
     81    nsGkAtoms::td,
     82    nsGkAtoms::tfoot,
     83    nsGkAtoms::th,
     84    nsGkAtoms::thead,
     85    nsGkAtoms::time,
     86    nsGkAtoms::title,
     87    nsGkAtoms::tr,
     88    nsGkAtoms::u,
     89    nsGkAtoms::ul,
     90    nsGkAtoms::var,
     91    nsGkAtoms::wbr,
     92    // clang-format on
     93 };
     94 
     95 constexpr nsStaticAtom* kDefaultMathMLElements[] = {
     96    // clang-format off
     97    nsGkAtoms::math,
     98    nsGkAtoms::merror,
     99    nsGkAtoms::mfrac,
    100    nsGkAtoms::mi,
    101    nsGkAtoms::mmultiscripts,
    102    nsGkAtoms::mn,
    103    nsGkAtoms::mo,
    104    nsGkAtoms::mover,
    105    nsGkAtoms::mpadded,
    106    nsGkAtoms::mphantom,
    107    nsGkAtoms::mprescripts,
    108    nsGkAtoms::mroot,
    109    nsGkAtoms::mrow,
    110    nsGkAtoms::ms,
    111    nsGkAtoms::mspace,
    112    nsGkAtoms::msqrt,
    113    nsGkAtoms::mstyle,
    114    nsGkAtoms::msub,
    115    nsGkAtoms::msubsup,
    116    nsGkAtoms::msup,
    117    nsGkAtoms::mtable,
    118    nsGkAtoms::mtd,
    119    nsGkAtoms::mtext,
    120    nsGkAtoms::mtr,
    121    nsGkAtoms::munder,
    122    nsGkAtoms::munderover,
    123    nsGkAtoms::semantics,
    124    // clang-format on
    125 };
    126 
    127 constexpr nsStaticAtom* kDefaultSVGElements[] = {
    128    // clang-format off
    129    nsGkAtoms::a,
    130    nsGkAtoms::circle,
    131    nsGkAtoms::defs,
    132    nsGkAtoms::desc,
    133    nsGkAtoms::ellipse,
    134    nsGkAtoms::foreignObject,
    135    nsGkAtoms::g,
    136    nsGkAtoms::line,
    137    nsGkAtoms::marker,
    138    nsGkAtoms::metadata,
    139    nsGkAtoms::path,
    140    nsGkAtoms::polygon,
    141    nsGkAtoms::polyline,
    142    nsGkAtoms::rect,
    143    nsGkAtoms::svg,
    144    nsGkAtoms::text,
    145    nsGkAtoms::textPath,
    146    nsGkAtoms::title,
    147    nsGkAtoms::tspan,
    148    // clang-format on
    149 };
    150 
    151 constexpr nsStaticAtom* kDefaultAttributes[] = {
    152    // clang-format off
    153    nsGkAtoms::alignment_baseline,
    154    nsGkAtoms::baseline_shift,
    155    nsGkAtoms::clip_path,
    156    nsGkAtoms::clip_rule,
    157    nsGkAtoms::color,
    158    nsGkAtoms::color_interpolation,
    159    nsGkAtoms::cursor,
    160    nsGkAtoms::dir,
    161    nsGkAtoms::direction,
    162    nsGkAtoms::display,
    163    nsGkAtoms::displaystyle,
    164    nsGkAtoms::dominant_baseline,
    165    nsGkAtoms::fill,
    166    nsGkAtoms::fill_opacity,
    167    nsGkAtoms::fill_rule,
    168    nsGkAtoms::font_family,
    169    nsGkAtoms::font_size,
    170    nsGkAtoms::font_size_adjust,
    171    nsGkAtoms::font_stretch,
    172    nsGkAtoms::font_style,
    173    nsGkAtoms::font_variant,
    174    nsGkAtoms::font_weight,
    175    nsGkAtoms::lang,
    176    nsGkAtoms::letter_spacing,
    177    nsGkAtoms::marker_end,
    178    nsGkAtoms::marker_mid,
    179    nsGkAtoms::marker_start,
    180    nsGkAtoms::mathbackground,
    181    nsGkAtoms::mathcolor,
    182    nsGkAtoms::mathsize,
    183    nsGkAtoms::opacity,
    184    nsGkAtoms::paint_order,
    185    nsGkAtoms::pointer_events,
    186    nsGkAtoms::scriptlevel,
    187    nsGkAtoms::shape_rendering,
    188    nsGkAtoms::stop_color,
    189    nsGkAtoms::stop_opacity,
    190    nsGkAtoms::stroke,
    191    nsGkAtoms::stroke_dasharray,
    192    nsGkAtoms::stroke_dashoffset,
    193    nsGkAtoms::stroke_linecap,
    194    nsGkAtoms::stroke_linejoin,
    195    nsGkAtoms::stroke_miterlimit,
    196    nsGkAtoms::stroke_opacity,
    197    nsGkAtoms::stroke_width,
    198    nsGkAtoms::text_anchor,
    199    nsGkAtoms::text_decoration,
    200    nsGkAtoms::text_overflow,
    201    nsGkAtoms::text_rendering,
    202    nsGkAtoms::title,
    203    nsGkAtoms::transform,
    204    nsGkAtoms::transform_origin,
    205    nsGkAtoms::unicode_bidi,
    206    nsGkAtoms::vector_effect,
    207    nsGkAtoms::visibility,
    208    nsGkAtoms::white_space,
    209    nsGkAtoms::word_spacing,
    210    nsGkAtoms::writing_mode,
    211    // clang-format on
    212 };
    213 
    214 // Data is encoded as: element, attributes..., nullptr
    215 constexpr nsStaticAtom* kHTMLElementWithAttributes[] = {
    216    // clang-format off
    217    /* element */ nsGkAtoms::a,
    218    nsGkAtoms::href,
    219    nsGkAtoms::hreflang,
    220    nsGkAtoms::type,
    221    nullptr,
    222    /* element */ nsGkAtoms::blockquote,
    223    nsGkAtoms::cite,
    224    nullptr,
    225    /* element */ nsGkAtoms::col,
    226    nsGkAtoms::span,
    227    nullptr,
    228    /* element */ nsGkAtoms::colgroup,
    229    nsGkAtoms::span,
    230    nullptr,
    231    /* element */ nsGkAtoms::data,
    232    nsGkAtoms::value,
    233    nullptr,
    234    /* element */ nsGkAtoms::del,
    235    nsGkAtoms::cite,
    236    nsGkAtoms::datetime,
    237    nullptr,
    238    /* element */ nsGkAtoms::ins,
    239    nsGkAtoms::cite,
    240    nsGkAtoms::datetime,
    241    nullptr,
    242    /* element */ nsGkAtoms::li,
    243    nsGkAtoms::value,
    244    nullptr,
    245    /* element */ nsGkAtoms::ol,
    246    nsGkAtoms::reversed,
    247    nsGkAtoms::start,
    248    nsGkAtoms::type,
    249    nullptr,
    250    /* element */ nsGkAtoms::td,
    251    nsGkAtoms::colspan,
    252    nsGkAtoms::headers,
    253    nsGkAtoms::rowspan,
    254    nullptr,
    255    /* element */ nsGkAtoms::th,
    256    nsGkAtoms::abbr,
    257    nsGkAtoms::colspan,
    258    nsGkAtoms::headers,
    259    nsGkAtoms::rowspan,
    260    nsGkAtoms::scope,
    261    nullptr,
    262    /* element */ nsGkAtoms::time,
    263    nsGkAtoms::datetime,
    264    nullptr,
    265    /* sentinel */ nullptr,
    266    // clang-format on
    267 };
    268 
    269 constexpr nsStaticAtom* kMathMLElementWithAttributes[] = {
    270    // clang-format off
    271    /* element */ nsGkAtoms::mo,
    272    nsGkAtoms::fence,
    273    nsGkAtoms::form,
    274    nsGkAtoms::largeop,
    275    nsGkAtoms::lspace,
    276    nsGkAtoms::maxsize,
    277    nsGkAtoms::minsize,
    278    nsGkAtoms::movablelimits,
    279    nsGkAtoms::rspace,
    280    nsGkAtoms::separator,
    281    nsGkAtoms::stretchy,
    282    nsGkAtoms::symmetric,
    283    nullptr,
    284    /* element */ nsGkAtoms::mover,
    285    nsGkAtoms::accent,
    286    nullptr,
    287    /* element */ nsGkAtoms::mpadded,
    288    nsGkAtoms::depth,
    289    nsGkAtoms::height,
    290    nsGkAtoms::lspace,
    291    nsGkAtoms::voffset,
    292    nsGkAtoms::width,
    293    nullptr,
    294    /* element */ nsGkAtoms::mspace,
    295    nsGkAtoms::depth,
    296    nsGkAtoms::height,
    297    nsGkAtoms::width,
    298    nullptr,
    299    /* element */ nsGkAtoms::mtd,
    300    nsGkAtoms::columnspan,
    301    nsGkAtoms::rowspan,
    302    nullptr,
    303    /* element */ nsGkAtoms::munder,
    304    nsGkAtoms::accentunder,
    305    nullptr,
    306    /* element */ nsGkAtoms::munderover,
    307    nsGkAtoms::accent,
    308    nsGkAtoms::accentunder,
    309    nullptr,
    310    /* sentinel */ nullptr,
    311    // clang-format on
    312 };
    313 
    314 constexpr nsStaticAtom* kSVGElementWithAttributes[] = {
    315    // clang-format off
    316    /* element */ nsGkAtoms::a,
    317    nsGkAtoms::href,
    318    nsGkAtoms::hreflang,
    319    nsGkAtoms::type,
    320    nullptr,
    321    /* element */ nsGkAtoms::circle,
    322    nsGkAtoms::cx,
    323    nsGkAtoms::cy,
    324    nsGkAtoms::pathLength,
    325    nsGkAtoms::r,
    326    nullptr,
    327    /* element */ nsGkAtoms::ellipse,
    328    nsGkAtoms::cx,
    329    nsGkAtoms::cy,
    330    nsGkAtoms::pathLength,
    331    nsGkAtoms::rx,
    332    nsGkAtoms::ry,
    333    nullptr,
    334    /* element */ nsGkAtoms::foreignObject,
    335    nsGkAtoms::height,
    336    nsGkAtoms::width,
    337    nsGkAtoms::x,
    338    nsGkAtoms::y,
    339    nullptr,
    340    /* element */ nsGkAtoms::line,
    341    nsGkAtoms::pathLength,
    342    nsGkAtoms::x1,
    343    nsGkAtoms::x2,
    344    nsGkAtoms::y1,
    345    nsGkAtoms::y2,
    346    nullptr,
    347    /* element */ nsGkAtoms::marker,
    348    nsGkAtoms::markerHeight,
    349    nsGkAtoms::markerUnits,
    350    nsGkAtoms::markerWidth,
    351    nsGkAtoms::orient,
    352    nsGkAtoms::preserveAspectRatio,
    353    nsGkAtoms::refX,
    354    nsGkAtoms::refY,
    355    nsGkAtoms::viewBox,
    356    nullptr,
    357    /* element */ nsGkAtoms::path,
    358    nsGkAtoms::d,
    359    nsGkAtoms::pathLength,
    360    nullptr,
    361    /* element */ nsGkAtoms::polygon,
    362    nsGkAtoms::pathLength,
    363    nsGkAtoms::points,
    364    nullptr,
    365    /* element */ nsGkAtoms::polyline,
    366    nsGkAtoms::pathLength,
    367    nsGkAtoms::points,
    368    nullptr,
    369    /* element */ nsGkAtoms::rect,
    370    nsGkAtoms::height,
    371    nsGkAtoms::pathLength,
    372    nsGkAtoms::rx,
    373    nsGkAtoms::ry,
    374    nsGkAtoms::width,
    375    nsGkAtoms::x,
    376    nsGkAtoms::y,
    377    nullptr,
    378    /* element */ nsGkAtoms::svg,
    379    nsGkAtoms::height,
    380    nsGkAtoms::preserveAspectRatio,
    381    nsGkAtoms::viewBox,
    382    nsGkAtoms::width,
    383    nsGkAtoms::x,
    384    nsGkAtoms::y,
    385    nullptr,
    386    /* element */ nsGkAtoms::text,
    387    nsGkAtoms::dx,
    388    nsGkAtoms::dy,
    389    nsGkAtoms::lengthAdjust,
    390    nsGkAtoms::rotate,
    391    nsGkAtoms::textLength,
    392    nsGkAtoms::x,
    393    nsGkAtoms::y,
    394    nullptr,
    395    /* element */ nsGkAtoms::textPath,
    396    nsGkAtoms::lengthAdjust,
    397    nsGkAtoms::method,
    398    nsGkAtoms::path,
    399    nsGkAtoms::side,
    400    nsGkAtoms::spacing,
    401    nsGkAtoms::startOffset,
    402    nsGkAtoms::textLength,
    403    nullptr,
    404    /* element */ nsGkAtoms::tspan,
    405    nsGkAtoms::dx,
    406    nsGkAtoms::dy,
    407    nsGkAtoms::lengthAdjust,
    408    nsGkAtoms::rotate,
    409    nsGkAtoms::textLength,
    410    nsGkAtoms::x,
    411    nsGkAtoms::y,
    412    nullptr,
    413    /* sentinel */ nullptr,
    414    // clang-format on
    415 };
    416 
    417 }  // namespace mozilla::dom::sanitizer
    418 
    419 #endif  // mozilla_dom_SanitizerDefaultConfig_h