summaryrefslogtreecommitdiffstats
path: root/components/sessionstore/nsISessionStore.idl
diff options
context:
space:
mode:
Diffstat (limited to 'components/sessionstore/nsISessionStore.idl')
-rw-r--r--components/sessionstore/nsISessionStore.idl206
1 files changed, 0 insertions, 206 deletions
diff --git a/components/sessionstore/nsISessionStore.idl b/components/sessionstore/nsISessionStore.idl
deleted file mode 100644
index 0490772..0000000
--- a/components/sessionstore/nsISessionStore.idl
+++ /dev/null
@@ -1,206 +0,0 @@
-/* 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 nsIDOMWindow;
-interface nsIDOMNode;
-
-/**
- * nsISessionStore keeps track of the current browsing state - i.e.
- * tab history, cookies, scroll state, form data, POSTDATA and window features
- * - and allows to restore everything into one browser window.
- *
- * The nsISessionStore API operates mostly on browser windows and the tabbrowser
- * tabs contained in them:
- *
- * * "Browser windows" are those DOM windows having loaded
- * chrome://browser/content/browser.xul . From overlays you can just pass the
- * global |window| object to the API, though (or |top| from a sidebar).
- * From elsewhere you can get browser windows through the nsIWindowMediator
- * by looking for "navigator:browser" windows.
- *
- * * "Tabbrowser tabs" are all the child nodes of a browser window's
- * |gBrowser.tabContainer| such as e.g. |gBrowser.selectedTab|.
- */
-
-[scriptable, uuid(43ec216b-f002-4424-bfc5-fc555c87dbc4)]
-interface nsISessionStore : nsISupports
-{
- /**
- * Initialize the service
- */
- jsval init(in nsIDOMWindow aWindow);
-
- /**
- * Is it possible to restore the previous session. Will always be false when
- * in Private Browsing mode.
- */
- attribute boolean canRestoreLastSession;
-
- /**
- * Restore the previous session if possible. This will not overwrite the
- * current session. Instead the previous session will be merged into the
- * current session. Current windows will be reused if they were windows that
- * pinned tabs were previously restored into. New windows will be opened as
- * needed.
- *
- * Note: This will throw if there is no previous state to restore. Check with
- * canRestoreLastSession first to avoid thrown errors.
- */
- void restoreLastSession();
-
- /**
- * Get the current browsing state.
- * @returns a JSON string representing the session state.
- */
- AString getBrowserState();
-
- /**
- * Set the browsing state.
- * This will immediately restore the state of the whole application to the state
- * passed in, *replacing* the current session.
- *
- * @param aState is a JSON string representing the session state.
- */
- void setBrowserState(in AString aState);
-
- /**
- * @param aWindow is the browser window whose state is to be returned.
- *
- * @returns a JSON string representing a session state with only one window.
- */
- AString getWindowState(in nsIDOMWindow aWindow);
-
- /**
- * @param aWindow is the browser window whose state is to be set.
- * @param aState is a JSON string representing a session state.
- * @param aOverwrite boolean overwrite existing tabs
- */
- void setWindowState(in nsIDOMWindow aWindow, in AString aState, in boolean aOverwrite);
-
- /**
- * @param aTab is the tabbrowser tab whose state is to be returned.
- *
- * @returns a JSON string representing the state of the tab
- * (note: doesn't contain cookies - if you need them, use getWindowState instead).
- */
- AString getTabState(in nsIDOMNode aTab);
-
- /**
- * @param aTab is the tabbrowser tab whose state is to be set.
- * @param aState is a JSON string representing a session state.
- */
- void setTabState(in nsIDOMNode aTab, in AString aState);
-
- /**
- * Duplicates a given tab as thoroughly as possible.
- *
- * @param aWindow is the browser window into which the tab will be duplicated.
- * @param aTab is the tabbrowser tab to duplicate (can be from a different window).
- * @param aDelta is the offset to the history entry to load in the duplicated tab.
- * @returns a reference to the newly created tab.
- */
- nsIDOMNode duplicateTab(in nsIDOMWindow aWindow, in nsIDOMNode aTab,
- [optional] in long aDelta);
-
- /**
- * Get the number of restore-able tabs for a browser window
- */
- unsigned long getClosedTabCount(in nsIDOMWindow aWindow);
-
- /**
- * Get closed tab data
- *
- * @param aWindow is the browser window for which to get closed tab data
- * @returns a JSON string representing the list of closed tabs.
- */
- AString getClosedTabData(in nsIDOMWindow aWindow);
-
- /**
- * @param aWindow is the browser window to reopen a closed tab in.
- * @param aIndex is the index of the tab to be restored (FIFO ordered).
- * @returns a reference to the reopened tab.
- */
- nsIDOMNode undoCloseTab(in nsIDOMWindow aWindow, in unsigned long aIndex);
-
- /**
- * @param aWindow is the browser window associated with the closed tab.
- * @param aIndex is the index of the closed tab to be removed (FIFO ordered).
- */
- nsIDOMNode forgetClosedTab(in nsIDOMWindow aWindow, in unsigned long aIndex);
-
- /**
- * Get the number of restore-able windows
- */
- unsigned long getClosedWindowCount();
-
- /**
- * Get closed windows data
- *
- * @returns a JSON string representing the list of closed windows.
- */
- AString getClosedWindowData();
-
- /**
- * @param aIndex is the index of the windows to be restored (FIFO ordered).
- * @returns the nsIDOMWindow object of the reopened window
- */
- nsIDOMWindow undoCloseWindow(in unsigned long aIndex);
-
- /**
- * @param aIndex is the index of the closed window to be removed (FIFO ordered).
- *
- * @throws NS_ERROR_INVALID_ARG
- * when aIndex does not map to a closed window
- */
- nsIDOMNode forgetClosedWindow(in unsigned long aIndex);
-
- /**
- * @param aWindow is the window to get the value for.
- * @param aKey is the value's name.
- *
- * @returns A string value or an empty string if none is set.
- */
- AString getWindowValue(in nsIDOMWindow aWindow, in AString aKey);
-
- /**
- * @param aWindow is the browser window to set the value for.
- * @param aKey is the value's name.
- * @param aStringValue is the value itself (use JSON.stringify/parse before setting JS objects).
- */
- void setWindowValue(in nsIDOMWindow aWindow, in AString aKey, in AString aStringValue);
-
- /**
- * @param aWindow is the browser window to get the value for.
- * @param aKey is the value's name.
- */
- void deleteWindowValue(in nsIDOMWindow aWindow, in AString aKey);
-
- /**
- * @param aTab is the tabbrowser tab to get the value for.
- * @param aKey is the value's name.
- *
- * @returns A string value or an empty string if none is set.
- */
- AString getTabValue(in nsIDOMNode aTab, in AString aKey);
-
- /**
- * @param aTab is the tabbrowser tab to set the value for.
- * @param aKey is the value's name.
- * @param aStringValue is the value itself (use JSON.stringify/parse before setting JS objects).
- */
- void setTabValue(in nsIDOMNode aTab, in AString aKey, in AString aStringValue);
-
- /**
- * @param aTab is the tabbrowser tab to get the value for.
- * @param aKey is the value's name.
- */
- void deleteTabValue(in nsIDOMNode aTab, in AString aKey);
-
- /**
- * @param aName is the name of the attribute to save/restore for all tabbrowser tabs.
- */
- void persistTabAttribute(in AString aName);
-};