| Index: LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html
 | 
| diff --git a/LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html b/LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..8bd0061967755ac6e08c11c31a7ac5febc169d4d
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html
 | 
| @@ -0,0 +1,77 @@
 | 
| +<!DOCTYPE html>
 | 
| +<html>
 | 
| +<head>
 | 
| +<title>Fetching import</title>
 | 
| +<link rel="help" href="http://w3c.github.io/webcomponents/spec/imports/#fetching-import">
 | 
| +<script src="../../../../resources/testharness.js"></script>
 | 
| +<script src="../../../../resources/testharnessreport.js"></script>
 | 
| +<link rel="stylesheet" href="../../../../resources/testharness.css">
 | 
| +
 | 
| +<script>
 | 
| +var onloadWasCalledOnSuccess = false;
 | 
| +var onerrorWasCalledOnSuccess = false;
 | 
| +function helloLoadHandler() { onloadWasCalledOnSuccess = true; }
 | 
| +function helloErrorHandler() { onerrorWasCalledOnSuccess = true; }
 | 
| +
 | 
| +var onloadWasCalledOnFail = false;
 | 
| +var onerrorWasCalledOnFail = false;
 | 
| +function nosuchLoadHandler() { onloadWasCalledOnFail = true; }
 | 
| +function nosuchErrorHandler() { onerrorWasCalledOnFail = true; }
 | 
| +</script>
 | 
| +
 | 
| +<link rel="import" href="resources/hello.html" onload="helloLoadHandler()" onerror="helloLoadHandler()">
 | 
| +<link rel="import" href="resources/no-such.html" onload="nosuchLoadHandler()" onerror="nosuchErrorHandler()">
 | 
| +
 | 
| +<script>
 | 
| +test(function() {
 | 
| +    assert_true(onloadWasCalledOnSuccess);
 | 
| +    assert_false(onerrorWasCalledOnSuccess);
 | 
| +}, 'The loading attempt must be considered successful if IMPORT is not null on the algorithm completion, and failed otherwise. (1)');
 | 
| +
 | 
| +test(function() {
 | 
| +    assert_false(onloadWasCalledOnFail);
 | 
| +    assert_true(onerrorWasCalledOnFail);
 | 
| +}, 'The loading attempt must be considered successful if IMPORT is not null on the algorithm completion, and failed otherwise. (2)');
 | 
| +
 | 
| +t1 = async_test('The loading attempt must be considered successful if IMPORT is not null on the algorithm completion, and failed otherwise. (3)')
 | 
| +t1.step(function() {
 | 
| +   var importElement = document.createElement('link');
 | 
| +   importElement.setAttribute('rel', 'import');
 | 
| +   importElement.setAttribute('href', 'resources/dynamic.html');
 | 
| +   importElement.addEventListener("error", assert_unreached);
 | 
| +   importElement.addEventListener("load", function() {
 | 
| +       t1.done();
 | 
| +   });
 | 
| +
 | 
| +   document.head.appendChild(importElement);
 | 
| +});
 | 
| +
 | 
| +var onloadWasCalledOnAsync = false;
 | 
| +var onerrorWasCalledOnAsync = false;
 | 
| +var asyncAttemptDone = function() { assert_unreached(); };
 | 
| +
 | 
| +function asyncLoadHandler() {
 | 
| +    onloadWasCalledOnAsync = true;
 | 
| +    asyncAttemptDone();
 | 
| +}
 | 
| +function asyncErrorHandler() {
 | 
| +    onerrorWasCalledOnAsync = true;
 | 
| +    asyncAttemptDone();
 | 
| +}
 | 
| +
 | 
| +t2 = async_test('Every import that is not marked as async delays the load event in the Document.');
 | 
| +asyncAttemptDone = function() {
 | 
| +    t2.step(function() {
 | 
| +        assert_true(onloadWasCalledOnAsync);
 | 
| +        assert_false(onerrorWasCalledOnAsync);
 | 
| +        t2.done();
 | 
| +    });
 | 
| +};
 | 
| +
 | 
| +</script>
 | 
| +<link rel="import" href="resources/async.html" onload="asyncLoadHandler()" onerror="asyncErrorHandler()" async>
 | 
| +</head>
 | 
| +<body>
 | 
| +<div id="log"></div>
 | 
| +</body>
 | 
| +</html>
 | 
| 
 |