| Differences between
and this patch
- a/Source/WebCore/ChangeLog +26 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2012-12-10  Steve Faulkner  <faulkner.steve@gmail.com>
2
3
        Implement the HTML <main> element.
4
        https://bugs.webkit.org/show_bug.cgi?id=103172
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        <main> should behave the same as <nav>, <section>, and <article>, and <aside>.
9
        <main> should expose 'AXRole: AXLandmarkMain'.
10
11
        Tests: accessibility/main-element.html
12
               fast/html/main-element.html
13
14
        * accessibility/AccessibilityRenderObject.cpp:
15
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
16
        * css/html.css:
17
        (article, aside, footer, header, hgroup, main, nav, section):
18
        * editing/FormatBlockCommand.cpp:
19
        (WebCore::isElementForFormatBlock):
20
        * html/HTMLTagNames.in:
21
        * html/parser/HTMLStackItem.h:
22
        (WebCore::HTMLStackItem::isSpecialNode):
23
        * html/parser/HTMLTreeBuilder.cpp:
24
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
25
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
26
1
2013-01-14  Huang Dongsung  <luxtella@company100.net>
27
2013-01-14  Huang Dongsung  <luxtella@company100.net>
2
28
3
        [TexMap] Use a premuliplied color in TextureMapperGL.
29
        [TexMap] Use a premuliplied color in TextureMapperGL.
- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp +3 lines
Lines 2537-2542 AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole() a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp_sec1
2537
    if (node && node->hasTagName(articleTag))
2537
    if (node && node->hasTagName(articleTag))
2538
        return DocumentArticleRole;
2538
        return DocumentArticleRole;
2539
2539
2540
    if (node && node->hasTagName(mainTag))
2541
        return LandmarkMainRole;
2542
2540
    if (node && node->hasTagName(navTag))
2543
    if (node && node->hasTagName(navTag))
2541
        return LandmarkNavigationRole;
2544
        return LandmarkNavigationRole;
2542
2545
- a/Source/WebCore/css/html.css -1 / +1 lines
Lines 81-87 layer { a/Source/WebCore/css/html.css_sec1
81
    display: block
81
    display: block
82
}
82
}
83
83
84
article, aside, footer, header, hgroup, nav, section {
84
article, aside, footer, header, hgroup, main, nav, section {
85
    display: block
85
    display: block
86
}
86
}
87
87
- a/Source/WebCore/editing/FormatBlockCommand.cpp +1 lines
Lines 136-141 bool isElementForFormatBlock(const QualifiedName& tagName) a/Source/WebCore/editing/FormatBlockCommand.cpp_sec1
136
        blockTags.add(h6Tag);
136
        blockTags.add(h6Tag);
137
        blockTags.add(headerTag);
137
        blockTags.add(headerTag);
138
        blockTags.add(hgroupTag);
138
        blockTags.add(hgroupTag);
139
        blockTags.add(mainTag);
139
        blockTags.add(navTag);
140
        blockTags.add(navTag);
140
        blockTags.add(pTag);
141
        blockTags.add(pTag);
141
        blockTags.add(preTag);
142
        blockTags.add(preTag);
- a/Source/WebCore/html/HTMLTagNames.in +1 lines
Lines 81-86 legend a/Source/WebCore/html/HTMLTagNames.in_sec1
81
li interfaceName=HTMLLIElement
81
li interfaceName=HTMLLIElement
82
link constructorNeedsCreatedByParser
82
link constructorNeedsCreatedByParser
83
listing interfaceName=HTMLPreElement
83
listing interfaceName=HTMLPreElement
84
main interfaceName=HTMLElement
84
map
85
map
85
mark interfaceName=HTMLElement
86
mark interfaceName=HTMLElement
86
marquee
87
marquee
- a/Source/WebCore/html/parser/HTMLStackItem.h +1 lines
Lines 168-173 public: a/Source/WebCore/html/parser/HTMLStackItem.h_sec1
168
            || tagName == HTMLNames::liTag
168
            || tagName == HTMLNames::liTag
169
            || tagName == HTMLNames::linkTag
169
            || tagName == HTMLNames::linkTag
170
            || tagName == HTMLNames::listingTag
170
            || tagName == HTMLNames::listingTag
171
            || tagName == HTMLNames::mainTag
171
            || tagName == HTMLNames::marqueeTag
172
            || tagName == HTMLNames::marqueeTag
172
            || tagName == HTMLNames::menuTag
173
            || tagName == HTMLNames::menuTag
173
            || tagName == HTMLNames::metaTag
174
            || tagName == HTMLNames::metaTag
- a/Source/WebCore/html/parser/HTMLTreeBuilder.cpp +2 lines
Lines 691-696 void HTMLTreeBuilder::processStartTagForInBody(AtomicHTMLToken* token) a/Source/WebCore/html/parser/HTMLTreeBuilder.cpp_sec1
691
        || token->name() == footerTag
691
        || token->name() == footerTag
692
        || token->name() == headerTag
692
        || token->name() == headerTag
693
        || token->name() == hgroupTag
693
        || token->name() == hgroupTag
694
        || token->name() == mainTag
694
        || token->name() == menuTag
695
        || token->name() == menuTag
695
        || token->name() == navTag
696
        || token->name() == navTag
696
        || token->name() == olTag
697
        || token->name() == olTag
Lines 1816-1821 void HTMLTreeBuilder::processEndTagForInBody(AtomicHTMLToken* token) a/Source/WebCore/html/parser/HTMLTreeBuilder.cpp_sec2
1816
        || token->name() == headerTag
1817
        || token->name() == headerTag
1817
        || token->name() == hgroupTag
1818
        || token->name() == hgroupTag
1818
        || token->name() == listingTag
1819
        || token->name() == listingTag
1820
        || token->name() == mainTag
1819
        || token->name() == menuTag
1821
        || token->name() == menuTag
1820
        || token->name() == navTag
1822
        || token->name() == navTag
1821
        || token->name() == olTag
1823
        || token->name() == olTag
- a/LayoutTests/ChangeLog +28 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2012-12-10  Steve Faulkner  <faulkner.steve@gmail.com>
2
3
        Implement the HTML <main> element.
4
        https://bugs.webkit.org/show_bug.cgi?id=103172
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        <main> should behave the same as <nav>, <section>, <article>, and <aside>.
9
        <main> has no specific parsing rules.
10
        <main> should expose 'AXRole: AXLandmarkMain'.
11
12
        * accessibility/main-element-expected.txt: Added.
13
        * accessibility/main-element.html: Added.
14
        * editing/execCommand/remove-format-elements-expected.txt:
15
        * editing/execCommand/remove-format-elements.html:
16
        * editing/execCommand/script-tests/query-format-block.js:
17
        * fast/block/child-not-removed-from-parent-lineboxes-crash.html:
18
        * fast/dom/click-method-on-html-element-expected.txt:
19
        * fast/dom/click-method-on-html-element.html:
20
        * fast/dom/wrapper-classes-expected.txt:
21
        * fast/dom/wrapper-classes.html:
22
        * fast/forms/access-key-for-all-elements-expected.txt:
23
        * fast/forms/access-key-for-all-elements.html:
24
        * fast/html/main-element-expected.txt: Added.
25
        * fast/html/main-element.html: Added.
26
        * fast/html/script-tests/main-element.js: Added.
27
        (getWeight):
28
1
2013-01-14  Huang Dongsung  <luxtella@company100.net>
29
2013-01-14  Huang Dongsung  <luxtella@company100.net>
2
30
3
        [TexMap] Use a premuliplied color in TextureMapperGL.
31
        [TexMap] Use a premuliplied color in TextureMapperGL.
- a/LayoutTests/accessibility/main-element-expected.txt +11 lines
Line 0 a/LayoutTests/accessibility/main-element-expected.txt_sec1
1
MAIN element test
2
This tests that the MAIN element exposes 'AXRole: AXLandmarkMain'.
3
4
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
5
6
7
PASS main.role is 'AXRole: AXLandmarkMain'
8
PASS successfullyParsed is true
9
10
TEST COMPLETE
11
- a/LayoutTests/accessibility/main-element.html +26 lines
Line 0 a/LayoutTests/accessibility/main-element.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<script src="../fast/js/resources/js-test-pre.js"></script>
5
</head>
6
<body>
7
8
<main id=main>MAIN element test</main>
9
10
<p id="description"></p>
11
<div id="console"></div>
12
13
<script>
14
15
    description("This tests that the MAIN element exposes 'AXRole: AXLandmarkMain'.");
16
17
    if (window.accessibilityController) {
18
          var main = accessibilityController.accessibleElementById("main");
19
          shouldBe("main.role", "'AXRole: AXLandmarkMain'");
20
    }
21
22
</script>
23
24
<script src="../fast/js/resources/js-test-post.js"></script>
25
</body>
26
</html>
- a/LayoutTests/editing/execCommand/remove-format-elements-expected.txt -1 / +1 lines
Lines 1-6 a/LayoutTests/editing/execCommand/remove-format-elements-expected.txt_sec1
1
Removed
1
Removed
2
acronym, b, bdo, big, cite, code, dfn, em, font, i, ins, kbd, nobr, q, s, samp, small, strike, strong, sub, sup, tt, u, var
2
acronym, b, bdo, big, cite, code, dfn, em, font, i, ins, kbd, nobr, q, s, samp, small, strike, strong, sub, sup, tt, u, var
3
Preserved
3
Preserved
4
noscript, a, abbr, address, applet, area, article, aside, audio, base, basefont, bgsound, blockquote, body, br, button, canvas, caption, center, col, colgroup, command, datagrid, datalist, dcell, dcol, dd, del, details, dir, div, dl, drow, dt, embed, fieldset, figcaption, figure, footer, form, frame, frameset, h1, h2, h3, h4, h5, h6, head, header, hgroup, hr, html, iframe, image, img, input, isindex, keygen, label, layer, legend, li, link, listing, map, mark, marquee, menu, meta, meter, nav, noembed, noframes, nolayer, noscript, object, ol, optgroup, option, p, param, plaintext, pre, progress, rp, rt, ruby, script, section, select, source, span, style, summary, table, tbody, td, textarea, tfoot, th, thead, title, tr, track, ul, video, wbr, xmp
4
noscript, a, abbr, address, applet, area, article, aside, audio, base, basefont, bgsound, blockquote, body, br, button, canvas, caption, center, col, colgroup, command, datagrid, datalist, dcell, dcol, dd, del, details, dir, div, dl, drow, dt, embed, fieldset, figcaption, figure, footer, form, frame, frameset, h1, h2, h3, h4, h5, h6, head, header, hgroup, hr, html, iframe, image, img, input, isindex, keygen, label, layer, legend, li, link, listing, main, map, mark, marquee, menu, meta, meter, nav, noembed, noframes, nolayer, noscript, object, ol, optgroup, option, p, param, plaintext, pre, progress, rp, rt, ruby, script, section, select, source, span, style, summary, table, tbody, td, textarea, tfoot, th, thead, title, tr, track, ul, video, wbr, xmp
5
Exceptions
5
Exceptions
6
6
- a/LayoutTests/editing/execCommand/remove-format-elements.html -1 / +1 lines
Lines 22-28 var elements = [ "noscript", "a", "abbr", "acronym", "address", "applet", "area" a/LayoutTests/editing/execCommand/remove-format-elements.html_sec1
22
"em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset",
22
"em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset",
23
"h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html",
23
"h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html",
24
"i", "iframe", "image", "img", "input", "ins", "isindex", "kbd", "keygen", "label", "layer", "legend", ["ul", "li"], "link", "listing",
24
"i", "iframe", "image", "img", "input", "ins", "isindex", "kbd", "keygen", "label", "layer", "legend", ["ul", "li"], "link", "listing",
25
"map", "mark", "marquee", "menu", "meta", "meter", "nav", "nobr", "noembed", "noframes", "nolayer", "noscript",
25
"main", "map", "mark", "marquee", "menu", "meta", "meter", "nav", "nobr", "noembed", "noframes", "nolayer", "noscript",
26
"object", "ol", "optgroup", "option", "p", "param", "plaintext", "pre", "progress", "q", "rp", "rt", "ruby",
26
"object", "ol", "optgroup", "option", "p", "param", "plaintext", "pre", "progress", "q", "rp", "rt", "ruby",
27
"s", "samp", "script", "section", "select", "small", "source", "span", "strike", "strong", "style", "sub", "summary", "sup",
27
"s", "samp", "script", "section", "select", "small", "source", "span", "strike", "strong", "style", "sub", "summary", "sup",
28
"table", ["table", "tbody"], ["table", "td"], "textarea", ["table", "tfoot"], ["table", "th"], ["table", "thead"],
28
"table", ["table", "tbody"], ["table", "td"], "textarea", ["table", "tfoot"], ["table", "th"], ["table", "thead"],
- a/LayoutTests/editing/execCommand/script-tests/query-format-block.js +1 lines
Lines 101-106 queryFormatBlock(selectFirstPosition, '<h5>hello</h5>', 'h5'); a/LayoutTests/editing/execCommand/script-tests/query-format-block.js_sec1
101
queryFormatBlock(selectFirstPosition, '<h6>hello</h6>', 'h6');
101
queryFormatBlock(selectFirstPosition, '<h6>hello</h6>', 'h6');
102
queryFormatBlock(selectFirstPosition, '<header>hello</header>', 'header');
102
queryFormatBlock(selectFirstPosition, '<header>hello</header>', 'header');
103
queryFormatBlock(selectFirstPosition, '<hgroup>hello</hgroup>', 'hgroup');
103
queryFormatBlock(selectFirstPosition, '<hgroup>hello</hgroup>', 'hgroup');
104
queryFormatBlock(selectFirstPosition, '<main>hello</main>', 'main');
104
queryFormatBlock(selectFirstPosition, '<nav>hello</nav>', 'nav');
105
queryFormatBlock(selectFirstPosition, '<nav>hello</nav>', 'nav');
105
queryFormatBlock(selectFirstPosition, '<p>hello</p>', 'p');
106
queryFormatBlock(selectFirstPosition, '<p>hello</p>', 'p');
106
queryFormatBlock(selectFirstPosition, '<pre>hello</pre>', 'pre');
107
queryFormatBlock(selectFirstPosition, '<pre>hello</pre>', 'pre');
- a/LayoutTests/fast/block/child-not-removed-from-parent-lineboxes-crash.html -1 / +1 lines
Lines 5-11 a/LayoutTests/fast/block/child-not-removed-from-parent-lineboxes-crash.html_sec1
5
if (window.testRunner)
5
if (window.testRunner)
6
    testRunner.dumpAsText();
6
    testRunner.dumpAsText();
7
7
8
var tags = ['a', 'abbr', 'acronym', 'address', 'applet', 'area', 'article', 'aside', 'audio', 'b', 'base', 'basefont', 'bdo', 'bgsound', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'command', 'datagrid', 'datalist', 'dcell', 'dcol', 'drow', 'dd', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'child', 'image', 'img', 'input', 'ins', 'isindex', 'kbd', 'keygen', 'label', 'layer', 'legend', 'li', 'link', 'listing', 'map', 'mark', 'marquee', 'menu', 'meta', 'meter', 'nav', 'nobr', 'noembed', 'noframes', 'nolayer', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'plaintext', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr', 'xmp', 'noscript', 'noscript', 'math', 'mfrac', 'mfenced', 'msubsup', 'mrow', 'mover', 'munder', 'munderover', 'msqrt', 'mroot', 'mi', 'mn', 'mo', 'mtext', 'msub', 'msup', 'ms', 'mglyph', 'malignmark', 'annotation-xml', 'a', 'access', 'anchor', 'br', 'card', 'do', 'fieldset', 'go', 'head', 'img', 'input', 'insertedLegend', 'meta', 'noop', 'onevent', 'optgroup', 'option', 'p', 'postfield', 'prev', 'refresh', 'select', 'setvar', 'table', 'td', 'template', 'timer', 'tr', 'a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'set', 'circle', 'clipPath', 'color_profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font_face', 'font_face_format', 'font_face_name', 'font_face_src', 'font_face_uri', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'linearGradient', 'marker', 'mask', 'metadata', 'missing_glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern']
8
var tags = ['a', 'abbr', 'acronym', 'address', 'applet', 'area', 'article', 'aside', 'audio', 'b', 'base', 'basefont', 'bdo', 'bgsound', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'command', 'datagrid', 'datalist', 'dcell', 'dcol', 'drow', 'dd', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'child', 'image', 'img', 'input', 'ins', 'isindex', 'kbd', 'keygen', 'label', 'layer', 'legend', 'li', 'link', 'listing', 'main', 'map', 'mark', 'marquee', 'menu', 'meta', 'meter', 'nav', 'nobr', 'noembed', 'noframes', 'nolayer', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'plaintext', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr', 'xmp', 'noscript', 'noscript', 'math', 'mfrac', 'mfenced', 'msubsup', 'mrow', 'mover', 'munder', 'munderover', 'msqrt', 'mroot', 'mi', 'mn', 'mo', 'mtext', 'msub', 'msup', 'ms', 'mglyph', 'malignmark', 'annotation-xml', 'a', 'access', 'anchor', 'br', 'card', 'do', 'fieldset', 'go', 'head', 'img', 'input', 'insertedLegend', 'meta', 'noop', 'onevent', 'optgroup', 'option', 'p', 'postfield', 'prev', 'refresh', 'select', 'setvar', 'table', 'td', 'template', 'timer', 'tr', 'a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'set', 'circle', 'clipPath', 'color_profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font_face', 'font_face_format', 'font_face_name', 'font_face_src', 'font_face_uri', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'linearGradient', 'marker', 'mask', 'metadata', 'missing_glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern']
9
9
10
for (i = 0; i < tags.length; i++)
10
for (i = 0; i < tags.length; i++)
11
{
11
{
- a/LayoutTests/fast/dom/click-method-on-html-element-expected.txt +1 lines
Lines 71-76 Pass: Click event handler called for: legend a/LayoutTests/fast/dom/click-method-on-html-element-expected.txt_sec1
71
Pass: Click event handler called for: li
71
Pass: Click event handler called for: li
72
Pass: Click event handler called for: link
72
Pass: Click event handler called for: link
73
Pass: Click event handler called for: listing
73
Pass: Click event handler called for: listing
74
Pass: Click event handler called for: main
74
Pass: Click event handler called for: map
75
Pass: Click event handler called for: map
75
Pass: Click event handler called for: mark
76
Pass: Click event handler called for: mark
76
Pass: Click event handler called for: marquee
77
Pass: Click event handler called for: marquee
- a/LayoutTests/fast/dom/click-method-on-html-element.html -1 / +1 lines
Lines 26-32 function runTests(tagName) { a/LayoutTests/fast/dom/click-method-on-html-element.html_sec1
26
var tagNames = ["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdo","bgsound","big","blockquote",
26
var tagNames = ["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdo","bgsound","big","blockquote",
27
    "body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","dir","div","dl","dt",
27
    "body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","dir","div","dl","dt",
28
    "em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html",
28
    "em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html",
29
    "i","iframe","img","input","ins","isindex","kbd","keygen","label","layer","legend","li","link","listing","map","mark","marquee","menu","meta","meter","nav",
29
    "i","iframe","img","input","ins","isindex","kbd","keygen","label","layer","legend","li","link","listing","main","map","mark","marquee","menu","meta","meter","nav",
30
    "nobr","noembed","noframes","nolayer","noscript","object","ol","optgroup","option","output","p","param","plaintext","pre","progress","q","rp","rt","ruby","s",
30
    "nobr","noembed","noframes","nolayer","noscript","object","ol","optgroup","option","output","p","param","plaintext","pre","progress","q","rp","rt","ruby","s",
31
    "samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead",
31
    "samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead",
32
    "title","tr","track","tt","u","ul","var","video","wbr","xmp"];
32
    "title","tr","track","tt","u","ul","var","video","wbr","xmp"];
- a/LayoutTests/fast/dom/wrapper-classes-expected.txt +3 lines
Lines 341-346 PASS tagJSWrapperConstructorClass('link') is 'HTMLLinkElementConstructor' a/LayoutTests/fast/dom/wrapper-classes-expected.txt_sec1
341
PASS tagJSWrapperClass('listing') is 'HTMLPreElement'
341
PASS tagJSWrapperClass('listing') is 'HTMLPreElement'
342
PASS tagJSWrapperPrototypeClass('listing') is 'HTMLPreElementPrototype'
342
PASS tagJSWrapperPrototypeClass('listing') is 'HTMLPreElementPrototype'
343
PASS tagJSWrapperConstructorClass('listing') is 'HTMLPreElementConstructor'
343
PASS tagJSWrapperConstructorClass('listing') is 'HTMLPreElementConstructor'
344
PASS tagJSWrapperClass('main') is 'HTMLElement'
345
PASS tagJSWrapperPrototypeClass('main') is 'HTMLElementPrototype'
346
PASS tagJSWrapperConstructorClass('main') is 'HTMLElementConstructor'
344
PASS tagJSWrapperClass('map') is 'HTMLMapElement'
347
PASS tagJSWrapperClass('map') is 'HTMLMapElement'
345
PASS tagJSWrapperPrototypeClass('map') is 'HTMLMapElementPrototype'
348
PASS tagJSWrapperPrototypeClass('map') is 'HTMLMapElementPrototype'
346
PASS tagJSWrapperConstructorClass('map') is 'HTMLMapElementConstructor'
349
PASS tagJSWrapperConstructorClass('map') is 'HTMLMapElementConstructor'
- a/LayoutTests/fast/dom/wrapper-classes.html +1 lines
Lines 212-217 function runTest() a/LayoutTests/fast/dom/wrapper-classes.html_sec1
212
    testTag("li", "HTMLLIElement");
212
    testTag("li", "HTMLLIElement");
213
    testTag("link", "HTMLLinkElement");
213
    testTag("link", "HTMLLinkElement");
214
    testTag("listing", "HTMLPreElement");
214
    testTag("listing", "HTMLPreElement");
215
    testTag("main", "HTMLElement");
215
    testTag("map", "HTMLMapElement");
216
    testTag("map", "HTMLMapElement");
216
    testTag("marquee", "HTMLMarqueeElement");
217
    testTag("marquee", "HTMLMarqueeElement");
217
    testTag("menu", "HTMLMenuElement");
218
    testTag("menu", "HTMLMenuElement");
- a/LayoutTests/fast/forms/access-key-for-all-elements-expected.txt +5 lines
Lines 338-343 PASS testElement.accessKey is defined. a/LayoutTests/fast/forms/access-key-for-all-elements-expected.txt_sec1
338
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
338
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
339
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]
339
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]
340
340
341
Check for MAIN tag
342
PASS testElement.accessKey is defined.
343
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
344
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]
345
341
Check for MAP tag
346
Check for MAP tag
342
PASS testElement.accessKey is defined.
347
PASS testElement.accessKey is defined.
343
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
348
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
- a/LayoutTests/fast/forms/access-key-for-all-elements.html -1 / +1 lines
Lines 19-25 function pressKey(key) a/LayoutTests/fast/forms/access-key-for-all-elements.html_sec1
19
var tagNames = ["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdo","bgsound","big","blockquote",
19
var tagNames = ["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdo","bgsound","big","blockquote",
20
    "body","br","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","dir","div","dl","dt",
20
    "body","br","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","dir","div","dl","dt",
21
    "em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html",
21
    "em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html",
22
    "i","iframe","img","ins","kbd","keygen","label","layer","li","link","listing","map","mark","marquee","menu","meta","meter","nav",
22
    "i","iframe","img","ins","kbd","keygen","label","layer","li","link","listing","main","map","mark","marquee","menu","meta","meter","nav",
23
    "nobr","noembed","noframes","nolayer","noscript","object","ol","output","p","param","plaintext","pre","progress","q","rp","rt","ruby","s",
23
    "nobr","noembed","noframes","nolayer","noscript","object","ol","output","p","param","plaintext","pre","progress","q","rp","rt","ruby","s",
24
    "samp","script","section","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","tfoot","th","thead",
24
    "samp","script","section","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","tfoot","th","thead",
25
    "title","tr","track","tt","u","ul","var","video","wbr","xmp"];
25
    "title","tr","track","tt","u","ul","var","video","wbr","xmp"];
- a/LayoutTests/fast/html/main-element-expected.txt +20 lines
Line 0 a/LayoutTests/fast/html/main-element-expected.txt_sec1
1
Various tests for the main element.
2
3
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6
<main> closes <p>:
7
PASS main1.parentNode.nodeName == "p" is false
8
<p> does not close <main>:
9
PASS p1.parentNode.nodeName is "MAIN"
10
<main> can be nested inside <main>:
11
PASS main3.parentNode.id is "main2"
12
Residual style:
13
PASS getWeight("main4") is "bold"
14
PASS getWeight("span1") is "bold"
15
FormatBlock:
16
PASS document.getElementById("span2").parentNode.nodeName is "MAIN"
17
PASS successfullyParsed is true
18
19
TEST COMPLETE
20
- a/LayoutTests/fast/html/main-element.html +10 lines
Line 0 a/LayoutTests/fast/html/main-element.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2
<html>
3
<head>
4
<script src="../../fast/js/resources/js-test-pre.js"></script>
5
</head>
6
<body>
7
<script src="script-tests/main-element.js"></script>
8
<script src="../../fast/js/resources/js-test-post.js"></script>
9
</body>
10
</html>
- a/LayoutTests/fast/html/script-tests/main-element.js +41 lines
Line 0 a/LayoutTests/fast/html/script-tests/main-element.js_sec1
1
description('Various tests for the main element.');
2
3
var testParent = document.createElement('div');
4
document.body.appendChild(testParent);
5
6
debug('&lt;main> closes &lt;p>:');
7
testParent.innerHTML = '<p>Test that <main id="main1">an main element</main> closes &lt;p>.</p>';
8
var main1 = document.getElementById('main1');
9
shouldBeFalse('main1.parentNode.nodeName == "p"');
10
11
debug('&lt;p> does not close &lt;main>:');
12
testParent.innerHTML = '<main>Test that <p id="p1">a p element</p> does not close an main element.</main>';
13
var p1 = document.getElementById('p1');
14
shouldBe('p1.parentNode.nodeName', '"MAIN"');
15
16
debug('&lt;main> can be nested inside &lt;main>:');
17
testParent.innerHTML = '<main id="main2">Test that <main id="main3">an main element</main> can be nested inside another.</main>';
18
var main3 = document.getElementById('main3');
19
shouldBe('main3.parentNode.id', '"main2"');
20
21
debug('Residual style:');
22
testParent.innerHTML = '<b><main id="main4">This text should be bold.</main> <span id="span1">This is also bold.</span></b>';
23
function getWeight(id) {
24
    return document.defaultView.getComputedStyle(document.getElementById(id), null).getPropertyValue('font-weight');
25
}
26
shouldBe('getWeight("main4")', '"bold"');
27
shouldBe('getWeight("span1")', '"bold"');
28
document.body.removeChild(testParent);
29
30
debug('FormatBlock:');
31
var editable = document.createElement('div');
32
editable.innerHTML = '[<span id="span2">The text will be a child of &lt;main>.</span>]';
33
document.body.appendChild(editable);
34
editable.contentEditable = true;
35
var selection = window.getSelection();
36
selection.selectAllChildren(editable);
37
document.execCommand('FormatBlock', false, 'main');
38
selection.collapse();
39
shouldBe('document.getElementById("span2").parentNode.nodeName', '"MAIN"');
40
document.body.removeChild(editable);
41

Return to Bug 103172