Class HTML5::InSelectPhase
In: lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb
Parent: Phase
Phase XmlElementPhase InTablePhase RootElementPhase AfterHeadPhase InHeadPhase AfterFramesetPhase XmlRootPhase InitialPhase InFramesetPhase InColumnGroupPhase InTableBodyPhase InCaptionPhase BeforeHeadPhase TrailingEndPhase InSelectPhase InCellPhase AfterBodyPhase InBodyPhase InRowPhase Exception SerializeError EOF AssertionError ParseError HTMLSanitizer HTMLTokenizer XhmlRootPhase String EncodingBytes XMLParser XHTMLParser HTMLParser HTMLSerializer XHTMLSerializer TreeWalkers::Base NonRecursiveTreeWalker TreeWalker TreeWalker Base TreeWalker Element DocumentFragment Node CommentNode DocumentType TextNode Document Base::Node Node Node Base::TreeBuilder TreeBuilder TreeBuilder TreeBuilder Element DocumentFragment CommentNode DocumentType TextNode Document Element DocumentFragment CommentNode DocumentType TextNode Document Base OptionalTagFilter InjectMetaCharset WhitespaceFilter HTMLSanitizeFilter HTMLSanitizeModule Enumerable TestData SimpleDelegator HTMLInputStream EncodingParser ContentAttrParser Node TreeBuilder lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb lib/feed_tools/vendor/html5/lib/html5/constants.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb lib/feed_tools/vendor/html5/lib/html5/inputstream.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb Hpricot TokenConstructor lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb REXML lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb SimpleTree TreeWalkers HTMLSanitizeModule lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb Hpricot lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb Base lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb REXML lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb SimpleTree TreeBuilders lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb lib/feed_tools/vendor/html5/lib/html5/filters/base.rb lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb Filters Sniffer lib/feed_tools/vendor/html5/tests/preamble.rb TestSupport HTML5 dot/m_75_0.png

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]