mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 15:15:23 +00:00
ea3f47855d
From 243232f7d2522e82622c031923271ed76ffdc42a Mon Sep 17 00:00:00 2001
67 lines
2.4 KiB
Plaintext
67 lines
2.4 KiB
Plaintext
/* 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"
|
|
|
|
/**
|
|
* nsISessionStore keeps track of the current browsing state - i.e.
|
|
* tab history, cookies, scroll state, form data, and window features
|
|
* - and allows to restore everything into one window.
|
|
*/
|
|
|
|
[scriptable, uuid(934697e4-3807-47f8-b6c9-6caa8d83ccd1)]
|
|
interface nsISessionStartup: nsISupports
|
|
{
|
|
/**
|
|
* Return a promise that is resolved once initialization
|
|
* is complete.
|
|
*/
|
|
readonly attribute jsval onceInitialized;
|
|
|
|
// Get session state
|
|
readonly attribute jsval state;
|
|
|
|
/**
|
|
* Determines whether there is a pending session restore. Should only be
|
|
* called after initialization has completed.
|
|
*/
|
|
boolean doRestore();
|
|
|
|
/**
|
|
* Determines whether automatic session restoration is enabled for this
|
|
* launch of the browser. This does not include crash restoration, and will
|
|
* return false if restoration will only be caused by a crash.
|
|
*/
|
|
boolean isAutomaticRestoreEnabled();
|
|
|
|
/**
|
|
* Returns whether we will restore a session that ends up replacing the
|
|
* homepage. The browser uses this to not start loading the homepage if
|
|
* we're going to stop its load anyway shortly after.
|
|
*
|
|
* This is meant to be an optimization for the average case that loading the
|
|
* session file finishes before we may want to start loading the default
|
|
* homepage. Should this be called before the session file has been read it
|
|
* will just return false.
|
|
*/
|
|
readonly attribute bool willOverrideHomepage;
|
|
|
|
/**
|
|
* What type of session we're restoring.
|
|
* NO_SESSION There is no data available from the previous session
|
|
* RECOVER_SESSION The last session crashed. It will either be restored or
|
|
* about:sessionrestore will be shown.
|
|
* RESUME_SESSION The previous session should be restored at startup
|
|
* DEFER_SESSION The previous session is fine, but it shouldn't be restored
|
|
* without explicit action (with the exception of pinned tabs)
|
|
*/
|
|
const unsigned long NO_SESSION = 0;
|
|
const unsigned long RECOVER_SESSION = 1;
|
|
const unsigned long RESUME_SESSION = 2;
|
|
const unsigned long DEFER_SESSION = 3;
|
|
|
|
readonly attribute unsigned long sessionType;
|
|
readonly attribute bool previousSessionCrashed;
|
|
};
|