| Index: sdk/lib/html/dartium/html_dartium.dart
|
| diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
|
| index 5cc47e4fca2bbf4ddc19ecbbf5cafb9bb0f7db65..efdef92d354ce5d45f48a5b42352dc03fc95eaae 100644
|
| --- a/sdk/lib/html/dartium/html_dartium.dart
|
| +++ b/sdk/lib/html/dartium/html_dartium.dart
|
| @@ -14778,6 +14778,9 @@ class Element extends Node implements GlobalEventHandlers, ParentNode, ChildNode
|
| return false;
|
| }
|
|
|
| + /// A secondary check for corruption, needed on IE
|
| + static bool _hasCorruptedAttributesAdditionalCheck(Element element) => false;
|
| +
|
| static String _safeTagName(element) {
|
| String result = 'element tag unavailable';
|
| try {
|
| @@ -46844,11 +46847,12 @@ class _ValidatingTreeSanitizer implements NodeTreeSanitizer {
|
| // If getting/indexing attributes throws, count that as corrupt.
|
| attrs = element.attributes;
|
| isAttr = attrs['is'];
|
| + var corruptedTest1 = Element._hasCorruptedAttributes(element);
|
| +
|
| // On IE, erratically, the hasCorruptedAttributes test can return false,
|
| // even though it clearly is corrupted. A separate copy of the test
|
| // inlining just the basic check seems to help.
|
| - var corruptedTest1 = Element._hasCorruptedAttributes(element);
|
| - var corruptedTest2 = JS('bool', r'!(#.attributes instanceof NamedNodeMap)', element);
|
| + var corruptedTest2 = Element._hasCorruptedAttributesAdditionalCheck(element);
|
| corrupted = corruptedTest1 || corruptedTest2;
|
| } catch(e) {}
|
| var elementText = 'element unprintable';
|
|
|