#include "nsISupports.idl" interface nsIDOMDocument; %{ C++ class nsIWidget; class nsIDeviceContext; struct nsRect; %} [ptr] native nsIWidgetPtr(nsIWidget); [ptr] native nsIDeviceContextPtr(nsIDeviceContext); [ref] native nsRectRef(nsRect); [scriptable, uuid(a6cf9056-15b3-11d2-932e-00805f8add32)] 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); void unload(); /** * 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. */ void close(); 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; };