RetroZilla/docshell/base/nsIContentViewer.idl
2015-10-20 23:03:22 -04:00

124 lines
3.7 KiB
Plaintext

#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;
};