Skip to content
This repository was archived by the owner on Mar 13, 2018. It is now read-only.

Commit 343e74a

Browse files
committed
Change override constucturs to filter out wrappers
1 parent d492fa4 commit 343e74a

File tree

2 files changed

+97
-22
lines changed

2 files changed

+97
-22
lines changed

src/wrappers/override-constructors.js

+23-21
Original file line numberDiff line numberDiff line change
@@ -11,48 +11,53 @@
1111
// for.
1212
var elements = {
1313
'a': 'HTMLAnchorElement',
14-
1514
// Do not create an applet element by default since it shows a warning in
1615
// IE.
1716
// https://github.com/Polymer/polymer/issues/217
1817
// 'applet': 'HTMLAppletElement',
19-
2018
'area': 'HTMLAreaElement',
21-
'br': 'HTMLBRElement',
19+
'audio': 'HTMLAudioElement',
2220
'base': 'HTMLBaseElement',
2321
'body': 'HTMLBodyElement',
22+
'br': 'HTMLBRElement',
2423
'button': 'HTMLButtonElement',
24+
'canvas': 'HTMLCanvasElement',
25+
'caption': 'HTMLTableCaptionElement',
26+
'col': 'HTMLTableColElement',
2527
// 'command': 'HTMLCommandElement', // Not fully implemented in Gecko.
26-
'dl': 'HTMLDListElement',
27-
'datalist': 'HTMLDataListElement',
28+
'content': 'HTMLContentElement',
2829
'data': 'HTMLDataElement',
30+
'datalist': 'HTMLDataListElement',
31+
'del': 'HTMLModElement',
2932
'dir': 'HTMLDirectoryElement',
3033
'div': 'HTMLDivElement',
34+
'dl': 'HTMLDListElement',
3135
'embed': 'HTMLEmbedElement',
3236
'fieldset': 'HTMLFieldSetElement',
3337
'font': 'HTMLFontElement',
3438
'form': 'HTMLFormElement',
3539
'frame': 'HTMLFrameElement',
3640
'frameset': 'HTMLFrameSetElement',
37-
'hr': 'HTMLHRElement',
38-
'head': 'HTMLHeadElement',
3941
'h1': 'HTMLHeadingElement',
42+
'head': 'HTMLHeadElement',
43+
'hr': 'HTMLHRElement',
4044
'html': 'HTMLHtmlElement',
4145
'iframe': 'HTMLIFrameElement',
46+
'img': 'HTMLImageElement',
4247
'input': 'HTMLInputElement',
43-
'li': 'HTMLLIElement',
48+
'keygen': 'HTMLKeygenElement',
4449
'label': 'HTMLLabelElement',
4550
'legend': 'HTMLLegendElement',
51+
'li': 'HTMLLIElement',
4652
'link': 'HTMLLinkElement',
4753
'map': 'HTMLMapElement',
4854
'marquee': 'HTMLMarqueeElement',
4955
'menu': 'HTMLMenuElement',
5056
'menuitem': 'HTMLMenuItemElement',
5157
'meta': 'HTMLMetaElement',
5258
'meter': 'HTMLMeterElement',
53-
'del': 'HTMLModElement',
54-
'ol': 'HTMLOListElement',
5559
'object': 'HTMLObjectElement',
60+
'ol': 'HTMLOListElement',
5661
'optgroup': 'HTMLOptGroupElement',
5762
'option': 'HTMLOptionElement',
5863
'output': 'HTMLOutputElement',
@@ -63,23 +68,23 @@
6368
'q': 'HTMLQuoteElement',
6469
'script': 'HTMLScriptElement',
6570
'select': 'HTMLSelectElement',
71+
'shadow': 'HTMLShadowElement',
6672
'source': 'HTMLSourceElement',
6773
'span': 'HTMLSpanElement',
6874
'style': 'HTMLStyleElement',
69-
'time': 'HTMLTimeElement',
70-
'caption': 'HTMLTableCaptionElement',
75+
'table': 'HTMLTableElement',
76+
'tbody': 'HTMLTableSectionElement',
7177
// WebKit and Moz are wrong:
7278
// https://bugs.webkit.org/show_bug.cgi?id=111469
7379
// https://bugzilla.mozilla.org/show_bug.cgi?id=848096
7480
// 'td': 'HTMLTableCellElement',
75-
'col': 'HTMLTableColElement',
76-
'table': 'HTMLTableElement',
77-
'tr': 'HTMLTableRowElement',
78-
'thead': 'HTMLTableSectionElement',
79-
'tbody': 'HTMLTableSectionElement',
81+
'template': 'HTMLTemplateElement',
8082
'textarea': 'HTMLTextAreaElement',
81-
'track': 'HTMLTrackElement',
83+
'thead': 'HTMLTableSectionElement',
84+
'time': 'HTMLTimeElement',
8285
'title': 'HTMLTitleElement',
86+
'tr': 'HTMLTableRowElement',
87+
'track': 'HTMLTrackElement',
8388
'ul': 'HTMLUListElement',
8489
'video': 'HTMLVideoElement',
8590
};
@@ -100,7 +105,4 @@
100105
window[name] = scope.wrappers[name]
101106
});
102107

103-
// Export for testing.
104-
scope.knownElements = elements;
105-
106108
})(window.ShadowDOMPolyfill);

test/js/wrappers.js

+74-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,80 @@ suite('Wrapper creation', function() {
88

99
var wrap = ShadowDOMPolyfill.wrap;
1010
var unwrap = ShadowDOMPolyfill.unwrap;
11-
var knownElements = ShadowDOMPolyfill.knownElements;
11+
12+
var knownElements = {
13+
'a': 'HTMLAnchorElement',
14+
// Do not create an applet element by default since it shows a warning in
15+
// IE.
16+
// https://github.com/Polymer/polymer/issues/217
17+
// 'applet': 'HTMLAppletElement',
18+
'area': 'HTMLAreaElement',
19+
'br': 'HTMLBRElement',
20+
'base': 'HTMLBaseElement',
21+
'body': 'HTMLBodyElement',
22+
'button': 'HTMLButtonElement',
23+
// 'command': 'HTMLCommandElement', // Not fully implemented in Gecko.
24+
'dl': 'HTMLDListElement',
25+
'datalist': 'HTMLDataListElement',
26+
'data': 'HTMLDataElement',
27+
'dir': 'HTMLDirectoryElement',
28+
'div': 'HTMLDivElement',
29+
'embed': 'HTMLEmbedElement',
30+
'fieldset': 'HTMLFieldSetElement',
31+
'font': 'HTMLFontElement',
32+
'form': 'HTMLFormElement',
33+
'frame': 'HTMLFrameElement',
34+
'frameset': 'HTMLFrameSetElement',
35+
'hr': 'HTMLHRElement',
36+
'head': 'HTMLHeadElement',
37+
'h1': 'HTMLHeadingElement',
38+
'html': 'HTMLHtmlElement',
39+
'iframe': 'HTMLIFrameElement',
40+
'input': 'HTMLInputElement',
41+
'li': 'HTMLLIElement',
42+
'label': 'HTMLLabelElement',
43+
'legend': 'HTMLLegendElement',
44+
'link': 'HTMLLinkElement',
45+
'map': 'HTMLMapElement',
46+
'marquee': 'HTMLMarqueeElement',
47+
'menu': 'HTMLMenuElement',
48+
'menuitem': 'HTMLMenuItemElement',
49+
'meta': 'HTMLMetaElement',
50+
'meter': 'HTMLMeterElement',
51+
'del': 'HTMLModElement',
52+
'ol': 'HTMLOListElement',
53+
'object': 'HTMLObjectElement',
54+
'optgroup': 'HTMLOptGroupElement',
55+
'option': 'HTMLOptionElement',
56+
'output': 'HTMLOutputElement',
57+
'p': 'HTMLParagraphElement',
58+
'param': 'HTMLParamElement',
59+
'pre': 'HTMLPreElement',
60+
'progress': 'HTMLProgressElement',
61+
'q': 'HTMLQuoteElement',
62+
'script': 'HTMLScriptElement',
63+
'select': 'HTMLSelectElement',
64+
'source': 'HTMLSourceElement',
65+
'span': 'HTMLSpanElement',
66+
'style': 'HTMLStyleElement',
67+
'time': 'HTMLTimeElement',
68+
'caption': 'HTMLTableCaptionElement',
69+
// WebKit and Moz are wrong:
70+
// https://bugs.webkit.org/show_bug.cgi?id=111469
71+
// https://bugzilla.mozilla.org/show_bug.cgi?id=848096
72+
// 'td': 'HTMLTableCellElement',
73+
'col': 'HTMLTableColElement',
74+
'table': 'HTMLTableElement',
75+
'tr': 'HTMLTableRowElement',
76+
'thead': 'HTMLTableSectionElement',
77+
'tbody': 'HTMLTableSectionElement',
78+
'textarea': 'HTMLTextAreaElement',
79+
'track': 'HTMLTrackElement',
80+
'title': 'HTMLTitleElement',
81+
'ul': 'HTMLUListElement',
82+
'video': 'HTMLVideoElement',
83+
};
84+
1285

1386
test('Br element wrapper', function() {
1487
var br = document.createElement('br');

0 commit comments

Comments
 (0)