| Index: sdk/lib/html/dart2js/html_dart2js.dart
|
| diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
|
| index eb831c073f31928cb771e64492cb23d547e5829e..b17920267ad6db18f4cc55430eac9027498b5753 100644
|
| --- a/sdk/lib/html/dart2js/html_dart2js.dart
|
| +++ b/sdk/lib/html/dart2js/html_dart2js.dart
|
| @@ -22335,6 +22335,22 @@ class TableElement extends HtmlElement native "HTMLTableElement" {
|
| @JSName('createTBody')
|
| TableSectionElement _nativeCreateTBody() native;
|
|
|
| + DocumentFragment createFragment(String html,
|
| + {NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
|
| + if (Range.supportsCreateContextualFragment) {
|
| + return super.createFragment(
|
| + html, validator: validator, treeSanitizer: treeSanitizer);
|
| + }
|
| + // IE9 workaround which does not support innerHTML on Table elements.
|
| + var contextualHtml = '<table>$html</table>';
|
| + var table = new Element.html(contextualHtml, validator: validator,
|
| + treeSanitizer: treeSanitizer);
|
| + var fragment = new DocumentFragment();
|
| + fragment.nodes.addAll(table.nodes);
|
| +
|
| + return fragment;
|
| + }
|
| +
|
| // To suppress missing implicit constructor warnings.
|
| factory TableElement._() { throw new UnsupportedError("Not supported"); }
|
|
|
| @@ -22425,6 +22441,21 @@ class TableRowElement extends HtmlElement native "HTMLTableRowElement" {
|
|
|
| TableCellElement insertCell(int index) => _insertCell(index);
|
|
|
| + DocumentFragment createFragment(String html,
|
| + {NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
|
| + if (Range.supportsCreateContextualFragment) {
|
| + return super.createFragment(
|
| + html, validator: validator, treeSanitizer: treeSanitizer);
|
| + }
|
| + // IE9 workaround which does not support innerHTML on Table elements.
|
| + var fragment = new DocumentFragment();
|
| + var section = new TableElement().createFragment(
|
| + html, validator: validator, treeSanitizer: treeSanitizer).nodes.single;
|
| + var row = section.nodes.single;
|
| + fragment.nodes.addAll(row.nodes);
|
| + return fragment;
|
| + }
|
| +
|
| // To suppress missing implicit constructor warnings.
|
| factory TableRowElement._() { throw new UnsupportedError("Not supported"); }
|
|
|
| @@ -22473,6 +22504,20 @@ class TableSectionElement extends HtmlElement native "HTMLTableSectionElement" {
|
|
|
| TableRowElement insertRow(int index) => _insertRow(index);
|
|
|
| + DocumentFragment createFragment(String html,
|
| + {NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
|
| + if (Range.supportsCreateContextualFragment) {
|
| + return super.createFragment(
|
| + html, validator: validator, treeSanitizer: treeSanitizer);
|
| + }
|
| + // IE9 workaround which does not support innerHTML on Table elements.
|
| + var fragment = new DocumentFragment();
|
| + var section = new TableElement().createFragment(
|
| + html, validator: validator, treeSanitizer: treeSanitizer).nodes.single;
|
| + fragment.nodes.addAll(section.nodes);
|
| + return fragment;
|
| + }
|
| +
|
| // To suppress missing implicit constructor warnings.
|
| factory TableSectionElement._() { throw new UnsupportedError("Not supported"); }
|
|
|
|
|