Backed out changeset 63c50fd60ae4 (bug 1485305) Backed out changeset bf0f2adb765e (bug 1485305) Backed out changeset 721871bb64f1 (bug 1485305) Backed out changeset e9da73786c5f (bug 1485305) Backed out changeset e02038177b6b (bug 1485305) Backed out changeset 35bd32f99f60 (bug 1485305) Backed out changeset f40900bf8621 (bug 1485305) Backed out changeset 03632075ac2c (bug 1485305) Backed out changeset 2fee48378f73 (bug 1485305) Backed out changeset 6263695b3cb8 (bug 1485305)
65 lines
2.1 KiB
JavaScript
65 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();
|
|
}
|