blob: 1293d1227194765f1f2c0e98abf120677d94cd94 [file] [log] [blame]
<html>
<head>
<title>Original Title</title>
<link rel="shortcut icon" type="image/x-icon" href="http://test.com/oldfavicon.ico"/>
<link rel="shortcut icon" type="image/x-icon" href="http://test.com/foofavicon.ico"/>
<link rel="shortcut icon" type="image/x-icon" href="http://test.com/barfavicon.ico"/>
<script src="../../resources/js-test.js"></script>
<script>
function setFavIcon(iconURL) {
var docHead = document.getElementsByTagName("head")[0];
// set up a new node for the new iconURL
var newLink = document.createElement("link");
newLink.type = "image/x-icon";
newLink.rel = "shortcut icon";
newLink.href = iconURL;
var links = docHead.getElementsByTagName("link");
for (var i = 0; i < links.length; ++i) {
var oldLink = links[i];
if (oldLink.type=="image/x-icon" && oldLink.rel=="shortcut icon") {
// if we find the child, replace it with the new node.
docHead.replaceChild(newLink, oldLink);
return; // Assuming only one match at most.
}
}
// if we didn't find the icon URL link, add it now.
docHead.appendChild(newLink);
}
function runTests() {
if (window.testRunner)
testRunner.dumpAsText();
iconURL = document.getElementsByTagName("link")[0].href;
debug('Original iconURL is: ' + iconURL);
// change icon to new icon
newURL = 'http://test.com/newfavicon.ico';
debug('Setting new icon URL to: ' + newURL);
setFavIcon(newURL);
iconURL = document.getElementsByTagName("link")[0].href
debug('New iconURL is: ' + iconURL);
// check that the URL list in the document is as we expect
var expectedURL0 = "http://test.com/barfavicon.ico";
var expectedURL1 = "http://test.com/foofavicon.ico";
var expectedURL2 = "http://test.com/newfavicon.ico";
var iconURLs = internals.shortcutIconURLs(document);
if (expectedURL0 == iconURLs[0] && expectedURL1 == iconURLs[1] && expectedURL2 == iconURLs[2])
testPassed('URL list matches expected');
else
testFailed('URL list does not match expected');
}
</script>
</head>
<body onload='runTests();'>
</div>
</body>
</html>