2007-03-22 10:30:00 -07:00
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
interface nsIDOMDocument;
|
|
|
|
interface nsISHEntry;
|
|
|
|
interface nsIPrintSettings;
|
|
|
|
|
|
|
|
|
|
|
|
%{ C++
|
|
|
|
class nsIWidget;
|
|
|
|
struct nsRect;
|
|
|
|
%}
|
|
|
|
|
|
|
|
[ptr] native nsIWidgetPtr(nsIWidget);
|
|
|
|
[ref] native nsRectRef(nsRect);
|
|
|
|
|
2008-08-18 12:22:19 -07:00
|
|
|
[scriptable, uuid(05b290ac-d880-4900-bb1f-2211b5f8accc)]
|
2007-03-22 10:30:00 -07:00
|
|
|
interface nsIContentViewer : nsISupports
|
|
|
|
{
|
|
|
|
|
|
|
|
[noscript] void init(in nsIWidgetPtr aParentWidget,
|
|
|
|
[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.
|
|
|
|
* @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 open(in nsISupports aState, in nsISHEntry aSHEntry);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Clears the current history entry. This is used if we need to clear out
|
|
|
|
* the saved presentation state.
|
|
|
|
*/
|
|
|
|
void clearHistoryEntry();
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Change the layout to view the document with page layout (like print preview), but
|
|
|
|
* dynamic and editable (like Galley layout).
|
|
|
|
*/
|
|
|
|
void setPageMode(in PRBool aPageMode, in nsIPrintSettings aPrintSettings);
|
2007-10-05 17:35:00 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the history entry that this viewer will save itself into when
|
|
|
|
* destroyed. Can return null
|
|
|
|
*/
|
|
|
|
readonly attribute nsISHEntry historyEntry;
|
2007-03-22 10:30:00 -07:00
|
|
|
};
|