browser_multiple_ico.js (1696B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 const TEST_ROOT = 5 "http://mochi.test:8888/browser/browser/base/content/test/favicons/"; 6 7 const PAGE_URL = TEST_ROOT + "file_multiple_ico.html"; 8 // An ICO file with three BMP images 9 const ICO_WITH_BMP_URL = TEST_ROOT + "file_multiple.ico"; 10 // An ICO file with three PNG images (with the same colors/sizes as the file above) 11 // The encoding differs slightly depending on the zlib implementation. 12 const ICO_WITH_PNG_DATA_URL = AppConstants.USE_LIBZ_RS 13 ? `data:image/x-icon;base64,AAABAAMAAAAAAAEAIABNAAAANgAAAAAAAAABACAATAAAAIMAAAAAAAAAAQAgAEwAAADPAAAAiVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFElEQVQIW2NkYPj/n4GBgYERxgAAKAUD/zojOmwAAAAASUVORK5CYIKJUE5HDQoaCgAAAA1JSERSAAAABAAAAAQIBgAAAKnxnn4AAAATSURBVAhbY2T4z/ifAQkwki4AADxfCAHpZAkkAAAAAElFTkSuQmCCiVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAE0lEQVQYV2P8x8DwnwEPYBwZCgAYdw/xpf5XXwAAAABJRU5ErkJggg==` 14 : `data:image/x-icon;base64,AAABAAMAAAAAAAEAIABLAAAANgAAAAAAAAABACAATAAAAIEAAAAAAAAAAQAgAEwAAADNAAAAiVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAEklEQVQIW2NkYPj/nwEIGGEMACgFA/+JPWuRAAAAAElFTkSuQmCCiVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAE0lEQVQIW2Nk+M/4nwEJMJIuAAA8XwgB6WQJJAAAAABJRU5ErkJggolQTkcNChoKAAAADUlIRFIAAAAIAAAACAgGAAAAxA++iwAAABNJREFUGFdj/MfA8J8BD2AcGQoAGHcP8aX+V18AAAAASUVORK5CYII=`; 15 16 add_task(async function () { 17 await BrowserTestUtils.withNewTab( 18 { gBrowser, url: PAGE_URL }, 19 async browser => { 20 await waitForFavicon(browser, ICO_WITH_BMP_URL); 21 is( 22 browser.mIconURL, 23 ICO_WITH_PNG_DATA_URL, 24 "Got PNG ICO with correct image data" 25 ); 26 } 27 ); 28 });