Re: [html-tests] Fix tests for error type of __proto__ on cross-domain objects (#5163)

 [View the complete job log.](https://travis-ci.org/w3c/web-platform-tests/jobs/211912536)

# Chrome (unstable channel) #
Testing web-platform-tests at revision 5ecd8e33ac062fdb346756473aecff52ac54cb11
Using browser at version 58.0.3029.19 dev
Starting 10 test iterations
All results were stable
## All results ##
<details>
<summary>10 tests ran</summary>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin-domain.sub.html">/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin-domain.sub.html</a></summary>


|                                                                           Subtest                                                                            | Results |                                                                                                                                        Messages                                                                                                                                       |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                              | OK      |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: the prototype is null`                                                                                                    | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError`                              | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Cross-origin via document.domain: setting the prototype to an empty object via __proto__ should throw a SecurityError`                                      | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`                                  | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin via document.domain: the prototype must still be null`                                                                                         | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to null via Object.setPrototypeOf should not throw`                                                 | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin via document.domain: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty` | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to null via Reflect.setPrototypeOf should return true`                                              | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html">/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html</a></summary>


|                                                                 Subtest                                                                  | Results |                                                                                                                                        Messages                                                                                                                                       |
|------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                          | OK      |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: the prototype is null`                                                                                                    | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError`                              | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Cross-origin: setting the prototype to an empty object via __proto__ should throw a SecurityError`                                      | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`                                  | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin: the prototype must still be null`                                                                                         | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to null via Object.setPrototypeOf should not throw`                                                 | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty` | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to null via Reflect.setPrototypeOf should return true`                                              | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/history/the-location-interface/location-prototype-setting-goes-cross-origin-domain.sub.html">/html/browsers/history/the-location-interface/location-prototype-setting-goes-cross-origin-domain.sub.html</a></summary>


|                                                                                 Subtest                                                                                  | Results |                                                                                                                                        Messages                                                                                                                                       |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                                          | OK      |                                                                                                                                                                                                                                                                                       |
| `Same-origin (for now): the prototype is accessible`                                                                                                                     | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: the prototype is now null`                                                                                                     | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError`                                   | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Became cross-origin via document.domain: setting the prototype to an empty object via __proto__ should throw a SecurityError`                                           | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`                                       | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Became cross-origin via document.domain: the prototype must still be null`                                                                                              | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to null via Object.setPrototypeOf should not throw`                                                      | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Became cross-origin via document.domain: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty`      | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to null via Reflect.setPrototypeOf should return true`                                                   | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Became cross-origin via document.domain: setting the prototype to the original value from before going cross-origin via Object.setPrototypeOf should throw a TypeError` | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Became cross-origin via document.domain: setting the prototype to the original value from before going cross-origin via __proto__ should throw a SecurityError`         | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to the original value from before going cross-origin via Reflect.setPrototypeOf should return false`     | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html">/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html</a></summary>


|                                                      Subtest                                                      | Results |                                                 Messages                                                 |
|-------------------------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------|
|                                                                                                                   | OK      |                                                                                                          |
| `Same-origin-domain prerequisite check: the original prototype is accessible`                                     | PASS    |                                                                                                          |
| `Same-origin-domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError` | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" did not throw` |
| `Same-origin-domain: setting the prototype to an empty object via __proto__ should throw a TypeError`             | FAIL    | `assert_throws: function "function () {\n      target.__proto__ = newValue;\n    }" did not throw`       |
| `Same-origin-domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`     | FAIL    | `assert_false: expected false got true`                                                                  |
| `Same-origin-domain: the prototype must still be its original value`                                              | FAIL    | `assert_equals: expected object "[object Location]" but got object "[object Object]"`                    |
| `Same-origin-domain: setting the prototype to its original value via Object.setPrototypeOf should not throw`      | PASS    |                                                                                                          |
| `Same-origin-domain: setting the prototype to its original value via __proto__ should not throw`                  | PASS    |                                                                                                          |
| `Same-origin-domain: setting the prototype to its original value via Reflect.setPrototypeOf should return true`   | PASS    |                                                                                                          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/history/the-location-interface/location-prototype-setting-same-origin.html">/html/browsers/history/the-location-interface/location-prototype-setting-same-origin.html</a></summary>


|                                                  Subtest                                                   | Results |                                                 Messages                                                 |
|------------------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------|
|                                                                                                            | OK      |                                                                                                          |
| `Same-origin prerequisite check: the original prototype is accessible`                                     | PASS    |                                                                                                          |
| `Same-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError` | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" did not throw` |
| `Same-origin: setting the prototype to an empty object via __proto__ should throw a TypeError`             | FAIL    | `assert_throws: function "function () {\n      target.__proto__ = newValue;\n    }" did not throw`       |
| `Same-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`     | FAIL    | `assert_false: expected false got true`                                                                  |
| `Same-origin: the prototype must still be its original value`                                              | FAIL    | `assert_equals: expected object "[object Location]" but got object "[object Object]"`                    |
| `Same-origin: setting the prototype to its original value via Object.setPrototypeOf should not throw`      | PASS    |                                                                                                          |
| `Same-origin: setting the prototype to its original value via __proto__ should not throw`                  | PASS    |                                                                                                          |
| `Same-origin: setting the prototype to its original value via Reflect.setPrototypeOf should return true`   | PASS    |                                                                                                          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin-domain.sub.html">/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin-domain.sub.html</a></summary>


|                                                                           Subtest                                                                            | Results |                                                                                                                                        Messages                                                                                                                                       |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                              | OK      |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: the prototype is null`                                                                                                    | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError`                              | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Cross-origin via document.domain: setting the prototype to an empty object via __proto__ should throw a SecurityError`                                      | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`                                  | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin via document.domain: the prototype must still be null`                                                                                         | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to null via Object.setPrototypeOf should not throw`                                                 | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin via document.domain: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty` | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin via document.domain: setting the prototype to null via Reflect.setPrototypeOf should return true`                                              | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html">/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html</a></summary>


|                                                                 Subtest                                                                  | Results |                                                                                                                                        Messages                                                                                                                                       |
|------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                          | OK      |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: the prototype is null`                                                                                                    | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError`                              | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Cross-origin: setting the prototype to an empty object via __proto__ should throw a SecurityError`                                      | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`                                  | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin: the prototype must still be null`                                                                                         | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to null via Object.setPrototypeOf should not throw`                                                 | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Cross-origin: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty` | PASS    |                                                                                                                                                                                                                                                                                       |
| `Cross-origin: setting the prototype to null via Reflect.setPrototypeOf should return true`                                              | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-goes-cross-origin-domain.sub.html">/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-goes-cross-origin-domain.sub.html</a></summary>


|                                                                                 Subtest                                                                                  | Results |                                                                                                                                        Messages                                                                                                                                       |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                                          | OK      |                                                                                                                                                                                                                                                                                       |
| `Same-origin (for now): the prototype is accessible`                                                                                                                     | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: the prototype is now null`                                                                                                     | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError`                                   | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Became cross-origin via document.domain: setting the prototype to an empty object via __proto__ should throw a SecurityError`                                           | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`                                       | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Became cross-origin via document.domain: the prototype must still be null`                                                                                              | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to null via Object.setPrototypeOf should not throw`                                                      | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Became cross-origin via document.domain: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty`      | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to null via Reflect.setPrototypeOf should return true`                                                   | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |
| `Became cross-origin via document.domain: setting the prototype to the original value from before going cross-origin via Object.setPrototypeOf should throw a TypeError` | FAIL    | `assert_throws: function "() => {\n      Object.setPrototypeOf(target, newValue);\n    }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame." ("SecurityError") expected object "TypeError" ("TypeError")` |
| `Became cross-origin via document.domain: setting the prototype to the original value from before going cross-origin via __proto__ should throw a SecurityError`         | PASS    |                                                                                                                                                                                                                                                                                       |
| `Became cross-origin via document.domain: setting the prototype to the original value from before going cross-origin via Reflect.setPrototypeOf should return false`     | FAIL    | `Blocked a frame with origin "http://web-platform.test:8000" from accessing a cross-origin frame.`                                                                                                                                                                                    |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html">/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html</a></summary>


|                                                      Subtest                                                      | Results | Messages |
|-------------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                                   | OK      |          |
| `Same-origin-domain prerequisite check: the original prototype is accessible`                                     | PASS    |          |
| `Same-origin-domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError` | PASS    |          |
| `Same-origin-domain: setting the prototype to an empty object via __proto__ should throw a TypeError`             | PASS    |          |
| `Same-origin-domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`     | PASS    |          |
| `Same-origin-domain: the prototype must still be its original value`                                              | PASS    |          |
| `Same-origin-domain: setting the prototype to its original value via Object.setPrototypeOf should not throw`      | PASS    |          |
| `Same-origin-domain: setting the prototype to its original value via __proto__ should not throw`                  | PASS    |          |
| `Same-origin-domain: setting the prototype to its original value via Reflect.setPrototypeOf should return true`   | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5163/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin.html">/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin.html</a></summary>


|                                                  Subtest                                                   | Results | Messages |
|------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                            | OK      |          |
| `Same-origin prerequisite check: the original prototype is accessible`                                     | PASS    |          |
| `Same-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError` | PASS    |          |
| `Same-origin: setting the prototype to an empty object via __proto__ should throw a TypeError`             | PASS    |          |
| `Same-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false`     | PASS    |          |
| `Same-origin: the prototype must still be its original value`                                              | PASS    |          |
| `Same-origin: setting the prototype to its original value via Object.setPrototypeOf should not throw`      | PASS    |          |
| `Same-origin: setting the prototype to its original value via __proto__ should not throw`                  | PASS    |          |
| `Same-origin: setting the prototype to its original value via Reflect.setPrototypeOf should return true`   | PASS    |          |

</details>
</details>

View on GitHub: https://github.com/w3c/web-platform-tests/pull/5163#issuecomment-287196135

Received on Thursday, 16 March 2017 21:26:55 UTC