Class HTML5::InSelectPhase
In: lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb
Parent: Phase

Methods

Public Instance methods

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 45
45:     def endTagOptgroup(name)
46:       # </optgroup> implicitly closes <option>
47:       if @tree.open_elements.last.name == 'option' and @tree.open_elements[-2].name == 'optgroup'
48:         @tree.open_elements.pop
49:       end
50:       # It also closes </optgroup>
51:       if @tree.open_elements.last.name == 'optgroup'
52:         @tree.open_elements.pop
53:       # But nothing else
54:       else
55:         parse_error("unexpected-end-tag-in-select",
56:                 {"name" => "optgroup"})
57:       end
58:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 37
37:     def endTagOption(name)
38:       if @tree.open_elements.last.name == 'option'
39:         @tree.open_elements.pop
40:       else
41:         parse_error("unexpected-end-tag-in-select", {"name" => "option"})
42:       end
43:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 80
80:     def endTagOther(name)
81:       parse_error("unexpected-end-tag-in-select", {"name" => name})
82:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 60
60:     def endTagSelect(name)
61:       if in_scope?('select', true)
62:         remove_open_elements_until('select')
63: 
64:         @parser.reset_insertion_mode
65:       else
66:         # inner_html case
67:         parse_error
68:       end
69:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 71
71:     def endTagTableElements(name)
72:       parse_error("unexpected-end-tag-in-select", {"name" => name})
73: 
74:       if in_scope?(name, true)
75:         endTagSelect('select')
76:         @parser.phase.processEndTag(name)
77:       end
78:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 12
12:     def processCharacters(data)
13:       @tree.insertText(data)
14:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 22
22:     def startTagOptgroup(name, attributes)
23:       @tree.open_elements.pop if @tree.open_elements.last.name == 'option'
24:       @tree.open_elements.pop if @tree.open_elements.last.name == 'optgroup'
25:       @tree.insert_element(name, attributes)
26:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 16
16:     def startTagOption(name, attributes)
17:       # We need to imply </option> if <option> is the current node.
18:       @tree.open_elements.pop if @tree.open_elements.last.name == 'option'
19:       @tree.insert_element(name, attributes)
20:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 33
33:     def startTagOther(name, attributes)
34:       parse_error("unexpected-start-tag-in-select", {"name" => name})
35:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb, line 28
28:     def startTagSelect(name, attributes)
29:       parse_error("unexpected-select-in-select")
30:       endTagSelect('select')
31:     end

[Validate]