| Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js
 | 
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..f712252cef531182cc4780210529301bb5475e16
 | 
| --- /dev/null
 | 
| +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js
 | 
| @@ -0,0 +1,41 @@
 | 
| +// note, this template substitution is XSS, but no way to avoid it in this framework
 | 
| +var expected_logs = {{GET[logs]}};
 | 
| +var timeout = "{{GET[timeout]}}";
 | 
| +if (timeout == "") {
 | 
| +  timeout = 2;
 | 
| +}
 | 
| +
 | 
| +if (expected_logs.length == 0) {
 | 
| +    function log_assert(msg) {
 | 
| +        test(function () { assert_unreached(msg) });
 | 
| +    }
 | 
| +} else {
 | 
| +    var t_log = async_test('Expecting logs: {{GET[logs]}}');
 | 
| +    step_timeout(function() {
 | 
| +      if(t_log.phase != t_log.phases.COMPLETE){
 | 
| +        t_log.step(function () { assert_unreached('Logging timeout, expected logs ' + expected_logs + ' not sent.') });
 | 
| +        t_log.done();
 | 
| +      }
 | 
| +    }, timeout * 1000);
 | 
| +    function log(msg) {
 | 
| +        //cons/**/ole.log(msg);
 | 
| +        t_log.step(function () {
 | 
| +            if (msg.match(/^FAIL/i)) {
 | 
| +                assert_unreached(msg);
 | 
| +                t_log.done();
 | 
| +            }
 | 
| +            for (var i = 0; i < expected_logs.length; i++) {
 | 
| +                if (expected_logs[i] == msg) {
 | 
| +                    assert_true(expected_logs[i] == msg);
 | 
| +                    expected_logs.splice(i, 1);
 | 
| +                    if (expected_logs.length == 0) {
 | 
| +                        t_log.done();
 | 
| +                    }
 | 
| +                    return;
 | 
| +                 }
 | 
| +             }
 | 
| +             assert_unreached('unexpected log: ' + msg);
 | 
| +             t_log.done();
 | 
| +        });
 | 
| +    }
 | 
| +}
 | 
| 
 |