/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIFile; webidl Element; [scriptable, uuid(2d1a95e4-5bd8-4eeb-b0a8-c1455fd2a357)] interface nsIShellService : nsISupports { /** * Determines whether or not Firefox is the "Default Browser." * This is simply whether or not Firefox is registered to handle * http links. * * @param aForAllTypes true if the check should be made for HTTP and HTML. * false if the check should be made for HTTP only. * This parameter may be ignored on some platforms. */ boolean isDefaultBrowser([optional] in boolean aForAllTypes); /** * Registers Firefox as the "Default Browser." * * @param aClaimAllTypes Register Firefox as the handler for * additional protocols (chrome etc) * and web documents (.html, .xhtml etc). * @param aForAllUsers Whether or not Firefox should attempt * to become the default browser for all * users on a multi-user system. */ void setDefaultBrowser(in boolean aClaimAllTypes, in boolean aForAllUsers); /** * Flags for positioning/sizing of the Desktop Background image. */ const long BACKGROUND_TILE = 1; const long BACKGROUND_STRETCH = 2; const long BACKGROUND_CENTER = 3; const long BACKGROUND_FILL = 4; const long BACKGROUND_FIT = 5; const long BACKGROUND_SPAN = 6; /** * Sets the desktop background image using either the HTML * element supplied or the background image of the element supplied. * * @param aImageElement Either a HTML element or an element with * a background image from which to source the * background image. * @param aPosition How to place the image on the desktop * @param aImageName The image name. Equivalent to the leaf name of the * location.href. */ void setDesktopBackground(in Element aElement, in long aPosition, in ACString aImageName); /** * The desktop background color, visible when no background image is * used, or if the background image is centered and does not fill the * entire screen. A rgb value, where (r << 16 | g << 8 | b) */ attribute unsigned long desktopBackgroundColor; };