Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/custom-elements/instantiating-custom-elements/non-configurable-constructor-property.html

Issue 1954153002: Revert of Import web-platform-tests@88b9a65ce806b5f67e0a535bf2f1602c2df6af58 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/custom-elements/instantiating-custom-elements/non-configurable-constructor-property.html
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/custom-elements/instantiating-custom-elements/non-configurable-constructor-property.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/custom-elements/instantiating-custom-elements/non-configurable-constructor-property.html
new file mode 100644
index 0000000000000000000000000000000000000000..c9d0770642439c7f756c6fdb2137ce8bcd96a272
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/custom-elements/instantiating-custom-elements/non-configurable-constructor-property.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>If prototype has a non-configurable property named constructor, Document.registerElement() throws NotSupportedError</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="If PROTOTYPE has a non-configurable property named constructor, throw a NotSupportedError and stop">
+<link rel="help" href="http://www.w3.org/TR/custom-elements/#instantiating-custom-elements">
+<script src="../../../../resources/testharness.js"></script>
+<script src="../../../../resources/testharnessreport.js"></script>
+<script src="../testcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+test(function() {
+ var doc = newHTMLDocument();
+ var proto = Object.create(HTMLElement.prototype);
+ Object.defineProperty(proto, 'constructor', {configurable: false});
+ assert_throws('NotSupportedError', function() {
+ doc.registerElement('x-a', {prototype: proto});
+ }, 'Exception should be thrown in case of attempt to register element ' +
+ 'with a non-configurable property named constructor');
+}, 'Test Document.registerElement() throws NotSupportedError ' +
+ 'if prototype has a non-configurable property named constructor');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var proto = Object.create(HTMLElement.prototype);
+ Object.defineProperty(proto, 'constructor', {configurable: true});
+ try {
+ doc.registerElement('x-b', {prototype: proto});
+ } catch (e) {
+ assert_unreached('Exception should not be thrown in case of attempt to register ' +
+ 'element with a configurable property named constructor');
+ }
+}, 'Test Document.registerElement() accepts prototype with a configurable ' +
+ 'property named constructor without throwing errors');
+</script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698