NO CODE CHANGES. Headers reformatted to remove ugly 2/3/4 tab/space indentation mess. b=66434
git-svn-id: svn://10.0.0.236/trunk@93269 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
@@ -77,28 +77,28 @@
|
||||
|
||||
/* load commands */
|
||||
enum LoadCmd {
|
||||
LOAD_CMD_NORMAL = 0x1, // Normal load
|
||||
LOAD_CMD_RELOAD = 0x2, // Reload
|
||||
LOAD_CMD_HISTORY = 0x4 // Load from history
|
||||
LOAD_CMD_NORMAL = 0x1, // Normal load
|
||||
LOAD_CMD_RELOAD = 0x2, // Reload
|
||||
LOAD_CMD_HISTORY = 0x4 // Load from history
|
||||
};
|
||||
|
||||
/* load types are legal combinations of load commands and flags*/
|
||||
/* load types are legal combinations of load commands and flags */
|
||||
enum LoadType {
|
||||
LOAD_NORMAL = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_NONE),
|
||||
LOAD_NORMAL_REPLACE = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_REPLACE_HISTORY),
|
||||
LOAD_HISTORY = MAKE_LOAD_TYPE(LOAD_CMD_HISTORY, nsIWebNavigation::LOAD_FLAGS_NONE),
|
||||
LOAD_RELOAD_NORMAL = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_NONE),
|
||||
LOAD_RELOAD_BYPASS_CACHE = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE),
|
||||
LOAD_RELOAD_BYPASS_PROXY = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY),
|
||||
LOAD_RELOAD_BYPASS_PROXY_AND_CACHE = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE | nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY),
|
||||
LOAD_LINK = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_IS_LINK),
|
||||
LOAD_REFRESH = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_IS_REFRESH)
|
||||
LOAD_NORMAL = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_NONE),
|
||||
LOAD_NORMAL_REPLACE = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_REPLACE_HISTORY),
|
||||
LOAD_HISTORY = MAKE_LOAD_TYPE(LOAD_CMD_HISTORY, nsIWebNavigation::LOAD_FLAGS_NONE),
|
||||
LOAD_RELOAD_NORMAL = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_NONE),
|
||||
LOAD_RELOAD_BYPASS_CACHE = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE),
|
||||
LOAD_RELOAD_BYPASS_PROXY = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY),
|
||||
LOAD_RELOAD_BYPASS_PROXY_AND_CACHE = MAKE_LOAD_TYPE(LOAD_CMD_RELOAD, nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE | nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY),
|
||||
LOAD_LINK = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_IS_LINK),
|
||||
LOAD_REFRESH = MAKE_LOAD_TYPE(LOAD_CMD_NORMAL, nsIWebNavigation::LOAD_FLAGS_IS_REFRESH)
|
||||
};
|
||||
|
||||
/* internally used ViewMode types */
|
||||
enum ViewMode {
|
||||
viewNormal = 0x0,
|
||||
viewSource = 0x1
|
||||
viewNormal = 0x0,
|
||||
viewSource = 0x1
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
@@ -108,21 +108,21 @@ enum ViewMode {
|
||||
class nsRefreshTimer : public nsITimerCallback
|
||||
{
|
||||
public:
|
||||
nsRefreshTimer();
|
||||
nsRefreshTimer();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
// nsITimerCallback interface
|
||||
NS_IMETHOD_(void) Notify(nsITimer *timer);
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
// nsITimerCallback interface
|
||||
NS_IMETHOD_(void) Notify(nsITimer * timer);
|
||||
|
||||
nsCOMPtr<nsIDocShell> mDocShell;
|
||||
nsCOMPtr<nsIURI> mURI;
|
||||
PRBool mRepeat;
|
||||
PRInt32 mDelay;
|
||||
PRBool mMetaRefresh;
|
||||
nsCOMPtr<nsIDocShell> mDocShell;
|
||||
nsCOMPtr<nsIURI> mURI;
|
||||
PRBool mRepeat;
|
||||
PRInt32 mDelay;
|
||||
PRBool mMetaRefresh;
|
||||
|
||||
protected:
|
||||
virtual ~nsRefreshTimer();
|
||||
virtual ~nsRefreshTimer();
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
@@ -132,11 +132,11 @@ protected:
|
||||
class nsDocShellInitInfo
|
||||
{
|
||||
public:
|
||||
//nsIGenericWindow Stuff
|
||||
PRInt32 x;
|
||||
PRInt32 y;
|
||||
PRInt32 cx;
|
||||
PRInt32 cy;
|
||||
//nsIGenericWindow Stuff
|
||||
PRInt32 x;
|
||||
PRInt32 y;
|
||||
PRInt32 cx;
|
||||
PRInt32 cy;
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
@@ -161,172 +161,174 @@ class nsDocShell : public nsIDocShell,
|
||||
friend class nsDSURIContentListener;
|
||||
|
||||
public:
|
||||
// Object Management
|
||||
nsDocShell();
|
||||
// Object Management
|
||||
nsDocShell();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
NS_DECL_NSIDOCSHELL
|
||||
NS_DECL_NSIDOCSHELLTREEITEM
|
||||
NS_DECL_NSIDOCSHELLTREENODE
|
||||
NS_DECL_NSIDOCSHELLHISTORY
|
||||
NS_DECL_NSIWEBNAVIGATION
|
||||
NS_DECL_NSIBASEWINDOW
|
||||
NS_DECL_NSISCROLLABLE
|
||||
NS_DECL_NSITEXTSCROLL
|
||||
NS_DECL_NSIINTERFACEREQUESTOR
|
||||
NS_DECL_NSISCRIPTGLOBALOBJECTOWNER
|
||||
NS_DECL_NSIWEBPROGRESSLISTENER
|
||||
NS_DECL_NSIREFRESHURI
|
||||
NS_DECL_NSICONTENTVIEWERCONTAINER
|
||||
NS_DECL_NSIDOCSHELL
|
||||
NS_DECL_NSIDOCSHELLTREEITEM
|
||||
NS_DECL_NSIDOCSHELLTREENODE
|
||||
NS_DECL_NSIDOCSHELLHISTORY
|
||||
NS_DECL_NSIWEBNAVIGATION
|
||||
NS_DECL_NSIBASEWINDOW
|
||||
NS_DECL_NSISCROLLABLE
|
||||
NS_DECL_NSITEXTSCROLL
|
||||
NS_DECL_NSIINTERFACEREQUESTOR
|
||||
NS_DECL_NSISCRIPTGLOBALOBJECTOWNER
|
||||
NS_DECL_NSIWEBPROGRESSLISTENER
|
||||
NS_DECL_NSIREFRESHURI
|
||||
NS_DECL_NSICONTENTVIEWERCONTAINER
|
||||
|
||||
nsresult SetLoadCookie(nsISupports *aCookie);
|
||||
nsresult GetLoadCookie(nsISupports **aResult);
|
||||
// used when the docshell gets content that's being redirected (so we don't go through
|
||||
// our own InternalLoad method) to reset the load type...
|
||||
nsresult SetLoadType(PRUint32 aLoadType);
|
||||
nsDocShellInfoLoadType ConvertLoadTypeToDocShellLoadInfo(PRUint32 aLoadType);
|
||||
PRUint32 ConvertDocShellLoadInfoToLoadType(nsDocShellInfoLoadType aDocShellLoadType);
|
||||
nsresult SetLoadCookie(nsISupports * aCookie);
|
||||
nsresult GetLoadCookie(nsISupports ** aResult);
|
||||
// used when the docshell gets content that's being redirected (so we don't go through
|
||||
// our own InternalLoad method) to reset the load type...
|
||||
nsresult SetLoadType(PRUint32 aLoadType);
|
||||
nsDocShellInfoLoadType ConvertLoadTypeToDocShellLoadInfo(PRUint32 aLoadType);
|
||||
PRUint32 ConvertDocShellLoadInfoToLoadType(nsDocShellInfoLoadType aDocShellLoadType);
|
||||
|
||||
protected:
|
||||
// Object Management
|
||||
virtual ~nsDocShell();
|
||||
NS_IMETHOD DestroyChildren();
|
||||
// Object Management
|
||||
virtual ~nsDocShell();
|
||||
NS_IMETHOD DestroyChildren();
|
||||
|
||||
// Content Viewer Management
|
||||
NS_IMETHOD EnsureContentViewer();
|
||||
NS_IMETHOD EnsureDeviceContext();
|
||||
NS_IMETHOD CreateAboutBlankContentViewer();
|
||||
NS_IMETHOD CreateContentViewer(const char* aContentType,
|
||||
nsIRequest *request, nsIStreamListener** aContentHandler);
|
||||
NS_IMETHOD NewContentViewerObj(const char* aContentType,
|
||||
nsIRequest *request, nsILoadGroup* aLoadGroup,
|
||||
nsIStreamListener** aContentHandler, nsIContentViewer** aViewer);
|
||||
NS_IMETHOD SetupNewViewer(nsIContentViewer* aNewViewer);
|
||||
// Content Viewer Management
|
||||
NS_IMETHOD EnsureContentViewer();
|
||||
NS_IMETHOD EnsureDeviceContext();
|
||||
NS_IMETHOD CreateAboutBlankContentViewer();
|
||||
NS_IMETHOD CreateContentViewer(const char * aContentType,
|
||||
nsIRequest * request, nsIStreamListener ** aContentHandler);
|
||||
NS_IMETHOD NewContentViewerObj(const char * aContentType,
|
||||
nsIRequest * request, nsILoadGroup * aLoadGroup,
|
||||
nsIStreamListener ** aContentHandler, nsIContentViewer ** aViewer);
|
||||
NS_IMETHOD SetupNewViewer(nsIContentViewer * aNewViewer);
|
||||
|
||||
NS_IMETHOD InternalLoad(nsIURI* aURI, nsIURI* aReferrerURI,
|
||||
nsISupports* owner, PRBool inheritOwnerFromDocument, PRBool stopActiveDoc,
|
||||
const char* aWindowTarget=nsnull,
|
||||
nsIInputStream* aPostData=nsnull, nsIInputStream* aHeadersData=nsnull, PRUint32 aLoadType=LOAD_NORMAL, nsISHEntry * aSHEntry = nsnull);
|
||||
NS_IMETHOD CreateFixupURI(const PRUnichar* aStringURI, nsIURI** aURI);
|
||||
NS_IMETHOD GetCurrentDocumentOwner(nsISupports** aOwner);
|
||||
NS_IMETHOD DoURILoad(nsIURI* aURI, nsIURI* aReferrer, nsISupports *aOwner,
|
||||
PRBool inheritOwnerFromDocument, nsURILoadCommand aLoadCmd,
|
||||
const char* aWindowTarget,
|
||||
nsIInputStream* aPostData, nsIInputStream* aHeadersData);
|
||||
NS_IMETHOD AddHeadersToChannel(nsIInputStream *aHeadersData,
|
||||
nsIChannel *aChannel);
|
||||
NS_IMETHOD DoChannelLoad(nsIChannel* aChannel, nsURILoadCommand aLoadCmd,
|
||||
const char* aWindowTarget, nsIURILoader *aURILoader);
|
||||
NS_IMETHOD ScrollIfAnchor(nsIURI* aURI, PRBool* aWasAnchor);
|
||||
NS_IMETHOD OnLoadingSite(nsIChannel* aChannel);
|
||||
NS_IMETHOD InternalLoad(nsIURI * aURI, nsIURI * aReferrerURI,
|
||||
nsISupports * owner, PRBool inheritOwnerFromDocument,
|
||||
PRBool stopActiveDoc, const char * aWindowTarget = nsnull,
|
||||
nsIInputStream * aPostData = nsnull,
|
||||
nsIInputStream * aHeadersData = nsnull,
|
||||
PRUint32 aLoadType = LOAD_NORMAL, nsISHEntry * aSHEntry = nsnull);
|
||||
NS_IMETHOD CreateFixupURI(const PRUnichar * aStringURI, nsIURI ** aURI);
|
||||
NS_IMETHOD GetCurrentDocumentOwner(nsISupports ** aOwner);
|
||||
NS_IMETHOD DoURILoad(nsIURI * aURI, nsIURI * aReferrer,
|
||||
nsISupports * aOwner, PRBool inheritOwnerFromDocument,
|
||||
nsURILoadCommand aLoadCmd, const char * aWindowTarget,
|
||||
nsIInputStream * aPostData, nsIInputStream * aHeadersData);
|
||||
NS_IMETHOD AddHeadersToChannel(nsIInputStream * aHeadersData,
|
||||
nsIChannel * aChannel);
|
||||
NS_IMETHOD DoChannelLoad(nsIChannel * aChannel, nsURILoadCommand aLoadCmd,
|
||||
const char * aWindowTarget, nsIURILoader * aURILoader);
|
||||
NS_IMETHOD ScrollIfAnchor(nsIURI * aURI, PRBool * aWasAnchor);
|
||||
NS_IMETHOD OnLoadingSite(nsIChannel * aChannel);
|
||||
|
||||
NS_IMETHOD OnNewURI(nsIURI *aURI, nsIChannel* aChannel, PRUint32 aLoadType);
|
||||
NS_IMETHOD OnNewURI(nsIURI * aURI, nsIChannel * aChannel, PRUint32 aLoadType);
|
||||
|
||||
virtual void SetCurrentURI(nsIURI* aURI);
|
||||
virtual void SetReferrerURI(nsIURI* aURI);
|
||||
virtual void SetCurrentURI(nsIURI * aURI);
|
||||
virtual void SetReferrerURI(nsIURI * aURI);
|
||||
|
||||
// Session History
|
||||
virtual PRBool ShouldAddToSessionHistory(nsIURI* aURI);
|
||||
virtual nsresult AddToSessionHistory(nsIURI* aURI, nsIChannel *aChannel,
|
||||
nsISHEntry **aNewEntry);
|
||||
// Session History
|
||||
virtual PRBool ShouldAddToSessionHistory(nsIURI * aURI);
|
||||
virtual nsresult AddToSessionHistory(nsIURI * aURI, nsIChannel * aChannel,
|
||||
nsISHEntry ** aNewEntry);
|
||||
|
||||
NS_IMETHOD LoadHistoryEntry(nsISHEntry* aEntry, PRUint32 aLoadType);
|
||||
// NS_IMETHOD GetCurrentSHE(PRInt32 aChildOffset, nsISHEntry ** aResult);
|
||||
NS_IMETHOD PersistLayoutHistoryState();
|
||||
NS_IMETHOD CloneAndReplace(nsISHEntry* srcEntry, PRUint32 aCloneID,
|
||||
nsISHEntry * areplaceEntry, nsISHEntry **destEntry);
|
||||
// Global History
|
||||
NS_IMETHOD ShouldAddToGlobalHistory(nsIURI* aURI, PRBool* aShouldAdd);
|
||||
NS_IMETHOD AddToGlobalHistory(nsIURI* aURI);
|
||||
NS_IMETHOD UpdateCurrentGlobalHistory();
|
||||
NS_IMETHOD LoadHistoryEntry(nsISHEntry * aEntry, PRUint32 aLoadType);
|
||||
NS_IMETHOD PersistLayoutHistoryState();
|
||||
NS_IMETHOD CloneAndReplace(nsISHEntry * srcEntry, PRUint32 aCloneID,
|
||||
nsISHEntry * areplaceEntry, nsISHEntry ** destEntry);
|
||||
|
||||
// Global History
|
||||
NS_IMETHOD ShouldAddToGlobalHistory(nsIURI * aURI, PRBool * aShouldAdd);
|
||||
NS_IMETHOD AddToGlobalHistory(nsIURI * aURI);
|
||||
NS_IMETHOD UpdateCurrentGlobalHistory();
|
||||
|
||||
// Helper Routines
|
||||
nsDocShellInitInfo* InitInfo();
|
||||
NS_IMETHOD GetPromptAndStringBundle(nsIPrompt** aPrompt, nsIStringBundle**
|
||||
aStringBundle);
|
||||
NS_IMETHOD GetChildOffset(nsIDOMNode* aChild, nsIDOMNode* aParent,
|
||||
PRInt32* aOffset);
|
||||
NS_IMETHOD GetRootScrollableView(nsIScrollableView** aOutScrollView);
|
||||
NS_IMETHOD EnsureContentListener();
|
||||
NS_IMETHOD EnsureScriptEnvironment();
|
||||
// Helper Routines
|
||||
nsDocShellInitInfo * InitInfo();
|
||||
NS_IMETHOD GetPromptAndStringBundle(nsIPrompt ** aPrompt,
|
||||
nsIStringBundle ** aStringBundle);
|
||||
NS_IMETHOD GetChildOffset(nsIDOMNode * aChild, nsIDOMNode * aParent,
|
||||
PRInt32 * aOffset);
|
||||
NS_IMETHOD GetRootScrollableView(nsIScrollableView ** aOutScrollView);
|
||||
NS_IMETHOD EnsureContentListener();
|
||||
NS_IMETHOD EnsureScriptEnvironment();
|
||||
|
||||
PRBool IsFrame();
|
||||
PRBool IsFrame();
|
||||
|
||||
//
|
||||
// Helper method that is called when a new document (including any
|
||||
// sub-documents - ie. frames) has been completely loaded.
|
||||
//
|
||||
virtual nsresult EndPageLoad(nsIWebProgress *aProgress,
|
||||
nsIChannel *aChannel,
|
||||
nsresult aResult);
|
||||
//
|
||||
// Helper method that is called when a new document (including any
|
||||
// sub-documents - ie. frames) has been completely loaded.
|
||||
//
|
||||
virtual nsresult EndPageLoad(nsIWebProgress * aProgress,
|
||||
nsIChannel * aChannel,
|
||||
nsresult aResult);
|
||||
|
||||
protected:
|
||||
nsString mName;
|
||||
nsString mTitle;
|
||||
nsVoidArray mChildren;
|
||||
nsCOMPtr<nsISupportsArray> mRefreshURIList;
|
||||
nsDSURIContentListener* mContentListener;
|
||||
nsDocShellInitInfo* mInitInfo;
|
||||
nsCOMPtr<nsIContentViewer> mContentViewer;
|
||||
nsCOMPtr<nsIDocumentCharsetInfo> mDocumentCharsetInfo;
|
||||
nsCOMPtr<nsIDeviceContext> mDeviceContext;
|
||||
nsCOMPtr<nsIDocumentLoader>mDocLoader;
|
||||
nsCOMPtr<nsIDocumentLoaderObserver> mDocLoaderObserver;
|
||||
nsCOMPtr<nsIWidget> mParentWidget;
|
||||
nsCOMPtr<nsIPref> mPrefs;
|
||||
nsCOMPtr<nsIURI> mCurrentURI;
|
||||
nsCOMPtr<nsIURI> mReferrerURI;
|
||||
nsCOMPtr<nsIScriptGlobalObject> mScriptGlobal;
|
||||
nsCOMPtr<nsIScriptContext> mScriptContext;
|
||||
nsCOMPtr<nsISHistory> mSessionHistory;
|
||||
nsCOMPtr<nsIGlobalHistory> mGlobalHistory;
|
||||
nsCOMPtr<nsISupports> mLoadCookie; // the load cookie associated with the window context.
|
||||
nsCOMPtr<nsIURIFixup> mURIFixup;
|
||||
PRInt32 mMarginWidth;
|
||||
PRInt32 mMarginHeight;
|
||||
PRInt32 mItemType;
|
||||
nsPoint mCurrentScrollbarPref; // this document only
|
||||
nsPoint mDefaultScrollbarPref; // persistent across doc loads
|
||||
PRUint32 mLoadType;
|
||||
PRBool mInitialPageLoad;
|
||||
PRBool mAllowPlugins;
|
||||
PRBool mAllowJavascript;
|
||||
PRBool mAllowMetaRedirects;
|
||||
PRBool mAllowSubframes;
|
||||
PRUint32 mAppType;
|
||||
PRInt32 mChildOffset; // Offset in the parent's child list.
|
||||
PRUint32 mBusyFlags;
|
||||
// Reference to the SHEntry for this docshell until the page is destroyed.
|
||||
// Somebody give me better name
|
||||
nsCOMPtr<nsISHEntry> OSHE;
|
||||
// Reference to the SHEntry for this docshell until the page is loaded
|
||||
// Somebody give me better name
|
||||
nsCOMPtr<nsISHEntry> LSHE;
|
||||
nsString mName;
|
||||
nsString mTitle;
|
||||
nsVoidArray mChildren;
|
||||
nsCOMPtr<nsISupportsArray> mRefreshURIList;
|
||||
nsDSURIContentListener * mContentListener;
|
||||
nsDocShellInitInfo * mInitInfo;
|
||||
nsCOMPtr<nsIContentViewer> mContentViewer;
|
||||
nsCOMPtr<nsIDocumentCharsetInfo> mDocumentCharsetInfo;
|
||||
nsCOMPtr<nsIDeviceContext> mDeviceContext;
|
||||
nsCOMPtr<nsIDocumentLoader>mDocLoader;
|
||||
nsCOMPtr<nsIDocumentLoaderObserver> mDocLoaderObserver;
|
||||
nsCOMPtr<nsIWidget> mParentWidget;
|
||||
nsCOMPtr<nsIPref> mPrefs;
|
||||
nsCOMPtr<nsIURI> mCurrentURI;
|
||||
nsCOMPtr<nsIURI> mReferrerURI;
|
||||
nsCOMPtr<nsIScriptGlobalObject> mScriptGlobal;
|
||||
nsCOMPtr<nsIScriptContext> mScriptContext;
|
||||
nsCOMPtr<nsISHistory> mSessionHistory;
|
||||
nsCOMPtr<nsIGlobalHistory> mGlobalHistory;
|
||||
nsCOMPtr<nsISupports> mLoadCookie; // the load cookie associated with the window context.
|
||||
nsCOMPtr<nsIURIFixup> mURIFixup;
|
||||
PRInt32 mMarginWidth;
|
||||
PRInt32 mMarginHeight;
|
||||
PRInt32 mItemType;
|
||||
nsPoint mCurrentScrollbarPref; // this document only
|
||||
nsPoint mDefaultScrollbarPref; // persistent across doc loads
|
||||
PRUint32 mLoadType;
|
||||
PRBool mInitialPageLoad;
|
||||
PRBool mAllowPlugins;
|
||||
PRBool mAllowJavascript;
|
||||
PRBool mAllowMetaRedirects;
|
||||
PRBool mAllowSubframes;
|
||||
PRUint32 mAppType;
|
||||
PRInt32 mChildOffset; // Offset in the parent's child list.
|
||||
PRUint32 mBusyFlags;
|
||||
// Reference to the SHEntry for this docshell until the page is destroyed.
|
||||
// Somebody give me better name
|
||||
nsCOMPtr<nsISHEntry> OSHE;
|
||||
// Reference to the SHEntry for this docshell until the page is loaded
|
||||
// Somebody give me better name
|
||||
nsCOMPtr<nsISHEntry> LSHE;
|
||||
|
||||
// this flag is for bug #21358. a docshell may load many urls
|
||||
// which don't result in new documents being created (i.e. a new content viewer)
|
||||
// we want to make sure we don't call a on load event more than once for a given
|
||||
// content viewer.
|
||||
PRBool mEODForCurrentDocument;
|
||||
PRBool mURIResultedInDocument;
|
||||
// this flag is for bug #21358. a docshell may load many urls
|
||||
// which don't result in new documents being created (i.e. a new content viewer)
|
||||
// we want to make sure we don't call a on load event more than once for a given
|
||||
// content viewer.
|
||||
PRBool mEODForCurrentDocument;
|
||||
PRBool mURIResultedInDocument;
|
||||
|
||||
// used to keep track of whether user click links should be handle by us
|
||||
// or immediately kicked out to an external application. mscott: eventually
|
||||
// i'm going to try to fold this up into the uriloader where it belongs but i haven't
|
||||
// figured out how to do that yet.
|
||||
PRBool mUseExternalProtocolHandler;
|
||||
// used to keep track of whether user click links should be handle by us
|
||||
// or immediately kicked out to an external application. mscott: eventually
|
||||
// i'm going to try to fold this up into the uriloader where it belongs but i haven't
|
||||
// figured out how to do that yet.
|
||||
PRBool mUseExternalProtocolHandler;
|
||||
|
||||
// Disallow popping up new windows with target=
|
||||
PRBool mDisallowPopupWindows;
|
||||
// Disallow popping up new windows with target=
|
||||
PRBool mDisallowPopupWindows;
|
||||
|
||||
/* WEAK REFERENCES BELOW HERE.
|
||||
Note these are intentionally not addrefd. Doing so will create a cycle.
|
||||
For that reasons don't use nsCOMPtr.*/
|
||||
nsIDocShellTreeItem* mParent; // Weak Reference
|
||||
nsIDocShellTreeOwner* mTreeOwner; // Weak Reference
|
||||
nsIChromeEventHandler* mChromeEventHandler; //Weak Reference
|
||||
// WEAK REFERENCES BELOW HERE.
|
||||
// Note these are intentionally not addrefd. Doing so will create a cycle.
|
||||
// For that reasons don't use nsCOMPtr.
|
||||
|
||||
nsIDocShellTreeItem * mParent; // Weak Reference
|
||||
nsIDocShellTreeOwner * mTreeOwner; // Weak Reference
|
||||
nsIChromeEventHandler * mChromeEventHandler; //Weak Reference
|
||||
};
|
||||
|
||||
#endif /* nsDocShell_h__ */
|
||||
|
||||
@@ -1,3 +1,24 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is the Mozilla browser.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications, Inc. Portions created by Netscape are
|
||||
* Copyright (C) 1999, Mozilla. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*/
|
||||
#ifndef webshell____h
|
||||
#define webshell____h
|
||||
|
||||
@@ -10,9 +31,9 @@
|
||||
class nsIController;
|
||||
|
||||
typedef enum {
|
||||
eCharsetReloadInit,
|
||||
eCharsetReloadRequested,
|
||||
eCharsetReloadStopOrigional
|
||||
eCharsetReloadInit,
|
||||
eCharsetReloadRequested,
|
||||
eCharsetReloadStopOrigional
|
||||
} eCharsetReloadState;
|
||||
|
||||
class nsWebShell : public nsDocShell,
|
||||
@@ -23,148 +44,131 @@ class nsWebShell : public nsDocShell,
|
||||
public nsIClipboardCommands
|
||||
{
|
||||
public:
|
||||
nsWebShell();
|
||||
virtual ~nsWebShell();
|
||||
nsWebShell();
|
||||
virtual ~nsWebShell();
|
||||
|
||||
NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW
|
||||
NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIINTERFACEREQUESTOR
|
||||
NS_DECL_NSICLIPBOARDCOMMANDS
|
||||
NS_DECL_NSIWEBSHELLSERVICES
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIINTERFACEREQUESTOR
|
||||
NS_DECL_NSICLIPBOARDCOMMANDS
|
||||
NS_DECL_NSIWEBSHELLSERVICES
|
||||
|
||||
NS_IMETHOD SetupNewViewer(nsIContentViewer* aViewer);
|
||||
NS_IMETHOD SetupNewViewer(nsIContentViewer* aViewer);
|
||||
|
||||
// nsIContentViewerContainer
|
||||
NS_IMETHOD Embed(nsIContentViewer* aDocViewer,
|
||||
// nsIContentViewerContainer
|
||||
NS_IMETHOD Embed(nsIContentViewer* aDocViewer,
|
||||
const char* aCommand,
|
||||
nsISupports* aExtraInfo);
|
||||
|
||||
// nsIWebShell
|
||||
NS_IMETHOD SetContainer(nsIWebShellContainer* aContainer);
|
||||
NS_IMETHOD GetContainer(nsIWebShellContainer*& aResult);
|
||||
NS_IMETHOD GetTopLevelWindow(nsIWebShellContainer** aWebShellWindow);
|
||||
NS_IMETHOD GetRootWebShell(nsIWebShell*& aResult);
|
||||
/*NS_IMETHOD SetParent(nsIWebShell* aParent);
|
||||
NS_IMETHOD GetParent(nsIWebShell*& aParent);*/
|
||||
NS_IMETHOD GetReferrer(nsIURI **aReferrer);
|
||||
// nsIWebShell
|
||||
NS_IMETHOD SetContainer(nsIWebShellContainer* aContainer);
|
||||
NS_IMETHOD GetContainer(nsIWebShellContainer*& aResult);
|
||||
NS_IMETHOD GetTopLevelWindow(nsIWebShellContainer** aWebShellWindow);
|
||||
NS_IMETHOD GetRootWebShell(nsIWebShell*& aResult);
|
||||
/*NS_IMETHOD SetParent(nsIWebShell* aParent);
|
||||
NS_IMETHOD GetParent(nsIWebShell*& aParent);*/
|
||||
NS_IMETHOD GetReferrer(nsIURI **aReferrer);
|
||||
|
||||
// Document load api's
|
||||
NS_IMETHOD GetDocumentLoader(nsIDocumentLoader*& aResult);
|
||||
// Document load api's
|
||||
NS_IMETHOD GetDocumentLoader(nsIDocumentLoader*& aResult);
|
||||
|
||||
/* NS_IMETHOD LoadURL(const PRUnichar *aURLSpec,
|
||||
const char* aCommand,
|
||||
nsIInputStream* aPostDataStream=nsnull,
|
||||
PRBool aModifyHistory=PR_TRUE,
|
||||
nsLoadFlags aType = nsIChannel::LOAD_NORMAL,
|
||||
nsISupports * aHistoryState=nsnull,
|
||||
const PRUnichar* aReferrer=nsnull,
|
||||
const char * aWindowTarget = nsnull);
|
||||
void SetReferrer(const PRUnichar* aReferrer);
|
||||
|
||||
NS_IMETHOD LoadURI(nsIURI * aUri,
|
||||
const char * aCommand,
|
||||
nsIInputStream* aPostDataStream=nsnull,
|
||||
PRBool aModifyHistory=PR_TRUE,
|
||||
nsLoadFlags aType = nsIChannel::LOAD_NORMAL,
|
||||
nsISupports * aHistoryState=nsnull,
|
||||
const PRUnichar* aReferrer=nsnull,
|
||||
const char * aWindowTarget = nsnull);
|
||||
*/
|
||||
void SetReferrer(const PRUnichar* aReferrer);
|
||||
// History api's
|
||||
NS_IMETHOD GoTo(PRInt32 aHistoryIndex);
|
||||
NS_IMETHOD GetHistoryLength(PRInt32& aResult);
|
||||
NS_IMETHOD GetHistoryIndex(PRInt32& aResult);
|
||||
NS_IMETHOD GetURL(PRInt32 aHistoryIndex, const PRUnichar** aURLResult);
|
||||
|
||||
// History api's
|
||||
NS_IMETHOD GoTo(PRInt32 aHistoryIndex);
|
||||
NS_IMETHOD GetHistoryLength(PRInt32& aResult);
|
||||
NS_IMETHOD GetHistoryIndex(PRInt32& aResult);
|
||||
NS_IMETHOD GetURL(PRInt32 aHistoryIndex, const PRUnichar** aURLResult);
|
||||
// nsIWebShellContainer
|
||||
NS_IMETHOD SetHistoryState(nsISupports* aLayoutHistoryState);
|
||||
NS_IMETHOD FireUnloadEvent(void);
|
||||
|
||||
// nsIWebShellContainer
|
||||
NS_IMETHOD SetHistoryState(nsISupports* aLayoutHistoryState);
|
||||
NS_IMETHOD FireUnloadEvent(void);
|
||||
|
||||
// nsILinkHandler
|
||||
NS_IMETHOD OnLinkClick(nsIContent* aContent,
|
||||
nsLinkVerb aVerb,
|
||||
const PRUnichar* aURLSpec,
|
||||
const PRUnichar* aTargetSpec,
|
||||
nsIInputStream* aPostDataStream = 0,
|
||||
nsIInputStream* aHeadersDataStream = 0);
|
||||
NS_IMETHOD OnOverLink(nsIContent* aContent,
|
||||
const PRUnichar* aURLSpec,
|
||||
const PRUnichar* aTargetSpec);
|
||||
NS_IMETHOD GetLinkState(const char* aLinkURI, nsLinkState& aState);
|
||||
// nsILinkHandler
|
||||
NS_IMETHOD OnLinkClick(nsIContent* aContent,
|
||||
nsLinkVerb aVerb,
|
||||
const PRUnichar* aURLSpec,
|
||||
const PRUnichar* aTargetSpec,
|
||||
nsIInputStream* aPostDataStream = 0,
|
||||
nsIInputStream* aHeadersDataStream = 0);
|
||||
NS_IMETHOD OnOverLink(nsIContent* aContent,
|
||||
const PRUnichar* aURLSpec,
|
||||
const PRUnichar* aTargetSpec);
|
||||
NS_IMETHOD GetLinkState(const char* aLinkURI, nsLinkState& aState);
|
||||
|
||||
|
||||
NS_IMETHOD FindNext(const PRUnichar * aSearchStr, PRBool aMatchCase, PRBool aSearchDown, PRBool &aIsFound);
|
||||
NS_IMETHOD FindNext(const PRUnichar * aSearchStr, PRBool aMatchCase,
|
||||
PRBool aSearchDown, PRBool &aIsFound);
|
||||
|
||||
// nsIBaseWindow
|
||||
NS_IMETHOD SetPositionAndSize(PRInt32 x, PRInt32 y, PRInt32 cx,
|
||||
PRInt32 cy, PRBool fRepaint);
|
||||
NS_IMETHOD GetPositionAndSize(PRInt32* x, PRInt32* y,
|
||||
PRInt32* cx, PRInt32* cy);
|
||||
NS_IMETHOD Create();
|
||||
NS_IMETHOD Destroy();
|
||||
// nsIBaseWindow
|
||||
NS_IMETHOD SetPositionAndSize(PRInt32 x, PRInt32 y, PRInt32 cx,
|
||||
PRInt32 cy, PRBool fRepaint);
|
||||
NS_IMETHOD GetPositionAndSize(PRInt32* x, PRInt32* y,
|
||||
PRInt32* cx, PRInt32* cy);
|
||||
NS_IMETHOD Create();
|
||||
NS_IMETHOD Destroy();
|
||||
|
||||
// nsWebShell
|
||||
nsIEventQueue* GetEventQueue(void);
|
||||
void HandleLinkClickEvent(nsIContent *aContent,
|
||||
nsLinkVerb aVerb,
|
||||
const PRUnichar* aURLSpec,
|
||||
const PRUnichar* aTargetSpec,
|
||||
nsIInputStream* aPostDataStream = 0,
|
||||
nsIInputStream* aHeadersDataStream = 0);
|
||||
nsIEventQueue* GetEventQueue(void);
|
||||
void HandleLinkClickEvent(nsIContent *aContent,
|
||||
nsLinkVerb aVerb,
|
||||
const PRUnichar* aURLSpec,
|
||||
const PRUnichar* aTargetSpec,
|
||||
nsIInputStream* aPostDataStream = 0,
|
||||
nsIInputStream* aHeadersDataStream = 0);
|
||||
|
||||
static nsEventStatus PR_CALLBACK HandleEvent(nsGUIEvent *aEvent);
|
||||
static nsEventStatus PR_CALLBACK HandleEvent(nsGUIEvent *aEvent);
|
||||
|
||||
NS_IMETHOD SetURL(const PRUnichar* aURL);
|
||||
NS_IMETHOD SetURL(const PRUnichar* aURL);
|
||||
|
||||
// XXX: Temporary - until I can get rid of SetDocLoaderObserver :-)
|
||||
NS_IMETHOD OnStateChange(nsIWebProgress *aProgress,
|
||||
nsIRequest *aRequest,
|
||||
PRInt32 aStateFlags,
|
||||
nsresult aStatus);
|
||||
// XXX: Temporary - until I can get rid of SetDocLoaderObserver :-)
|
||||
NS_IMETHOD OnStateChange(nsIWebProgress *aProgress,
|
||||
nsIRequest *aRequest,
|
||||
PRInt32 aStateFlags,
|
||||
nsresult aStatus);
|
||||
|
||||
protected:
|
||||
void GetRootWebShellEvenIfChrome(nsIWebShell** aResult);
|
||||
void InitFrameData();
|
||||
|
||||
void GetRootWebShellEvenIfChrome(nsIWebShell** aResult);
|
||||
void InitFrameData();
|
||||
|
||||
// helpers for executing commands
|
||||
virtual nsresult GetControllerForCommand ( const nsAReadableString & inCommand, nsIController** outController );
|
||||
virtual nsresult IsCommandEnabled ( const nsAReadableString & inCommand, PRBool* outEnabled );
|
||||
virtual nsresult DoCommand ( const nsAReadableString & inCommand );
|
||||
virtual nsresult GetControllerForCommand ( const nsAReadableString & inCommand, nsIController** outController );
|
||||
virtual nsresult IsCommandEnabled ( const nsAReadableString & inCommand, PRBool* outEnabled );
|
||||
virtual nsresult DoCommand ( const nsAReadableString & inCommand );
|
||||
|
||||
//
|
||||
// Helper method that is called when a new document (including any
|
||||
// sub-documents - ie. frames) has been completely loaded.
|
||||
//
|
||||
virtual nsresult EndPageLoad(nsIWebProgress *aProgress,
|
||||
nsIChannel* channel,
|
||||
nsresult aStatus);
|
||||
//
|
||||
// Helper method that is called when a new document (including any
|
||||
// sub-documents - ie. frames) has been completely loaded.
|
||||
//
|
||||
virtual nsresult EndPageLoad(nsIWebProgress *aProgress,
|
||||
nsIChannel* channel,
|
||||
nsresult aStatus);
|
||||
|
||||
nsIEventQueue* mThreadEventQueue;
|
||||
nsIEventQueue* mThreadEventQueue;
|
||||
|
||||
nsIWebShellContainer* mContainer;
|
||||
nsIDocumentLoader* mDocLoader;
|
||||
nsIWebShellContainer* mContainer;
|
||||
nsIDocumentLoader* mDocLoader;
|
||||
|
||||
PRBool mFiredUnloadEvent;
|
||||
PRBool mFiredUnloadEvent;
|
||||
|
||||
nsRect mBounds;
|
||||
nsRect mBounds;
|
||||
|
||||
eCharsetReloadState mCharsetReloadState;
|
||||
eCharsetReloadState mCharsetReloadState;
|
||||
|
||||
nsISupports* mHistoryState; // Weak reference. Session history owns this.
|
||||
nsISupports* mHistoryState; // Weak reference. Session history owns this.
|
||||
|
||||
nsresult FireUnloadForChildren();
|
||||
nsresult FireUnloadForChildren();
|
||||
|
||||
nsresult CreateViewer(nsIRequest* request,
|
||||
const char* aContentType,
|
||||
const char* aCommand,
|
||||
nsIStreamListener** aResult);
|
||||
nsresult CreateViewer(nsIRequest* request,
|
||||
const char* aContentType,
|
||||
const char* aCommand,
|
||||
nsIStreamListener** aResult);
|
||||
|
||||
#ifdef DEBUG
|
||||
private:
|
||||
// We're counting the number of |nsWebShells| to help find leaks
|
||||
static unsigned long gNumberOfWebShells;
|
||||
// We're counting the number of |nsWebShells| to help find leaks
|
||||
static unsigned long gNumberOfWebShells;
|
||||
#endif /* DEBUG */
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user