| Index: third_party/WebKit/LayoutTests/custom-elements/spec/define-element.html
|
| diff --git a/third_party/WebKit/LayoutTests/custom-elements/spec/define-element.html b/third_party/WebKit/LayoutTests/custom-elements/spec/define-element.html
|
| index 729a6cb0d423b5f87635ea4eccfb8e03236511d8..2c8d64587e2c38351ce0b7ca8de3da3e59c7f6d0 100644
|
| --- a/third_party/WebKit/LayoutTests/custom-elements/spec/define-element.html
|
| +++ b/third_party/WebKit/LayoutTests/custom-elements/spec/define-element.html
|
| @@ -410,5 +410,22 @@ test_with_window((w) => {
|
| assert_false( observedAttributes_invoked, 'Get(constructor, observedAttributes) should not be invoked');
|
| }, 'Get(constructor, observedAttributes) should not execute if ' +
|
| 'attributeChangedCallback is undefined');
|
| +
|
| +test_with_window((w) => {
|
| + let attributes = {};
|
| + attributes[Symbol.iterator] = function*() {
|
| + throw new TypeError();
|
| + };
|
| + class X extends w.HTMLElement {
|
| + constructor() { super(); }
|
| + attributeChangedCallback() {}
|
| + static get observedAttributes() {
|
| + return attributes;
|
| + }
|
| + }
|
| + assert_throws(TypeError.prototype, () => {
|
| + w.customElements.define('x-x', X);
|
| + });
|
| +}, 'Throwing an exception in observedAttributes');
|
| </script>
|
| </body>
|
|
|