diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /browser/base/content/test/general/browser_favicon_change.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'browser/base/content/test/general/browser_favicon_change.js')
-rw-r--r-- | browser/base/content/test/general/browser_favicon_change.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_favicon_change.js b/browser/base/content/test/general/browser_favicon_change.js new file mode 100644 index 000000000..f6b0a2a42 --- /dev/null +++ b/browser/base/content/test/general/browser_favicon_change.js @@ -0,0 +1,41 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const TEST_URL = "http://mochi.test:8888/browser/browser/base/content/test/general/file_favicon_change.html" + +add_task(function*() { + let extraTab = gBrowser.selectedTab = gBrowser.addTab(); + extraTab.linkedBrowser.loadURI(TEST_URL); + let tabLoaded = BrowserTestUtils.browserLoaded(extraTab.linkedBrowser); + let expectedFavicon = "http://example.org/one-icon"; + let haveChanged = new Promise.defer(); + let observer = new MutationObserver(function(mutations) { + for (let mut of mutations) { + if (mut.attributeName != "image") { + continue; + } + let imageVal = extraTab.getAttribute("image").replace(/#.*$/, ""); + if (!imageVal) { + // The value gets removed because it doesn't load. + continue; + } + is(imageVal, expectedFavicon, "Favicon image should correspond to expected image."); + haveChanged.resolve(); + } + }); + observer.observe(extraTab, {attributes: true}); + yield tabLoaded; + yield haveChanged.promise; + haveChanged = new Promise.defer(); + expectedFavicon = "http://example.org/other-icon"; + ContentTask.spawn(extraTab.linkedBrowser, null, function() { + let ev = new content.CustomEvent("PleaseChangeFavicon", {}); + content.dispatchEvent(ev); + }); + yield haveChanged.promise; + observer.disconnect(); + gBrowser.removeTab(extraTab); +}); + |