2012-05-21 15:12:37 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2011-10-15 11:33:26 +04:00
|
|
|
|
2000-11-09 23:30:35 +03:00
|
|
|
#include "nsISupports.idl"
|
Landing the XPCDOM_20010329_BRANCH branch, changes mostly done by jband@netscape.com and jst@netscape.com, also some changes done by shaver@mozilla.org, peterv@netscape.com and markh@activestate.com. r= and sr= by vidur@netscape.com, jband@netscape.com, jst@netscpae.com, danm@netscape.com, hyatt@netscape.com, shaver@mozilla.org, dbradley@netscape.com, rpotts@netscape.com.
2001-05-08 20:46:42 +04:00
|
|
|
|
|
|
|
interface nsIDOMDocument;
|
2005-05-05 00:22:32 +04:00
|
|
|
interface nsISHEntry;
|
2006-04-01 05:19:28 +04:00
|
|
|
interface nsIPrintSettings;
|
Landing the XPCDOM_20010329_BRANCH branch, changes mostly done by jband@netscape.com and jst@netscape.com, also some changes done by shaver@mozilla.org, peterv@netscape.com and markh@activestate.com. r= and sr= by vidur@netscape.com, jband@netscape.com, jst@netscpae.com, danm@netscape.com, hyatt@netscape.com, shaver@mozilla.org, dbradley@netscape.com, rpotts@netscape.com.
2001-05-08 20:46:42 +04:00
|
|
|
|
2000-11-09 23:30:35 +03:00
|
|
|
|
|
|
|
%{ C++
|
2001-07-16 06:40:48 +04:00
|
|
|
class nsIWidget;
|
2010-01-23 14:41:41 +03:00
|
|
|
class nsIDocument;
|
2009-01-15 06:27:09 +03:00
|
|
|
struct nsIntRect;
|
2011-10-15 11:33:26 +04:00
|
|
|
class nsIPresShell;
|
|
|
|
class nsPresContext;
|
|
|
|
class nsIView;
|
|
|
|
class nsDOMNavigationTiming;
|
2000-11-09 23:30:35 +03:00
|
|
|
%}
|
|
|
|
|
|
|
|
[ptr] native nsIWidgetPtr(nsIWidget);
|
2010-01-23 14:41:41 +03:00
|
|
|
[ptr] native nsIDocumentPtr(nsIDocument);
|
2009-01-15 06:27:09 +03:00
|
|
|
[ref] native nsIntRectRef(nsIntRect);
|
2011-10-15 11:33:26 +04:00
|
|
|
[ptr] native nsIPresShellPtr(nsIPresShell);
|
|
|
|
[ptr] native nsPresContextPtr(nsPresContext);
|
|
|
|
[ptr] native nsIViewPtr(nsIView);
|
|
|
|
[ptr] native nsDOMNavigationTimingPtr(nsDOMNavigationTiming);
|
2000-11-09 23:30:35 +03:00
|
|
|
|
2011-10-15 11:33:26 +04:00
|
|
|
[scriptable, builtinclass, uuid(26b2380b-4a1a-46cd-b7d8-7600e41c1688)]
|
2000-11-09 23:30:35 +03:00
|
|
|
interface nsIContentViewer : nsISupports
|
|
|
|
{
|
|
|
|
|
|
|
|
[noscript] void init(in nsIWidgetPtr aParentWidget,
|
2009-01-15 06:27:09 +03:00
|
|
|
[const] in nsIntRectRef aBounds);
|
2000-11-09 23:30:35 +03:00
|
|
|
|
|
|
|
attribute nsISupports container;
|
|
|
|
|
2001-05-25 12:49:03 +04:00
|
|
|
void loadStart(in nsISupports aDoc);
|
2000-11-09 23:30:35 +03:00
|
|
|
void loadComplete(in unsigned long aStatus);
|
2009-10-20 18:19:43 +04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks if the document wants to prevent unloading by firing beforeunload on
|
|
|
|
* the document, and if it does, prompts the user. The result is returned.
|
|
|
|
*
|
|
|
|
* @param aCallerClosesWindow indicates that the current caller will close the
|
|
|
|
* window. If the method returns true, all subsequent calls will be
|
|
|
|
* ignored.
|
|
|
|
*/
|
|
|
|
boolean permitUnload([optional] in boolean aCallerClosesWindow);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Works in tandem with permitUnload, if the caller decides not to close the
|
|
|
|
* window it indicated it will, it is the caller's responsibility to reset
|
|
|
|
* that with this method.
|
|
|
|
*
|
|
|
|
* @Note this method is only meant to be called on documents for which the
|
|
|
|
* caller has indicated that it will close the window. If that is not the case
|
|
|
|
* the behavior of this method is undefined.
|
|
|
|
*/
|
|
|
|
void resetCloseWindow();
|
2005-06-16 03:52:46 +04:00
|
|
|
void pageHide(in boolean isUnload);
|
2001-05-25 12:49:03 +04:00
|
|
|
|
2001-08-01 07:15:50 +04:00
|
|
|
/**
|
|
|
|
* 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.
|
2005-05-18 07:52:33 +04:00
|
|
|
*
|
|
|
|
* |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.
|
|
|
|
*
|
2001-08-01 07:15:50 +04:00
|
|
|
*/
|
2005-05-18 07:52:33 +04:00
|
|
|
void close(in nsISHEntry historyEntry);
|
2000-11-09 23:30:35 +03:00
|
|
|
void destroy();
|
2001-08-01 07:15:50 +04:00
|
|
|
|
2000-11-09 23:30:35 +03:00
|
|
|
void stop();
|
|
|
|
|
|
|
|
attribute nsIDOMDocument DOMDocument;
|
|
|
|
|
2010-01-23 14:41:41 +03:00
|
|
|
/**
|
|
|
|
* Returns DOMDocument as nsIDocument and without addrefing.
|
|
|
|
*/
|
|
|
|
[noscript,notxpcom] nsIDocumentPtr getDocument();
|
|
|
|
|
2009-01-15 06:27:09 +03:00
|
|
|
[noscript] void getBounds(in nsIntRectRef aBounds);
|
|
|
|
[noscript] void setBounds([const] in nsIntRectRef aBounds);
|
2000-11-09 23:30:35 +03:00
|
|
|
|
2001-08-01 07:15:50 +04:00
|
|
|
/**
|
|
|
|
* The previous content viewer, which has been |close|d but not
|
|
|
|
* |destroy|ed.
|
|
|
|
*/
|
|
|
|
[noscript] attribute nsIContentViewer previousViewer;
|
2001-05-02 02:54:11 +04:00
|
|
|
|
2000-11-09 23:30:35 +03:00
|
|
|
void move(in long aX, in long aY);
|
|
|
|
|
|
|
|
void show();
|
|
|
|
void hide();
|
|
|
|
|
2002-04-24 04:33:56 +04:00
|
|
|
attribute boolean sticky;
|
2003-09-27 01:45:15 +04:00
|
|
|
|
|
|
|
/*
|
|
|
|
* 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();
|
2005-05-05 00:22:32 +04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Attach the content viewer to its DOM window and docshell.
|
2005-08-15 22:16:42 +04:00
|
|
|
* @param aState A state object that might be useful in attaching the DOM
|
|
|
|
* window.
|
2006-08-06 22:50:17 +04:00
|
|
|
* @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.
|
2005-05-05 00:22:32 +04:00
|
|
|
*/
|
2005-11-06 22:23:03 +03:00
|
|
|
void open(in nsISupports aState, in nsISHEntry aSHEntry);
|
2005-05-05 00:22:32 +04:00
|
|
|
|
|
|
|
/**
|
2005-05-18 07:52:33 +04:00
|
|
|
* Clears the current history entry. This is used if we need to clear out
|
|
|
|
* the saved presentation state.
|
2005-05-05 00:22:32 +04:00
|
|
|
*/
|
2005-05-18 07:52:33 +04:00
|
|
|
void clearHistoryEntry();
|
2006-04-01 05:19:28 +04:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Change the layout to view the document with page layout (like print preview), but
|
|
|
|
* dynamic and editable (like Galley layout).
|
|
|
|
*/
|
2011-08-07 09:03:32 +04:00
|
|
|
void setPageMode(in boolean aPageMode, in nsIPrintSettings aPrintSettings);
|
2007-10-06 04:35:00 +04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the history entry that this viewer will save itself into when
|
|
|
|
* destroyed. Can return null
|
|
|
|
*/
|
|
|
|
readonly attribute nsISHEntry historyEntry;
|
2011-02-16 03:35:28 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Indicates when we're in a state where content shouldn't be allowed to
|
|
|
|
* trigger a tab-modal prompt (as opposed to a window-modal prompt) because
|
|
|
|
* we're part way through some operation (eg beforeunload) that shouldn't be
|
|
|
|
* rentrant if the user closes the tab while the prompt is showing.
|
|
|
|
* See bug 613800.
|
|
|
|
*/
|
|
|
|
readonly attribute boolean isTabModalPromptAllowed;
|
2011-10-15 11:33:26 +04:00
|
|
|
|
|
|
|
[noscript] readonly attribute nsIPresShellPtr presShell;
|
|
|
|
[noscript] readonly attribute nsPresContextPtr presContext;
|
|
|
|
[noscript] void setDocumentInternal(in nsIDocumentPtr aDocument,
|
|
|
|
in boolean aForceReuseInnerWindow);
|
|
|
|
/**
|
|
|
|
* Find the view to use as the container view for MakeWindow. Returns
|
|
|
|
* null if this will be the root of a view manager hierarchy. In that
|
|
|
|
* case, if mParentWidget is null then this document should not even
|
|
|
|
* be displayed.
|
|
|
|
*/
|
|
|
|
[noscript,notxpcom,nostdcall] nsIViewPtr findContainerView();
|
|
|
|
/**
|
|
|
|
* Set collector for navigation timing data (load, unload events).
|
|
|
|
*/
|
|
|
|
[noscript,notxpcom,nostdcall] void setNavigationTiming(in nsDOMNavigationTimingPtr aTiming);
|
2011-02-16 03:35:28 +03:00
|
|
|
};
|