gecko-dev/browser/components/shell/test/browser_1119088.js
Brindusan Cristian 1db0587c0e Backed out 10 changesets (bug 1485305) for browser-chrome failures on docshell/test/browser/browser_loadURI.js. CLOSED TREE
Backed out changeset 50439ec01661 (bug 1485305)
Backed out changeset a05e40ef7215 (bug 1485305)
Backed out changeset c99b97b4348b (bug 1485305)
Backed out changeset 75220b2f6669 (bug 1485305)
Backed out changeset e698f2fc1c1a (bug 1485305)
Backed out changeset acce14683c13 (bug 1485305)
Backed out changeset 323773a395cc (bug 1485305)
Backed out changeset 1b74152cabc1 (bug 1485305)
Backed out changeset 4b5c9d5929fc (bug 1485305)
Backed out changeset 238d92348159 (bug 1485305)
2018-09-19 18:47:27 +03:00

64 lines
2.1 KiB
JavaScript

/* eslint-disable mozilla/no-arbitrary-setTimeout */
let NS_OSX_PICTURE_DOCUMENTS_DIR = "Pct";
let NS_MAC_USER_LIB_DIR = "ULibDir";
function onPageLoad() {
let dirSvc = Cc["@mozilla.org/file/directory_service;1"].
getService(Ci.nsIDirectoryServiceProvider);
let desktopBackgroundDb = dirSvc.getFile(NS_MAC_USER_LIB_DIR, {});
desktopBackgroundDb.append("Application Support");
desktopBackgroundDb.append("Dock");
let desktopBackgroundDbBackup = desktopBackgroundDb.clone();
desktopBackgroundDb.append("desktoppicture.db");
desktopBackgroundDbBackup.append("desktoppicture.db.backup");
ok(desktopBackgroundDb.exists(),
"Desktop background database must exist for test to run.");
if (desktopBackgroundDbBackup.exists()) {
desktopBackgroundDbBackup.remove(false);
}
desktopBackgroundDb.copyTo(null, desktopBackgroundDbBackup.leafName);
let wpFile = dirSvc.getFile(NS_OSX_PICTURE_DOCUMENTS_DIR, {});
wpFile.append("logo.png");
if (wpFile.exists()) {
wpFile.remove(false);
}
let shell = Cc["@mozilla.org/browser/shell-service;1"].
getService(Ci.nsIShellService);
let image = gBrowser.contentDocumentAsCPOW.images[0];
shell.setDesktopBackground(image, 0, "logo.png");
setTimeout(function() {
ok(wpFile.exists(), "Desktop background was written to disk.");
desktopBackgroundDbBackup.moveTo(null, desktopBackgroundDb.leafName);
wpFile.remove(false);
// Restart Dock to reload previous background image.
let killall = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
killall.initWithPath("/usr/bin/killall");
let dockArg = ["Dock"];
let process =
Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(killall);
process.run(true, dockArg, 1);
gBrowser.removeCurrentTab();
finish();
}, 1000);
}
function test() {
gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser).then(onPageLoad, false, "about:logo");
gBrowser.loadURI("about:logo");
waitForExplicitFinish();
}