lib/loofah/elements.rb in loofah-2.1.1 vs lib/loofah/elements.rb in loofah-2.2.0
- old
+ new
@@ -1,15 +1,90 @@
require 'set'
module Loofah
module Elements
- # Block elements in HTML4
- STRICT_BLOCK_LEVEL = Set.new %w[address blockquote center dir div dl
- fieldset form h1 h2 h3 h4 h5 h6 hr isindex menu noframes
- noscript ol p pre table ul]
+ STRICT_BLOCK_LEVEL_HTML4 = Set.new %w[
+ address
+ blockquote
+ center
+ dir
+ div
+ dl
+ fieldset
+ form
+ h1
+ h2
+ h3
+ h4
+ h5
+ h6
+ hr
+ isindex
+ menu
+ noframes
+ noscript
+ ol
+ p
+ pre
+ table
+ ul
+ ]
- # The following elements may also be considered block-level elements since they may contain block-level elements
- LOOSE_BLOCK_LEVEL = Set.new %w[dd dt frameset li tbody td tfoot th thead tr]
+ # https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements
+ STRICT_BLOCK_LEVEL_HTML5 = Set.new %w[
+ address
+ article
+ aside
+ blockquote
+ canvas
+ dd
+ div
+ dl
+ dt
+ fieldset
+ figcaption
+ figure
+ footer
+ form
+ h1
+ h2
+ h3
+ h4
+ h5
+ h6
+ header
+ hgroup
+ hr
+ li
+ main
+ nav
+ noscript
+ ol
+ output
+ p
+ pre
+ section
+ table
+ tfoot
+ ul
+ video
+ ]
+
+ STRICT_BLOCK_LEVEL = STRICT_BLOCK_LEVEL_HTML4 + STRICT_BLOCK_LEVEL_HTML5
+
+ # The following elements may also be considered block-level
+ # elements since they may contain block-level elements
+ LOOSE_BLOCK_LEVEL = Set.new %w[dd
+ dt
+ frameset
+ li
+ tbody
+ td
+ tfoot
+ th
+ thead
+ tr
+ ]
BLOCK_LEVEL = STRICT_BLOCK_LEVEL + LOOSE_BLOCK_LEVEL
end
::Loofah::MetaHelpers.add_downcased_set_members_to_all_set_constants ::Loofah::Elements