summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_favicon_change.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /browser/base/content/test/general/browser_favicon_change.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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.js41
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);
+});
+