Index: third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js b/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js |
index f661d238cbf5b0f6ebac589fda51baac65b90012..f18d895b621ca2a20ec54173e88bde3a26f7dbd1 100644 |
--- a/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js |
+++ b/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js |
@@ -8,7 +8,7 @@ policies and contribution forms [3]. |
[3] http://www.w3.org/2004/10/27-testcases |
*/ |
-/* For user documentation see docs/idlharness.md */ |
+/* For user documentation see docs/_writing-tests/idlharness.md */ |
/** |
* Notes for people who want to edit this file (not just use it as a library): |
@@ -1633,6 +1633,13 @@ IdlInterface.prototype.test_object = function(desc) |
IdlInterface.prototype.test_primary_interface_of = function(desc, obj, exception, expected_typeof) |
//@{ |
{ |
+ // Only the object itself, not its members, are tested here, so if the |
+ // interface is untested, there is nothing to do. |
+ if (!this.untested) |
+ { |
+ return; |
+ } |
+ |
// We can't easily test that its prototype is correct if there's no |
// interface object, or the object is from a different global environment |
// (not instanceof Object). TODO: test in this case that its prototype at |
@@ -1684,6 +1691,9 @@ IdlInterface.prototype.test_interface_of = function(desc, obj, exception, expect |
for (var i = 0; i < this.members.length; i++) |
{ |
var member = this.members[i]; |
+ if (member.untested) { |
+ continue; |
+ } |
if (!exposed_in(exposure_set(member, this.exposureSet))) { |
test(function() { |
assert_false(member.name in obj); |
@@ -1891,6 +1901,7 @@ IdlInterface.prototype.do_interface_attribute_asserts = function(obj, member, a_ |
// TODO: Test calling setter on the interface prototype (should throw |
// TypeError in most cases). |
if (member.readonly |
+ && !member.has_extended_attribute("LenientSetter") |
&& !member.has_extended_attribute("PutForwards") |
&& !member.has_extended_attribute("Replaceable")) |
{ |