<script>
if (window.testRunner) {
    testRunner.dumpResourceLoadCallbacks();
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
</script>
<link rel="manifest" href="urlscheme://1" media="print">
<link rel="manifest" href="urlscheme://2">
<script>
if (window.testRunner) {
    testRunner.getApplicationManifestThen(function() {
        testRunner.notifyDone();
    });
}
</script>