gecko/xpcom/io/nsILocalFileWin.idl
Ehsan Akhgari 904efc4f7a Bug 307181 - Stage Firefox updates in the background after they're downloaded, and replace the application directory on restart; r=rstrong,bbondy
When Firefox downloads an update, it previously kept the update around to apply
it on the next restart.  This patch changes this so that the updater program
is launched in the background as soon as the update has finished downloading
in order to stage the updated version of the application by copying the
existing installation directory to a temporary location and applying the update
on top of it, and replace the existing installation directory with the staged
directory on the next restart.

Because the replacing step is typically very fast, this patch eliminates the
wait for the update to be applied on restart, making it unnecessary to show a
progress dialog when restarting.

--HG--
rename : toolkit/mozapps/update/test/chrome/test_0092_finishedBackground.xul => toolkit/mozapps/update/test/chrome/test_0093_stagedBackground.xul
rename : toolkit/mozapps/update/test/unit/test_0110_general.js => toolkit/mozapps/update/test/unit/test_0113_general.js
rename : toolkit/mozapps/update/test/unit/test_0111_general.js => toolkit/mozapps/update/test/unit/test_0114_general.js
rename : toolkit/mozapps/update/test/unit/test_0112_general.js => toolkit/mozapps/update/test/unit/test_0115_general.js
rename : toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0172_fileLocked_xp_win_complete.js
rename : toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test/unit/test_0173_fileLocked_xp_win_partial.js
rename : toolkit/mozapps/update/test/unit/test_0110_general.js => toolkit/mozapps/update/test_svc/unit/test_0113_general_svc.js
rename : toolkit/mozapps/update/test/unit/test_0111_general.js => toolkit/mozapps/update/test_svc/unit/test_0114_general_svc.js
rename : toolkit/mozapps/update/test/unit/test_0112_general.js => toolkit/mozapps/update/test_svc/unit/test_0115_general_svc.js
rename : toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test_svc/unit/test_0172_fileLocked_xp_win_complete_svc.js
rename : toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test_svc/unit/test_0173_fileLocked_xp_win_partial_svc.js
2012-05-22 10:50:04 -04:00

99 lines
3.7 KiB
Plaintext

/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* 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 "nsILocalFile.idl"
[scriptable, uuid(c7b3fd13-30f2-46e5-a0d9-7a79a9b73c5b)]
interface nsILocalFileWin : nsILocalFile
{
/**
* getVersionInfoValue
*
* Retrieve a metadata field from the file's VERSIONINFO block.
* Throws NS_ERROR_FAILURE if no value is found, or the value is empty.
*
* @param aField The field to look up.
*
*/
AString getVersionInfoField(in string aField);
/**
* The canonical path of the file, which avoids short/long
* pathname inconsistencies. The nsILocalFile persistent
* descriptor is not guaranteed to be canonicalized (it may
* persist either the long or the short path name). The format of
* the canonical path will vary with the underlying file system:
* it will typically be the short pathname on filesystems that
* support both short and long path forms.
*/
readonly attribute AString canonicalPath;
[noscript] readonly attribute ACString nativeCanonicalPath;
/**
* Windows specific file attributes.
*/
/*
* WFA_SEARCH_INDEXED: Generally the default on files in Windows except
* those created in temp locations. Valid on XP and up. When set the
* file or directory is marked to be indexed by desktop search services.
*/
const unsigned long WFA_SEARCH_INDEXED = 1;
/*
* WFA_READONLY: Whether the file is readonly or not.
*/
const unsigned long WFA_READONLY = 2;
/*
* WFA_READWRITE: Used to clear the readonly attribute.
*/
const unsigned long WFA_READWRITE = 4;
/**
* fileAttributesWin
*
* Set or get windows specific file attributes.
*
* Throws NS_ERROR_FILE_INVALID_PATH for an invalid file.
* Throws NS_ERROR_FAILURE if the set or get fails.
*/
attribute unsigned long fileAttributesWin;
/**
* setShortcut
*
* Creates the specified shortcut, or updates it if it already exists.
*
* If the shortcut is being updated (i.e. the shortcut already exists),
* any excluded parameters will remain unchanged in the shortcut file.
* For example, if you want to change the description of a specific
* shortcut but keep the target, working dir, args, and icon the same,
* pass null for those parameters and only pass in a value for the
* description.
*
* If the shortcut does not already exist and targetFile is not specified,
* setShortcut will throw NS_ERROR_FILE_TARGET_DOES_NOT_EXIST.
*
* @param targetFile the path that the shortcut should target
* @param workingDir the working dir that should be set for the shortcut
* @param args the args string that should be set for the shortcut
* @param description the description that should be set for the shortcut
* @param iconFile the file containing an icon to be used for this
shortcut
* @param iconIndex this value selects a specific icon from within
iconFile. If iconFile contains only one icon, this
value should be 0.
*/
void setShortcut([optional] in nsILocalFile targetFile,
[optional] in nsILocalFile workingDir,
[optional] in wstring args,
[optional] in wstring description,
[optional] in nsILocalFile iconFile,
[optional] in long iconIndex);
};