summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/PlacesTestUtils.sys.mjs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
commita90a5cba08fdf6c0ceb95101c275108a152a3aed (patch)
tree532507288f3defd7f4dcf1af49698bcb76034855 /toolkit/components/places/tests/PlacesTestUtils.sys.mjs
parentAdding debian version 126.0.1-1. (diff)
downloadfirefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.tar.xz
firefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.zip
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/places/tests/PlacesTestUtils.sys.mjs')
-rw-r--r--toolkit/components/places/tests/PlacesTestUtils.sys.mjs37
1 files changed, 37 insertions, 0 deletions
diff --git a/toolkit/components/places/tests/PlacesTestUtils.sys.mjs b/toolkit/components/places/tests/PlacesTestUtils.sys.mjs
index 4e459d2e32..97dda6367f 100644
--- a/toolkit/components/places/tests/PlacesTestUtils.sys.mjs
+++ b/toolkit/components/places/tests/PlacesTestUtils.sys.mjs
@@ -156,6 +156,43 @@ export var PlacesTestUtils = Object.freeze({
await Promise.all(faviconPromises);
},
+ /*
+ * Helper function to call PlacesUtils.favicons.setFaviconForPage() and waits
+ * finishing setting. This function throws an error if the status of
+ * PlacesUtils.favicons.setFaviconForPage() is not success.
+ *
+ * @param {string or nsIURI} pageURI
+ * @param {string or nsIURI} faviconURI
+ * @param {string or nsIURI} faviconDataURL
+ * @param {Number} [optional] expiration
+ * @return {Promise} waits for finishing setting
+ */
+ setFaviconForPage(pageURI, faviconURI, faviconDataURL, expiration = 0) {
+ return new Promise((resolve, reject) => {
+ lazy.PlacesUtils.favicons.setFaviconForPage(
+ pageURI instanceof Ci.nsIURI ? pageURI : Services.io.newURI(pageURI),
+ faviconURI instanceof Ci.nsIURI
+ ? faviconURI
+ : Services.io.newURI(faviconURI),
+ faviconDataURL instanceof Ci.nsIURI
+ ? faviconDataURL
+ : Services.io.newURI(faviconDataURL),
+ expiration,
+ status => {
+ if (Components.isSuccessCode(status)) {
+ resolve(status);
+ } else {
+ reject(
+ new Error(
+ `Failed to process setFaviconForPage(): status code = ${status}`
+ )
+ );
+ }
+ }
+ );
+ });
+ },
+
/**
* Clears any favicons stored in the database.
*/