author jason
Fri, 13 Jul 2007 08:23:32 -0400
changeset 2446 178218b863ec7a1c4e72b72ce2dc7090ac89617b
parent 1 9b2a99adc05e53cd4010de512f50118594756650
child 6685 6079bed5c21fcd9f29c87a754e032f9c258a926c
permissions -rw-r--r--
Bug 386806 - script pulls from mozilla-central by default (r=luser)

#include "nsISupports.idl"

interface nsIDOMDocument;
interface nsISHEntry;
interface nsIPrintSettings;

%{ C++
class nsIWidget;
class nsIDeviceContext;
struct nsRect;

[ptr] native nsIWidgetPtr(nsIWidget);
[ptr] native nsIDeviceContextPtr(nsIDeviceContext);
[ref] native nsRectRef(nsRect);

[scriptable, uuid(1d587109-9df7-4614-9a96-309902269e9e)]
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.
   * @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);