gecko-dev/toolkit/xre/nsINativeAppSupport.idl
Dave Townsend 4c063a43a7 Bug 1533708: Properly shut down the remote service before launching Firefox again. r=jmathies
The main changes here are to stop checking if we're shutting down when we
already know we are shutting down and making sure the windows remote server
shuts down properly.

I also spotted that nsINativeAppSupport.quit is now unused so I removed it.

Differential Revision: https://phabricator.services.mozilla.com/D22771

--HG--
extra : moz-landing-system : lando
2019-03-11 14:58:08 +00:00

58 lines
2.4 KiB
Plaintext

/* -*- 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"
/* nsINativeAppSupport
*
* This "pseudo" (in the XPCOM sense) interface provides for
* platform-specific general application support
*
* Due to the nature of the beast, this interface is not a full-blown
* XPCOM component. The primary reason is that objects that implement
* this interface generally must be operational *before* XPCOM (or any
* of the rest of Mozilla) are initialized. As a result, this
* interface is instantiated by somewhat unconventional means.
*
* To create the implementor of this interface, you call the function
* NS_CreateNativeAppSupport. This is done in the startup code
* in nsAppRunner.cpp
*
* The interface provides these functions:
* start - You call this to inform the native app support that the
* application is starting. In addition, it serves as a
* query as to whether the application should continue to
* run.
*
* If the returned boolean result is PR_FALSE, then the
* application should exit without further processing. In
* such cases, the returned nsresult indicates whether the
* reason to exit is due to an error or not.
*
* Win32 Note: In the case of starting a second instance
* of this executable, this function will return
* PR_FALSE and nsresult==NS_OK. This means that
* the command line arguments have been
* successfully passed to the instance of the
* application acting as a remote server.
* quit - Informs the native app support that the application is stopping. The
* app support should disable any functionality enabled by start.
*
* onLastWindowClosing - Called when the last window is closed. Used as a
* "soft" shutdown, passwords are flushed.
*/
interface nsIXULWindow;
[scriptable, uuid(5fdf8480-1f98-11d4-8077-00600811a9c3)]
interface nsINativeAppSupport : nsISupports {
// Startup/shutdown.
boolean start();
void enable();
void onLastWindowClosing();
void ReOpen();
};