1/* -*- Mode: IDL; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7#include "nsISupports.idl" 8 9interface nsIWebBrowserPersistDocumentReceiver; 10 11/** 12 * Interface for objects which represent a document that can be 13 * serialized with nsIWebBrowserPersist. This interface is 14 * asynchronous because the actual document can be in another process 15 * (e.g., if this object is an nsFrameLoader for an out-of-process 16 * frame). 17 * 18 * Warning: this is currently implemented only by nsFrameLoader, and 19 * may change in the future to become more frame-loader-specific or be 20 * merged into nsIFrameLoader. See bug 1101100 comment #34. 21 * 22 * @see nsIWebBrowserPersistDocumentReceiver 23 * @see nsIWebBrowserPersistDocument 24 * @see nsIWebBrowserPersist 25 * 26 * @param aOuterWindowID 27 * The outer window ID of the subframe we'd like to persist. 28 * If set at 0, nsIWebBrowserPersistable will attempt to persist 29 * the top-level document. If the outer window ID is for a subframe 30 * that does not exist, or is not held beneath the nsIWebBrowserPersistable, 31 * aRecv's onError method will be called with NS_ERROR_NO_CONTENT. 32 * @param aRecv 33 * The nsIWebBrowserPersistDocumentReceiver is a callback that 34 * will be fired once the document is ready for persisting. 35 */ 36[uuid(f4c3fa8e-83e9-49f8-ac6f-951fc7541fe4)] 37interface nsIWebBrowserPersistable : nsISupports 38{ 39 void startPersistence(in unsigned long long aOuterWindowID, 40 in nsIWebBrowserPersistDocumentReceiver aRecv); 41}; 42