#include "nsISupports.idl" interface nsIDOMDocument; interface nsISHEntry; %{ C++ class nsIWidget; class nsIDeviceContext; struct nsRect; %} [ptr] native nsIWidgetPtr(nsIWidget); [ptr] native nsIDeviceContextPtr(nsIDeviceContext); [ref] native nsRectRef(nsRect); [scriptable, uuid(6a7ddb40-8a9e-4576-8ad1-71c5641d8780)] interface nsIContentViewer : nsISupports { [noscript] void init(in nsIWidgetPtr aParentWidget, in nsIDeviceContextPtr aDeviceContext, [const] in nsRectRef aBounds); attribute nsISupports container; void loadStart(in nsISupports aDoc); void loadComplete(in unsigned long aStatus); boolean permitUnload(); void pageHide(in boolean isUnload); /** * All users of a content viewer are responsible for calling both * close() and destroy(), in that order. * * close() should be called when the load of a new page for the next * content viewer begins, and destroy() should be called when the next * content viewer replaces this one. * * |historyEntry| sets the session history entry for the content viewer. If * this is null, then Destroy() will be called on the document by close(). * If it is non-null, the document will not be destroyed, and the following * actions will happen when destroy() is called (*): * - Sanitize() will be called on the viewer's document * - The content viewer will set the contentViewer property on the * history entry, and release its reference (ownership reversal). * - hide() will be called, and no further destruction will happen. * * (*) unless the document is currently being printed, in which case * it will never be saved in session history. * */ void close(in nsISHEntry historyEntry); void destroy(); void stop(); attribute nsIDOMDocument DOMDocument; [noscript] void getBounds(in nsRectRef aBounds); [noscript] void setBounds([const] in nsRectRef aBounds); /** * The previous content viewer, which has been |close|d but not * |destroy|ed. */ [noscript] attribute nsIContentViewer previousViewer; void move(in long aX, in long aY); void show(); void hide(); attribute boolean enableRendering; attribute boolean sticky; /* * This is called when the DOM window wants to be closed. Returns true * if the window can close immediately. Otherwise, returns false and will * close the DOM window as soon as practical. */ boolean requestWindowClose(); /** * Attach the content viewer to its DOM window and docshell. * @param aState A state object that might be useful in attaching the DOM * window. */ void open(in nsISupports aState); /** * Clears the current history entry. This is used if we need to clear out * the saved presentation state. */ void clearHistoryEntry(); }; [scriptable, uuid(51341ed4-a3bf-4fd5-ae17-5fd3ec59dcab)] interface nsIContentViewer_MOZILLA_1_8_BRANCH : nsISupports { /** * Attach the content viewer to its DOM window and docshell. * @param aState A state object that might be useful in attaching the DOM * window. * @param aSHEntry The history entry that the content viewer was stored in. * The entry must have the docshells for all of the child * documents stored in its child shell list. */ void openWithEntry(in nsISupports aState, in nsISHEntry aSHEntry); }; [scriptable, uuid(ff091bb3-596f-4f28-9de7-96b03b05d984)] interface nsIContentViewer_MOZILLA_1_8_BRANCH2 : nsISupports { /** * Get the history entry that this viewer will save itself into when * destroyed. Can return null */ readonly attribute nsISHEntry historyEntry; };