<form> inside <table> submits; marginwidth, marginheight in <frame> working; scrolling in <frame>, <iframe> working

This commit is contained in:
karnaze@netscape.com
1999-01-19 17:26:06 +00:00
parent ccde8d26c3
commit 70ecadd104
9 changed files with 233 additions and 118 deletions

View File

@@ -298,6 +298,8 @@ public:
nsresult DestroyPluginHost(void);
protected:
void InitFrameData();
PLEventQueue* mThreadEventQueue;
nsIScriptGlobalObject *mScriptGlobal;
nsIScriptContext* mScriptContext;
@@ -434,9 +436,7 @@ nsWebShell::nsWebShell()
mScrollPref = nsScrollPreference_kAuto;
mScriptGlobal = nsnull;
mScriptContext = nsnull;
mMarginWidth = -1;
mMarginHeight = -1;
mScrolling = -1;
InitFrameData();
}
nsWebShell::~nsWebShell()
@@ -466,6 +466,8 @@ nsWebShell::~nsWebShell()
}
NS_IF_RELEASE(mScriptContext);
InitFrameData();
// XXX Because we hold references to the children and they hold references
// to us we never get destroyed. See Destroy() instead...
#if 0
@@ -483,6 +485,13 @@ nsWebShell::~nsWebShell()
DestroyPluginHost();
}
void nsWebShell::InitFrameData()
{
mMarginWidth = -1;
mMarginHeight = -1;
mScrolling = -1;
}
void
nsWebShell::ReleaseChildren()
{
@@ -1200,6 +1209,13 @@ nsWebShell::LoadURL(const PRUnichar *aURLSpec,
nsURLReloadType aType,
const PRUint32 aLocalIP)
{
// if this is the top level web shell, initialize some things, in case the
// web shell is being recycled
nsIWebShell *rootWebShell;
GetRootWebShell(rootWebShell);
if (this == rootWebShell) {
InitFrameData();
}
return LoadURL(aURLSpec,"view",aPostData,aModifyHistory,aType, aLocalIP);
}