Files
sdk/tools/dom/templates/html/impl/impl_HTMLTableRowElement.darttemplate
T
blois@google.com c47eae035f Fixing createFragment on IE9 Table elements
Basically IE9 does not support innerHTML on table elements, so need to go one level up and wrap everything in a <table> tag.

Another issue is that IE9 does not support creating body elements or the matches call when the element is not in the document, updated the test to account for these.

BUG=12830
R=jmesserly@google.com

Review URL: https://codereview.chromium.org//23646003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26806 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 18:03:12 +00:00

38 lines
1.2 KiB
Plaintext

// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of $LIBRARYNAME;
@DocsEditable()
$(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
@DomName('HTMLTableRowElement.cells')
List<TableCellElement> get cells =>
new _WrappedList<TableCellElement>(_cells);
TableCellElement addCell() {
return insertCell(-1);
}
TableCellElement insertCell(int index) => _insertCell(index);
$if DART2JS
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;
}
$endif
$!MEMBERS}