| Class | HTML5::InSelectPhase |
| In: |
lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb
|
| Parent: | Phase |
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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