From fc5f7e0e85e164f6826cf1ddc3f055f6ee4f93cb Mon Sep 17 00:00:00 2001 From: Paul O'Shannessy Date: Mon, 8 Jul 2013 11:48:48 -0700 Subject: [PATCH] Add support for missing html elements We're missing a bunch of elements. So I scraped them from https://developer.mozilla.org/en-US/docs/Web/HTML/Element. Here's the script I used (run from Firefox scratchpad): ``` Array.prototype.slice.call(document.querySelectorAll('div.index.widgeted li')) .filter(function(li) { return !/deprecatedElement|obsoleteElement|nonStdElement/.test(li.firstChild.className) }) .map(function(li) { // -> tag return li.querySelector('code').textContent.replace(/<(.+)>/,'$1'); }) .join(': false,\n '); ``` I had to filter a couple more out (because there's some malformed content), but then it was simply merge with what we had and check to see if the new ones needed to omit the close tag. --- src/core/ReactDOM.js | 50 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/src/core/ReactDOM.js b/src/core/ReactDOM.js index 64294bf0e3..c403b08962 100644 --- a/src/core/ReactDOM.js +++ b/src/core/ReactDOM.js @@ -63,18 +63,32 @@ var ReactDOM = objMapKeyVal({ a: false, abbr: false, address: false, + area: false, + article: false, + aside: false, audio: false, b: false, + base: false, + bdi: false, + bdo: false, + big: false, blockquote: false, body: false, br: true, button: false, + canvas: false, + caption: false, + cite: false, code: false, col: true, colgroup: false, + data: false, + datalist: false, dd: false, + del: false, + details: false, + dfn: false, div: false, - section: false, dl: false, dt: false, em: false, @@ -90,31 +104,56 @@ var ReactDOM = objMapKeyVal({ h4: false, h5: false, h6: false, + head: false, header: false, hr: true, + html: false, i: false, iframe: false, img: true, input: true, + ins: false, + kbd: false, + keygen: true, label: false, legend: false, li: false, - line: false, + link: false, + main: false, + map: false, + mark: false, + menu: false, + menuitem: false, // NOTE: Close tag should be omitted, but causes problems. + meta: true, + meter: false, nav: false, + noscript: false, object: false, ol: false, optgroup: false, option: false, + output: false, p: false, param: true, pre: false, + progress: false, + q: false, + rp: false, + rt: false, + ruby: false, + s: false, + samp: false, + script: false, + section: false, select: false, small: false, source: false, span: false, - sub: false, - sup: false, strong: false, + style: false, + sub: false, + summary: false, + sup: false, table: false, tbody: false, td: false, @@ -125,14 +164,17 @@ var ReactDOM = objMapKeyVal({ time: false, title: false, tr: false, + track: true, u: false, ul: false, + 'var': false, video: false, wbr: false, // SVG circle: false, g: false, + line: false, path: false, polyline: false, rect: false,