Fixed nsDocShell leak and nsEditingSession init after forced reload of document. b=180146, r=cmanske, sr=sfraser
This commit is contained in:
@@ -53,7 +53,7 @@ nsDocShellEditorData::~nsDocShellEditorData()
|
|||||||
{
|
{
|
||||||
// Get editing session on the root docShell
|
// Get editing session on the root docShell
|
||||||
nsCOMPtr <nsIEditingSession> editingSession;
|
nsCOMPtr <nsIEditingSession> editingSession;
|
||||||
nsresult rv = GetOrCreateEditingSession(getter_AddRefs(editingSession), PR_FALSE);
|
nsresult rv = GetOrCreateEditingSession(PR_FALSE, getter_AddRefs(editingSession));
|
||||||
|
|
||||||
if (editingSession)
|
if (editingSession)
|
||||||
{
|
{
|
||||||
@@ -136,7 +136,7 @@ nsresult
|
|||||||
nsDocShellEditorData::GetEditingSession(nsIEditingSession **outEditingSession)
|
nsDocShellEditorData::GetEditingSession(nsIEditingSession **outEditingSession)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(outEditingSession);
|
NS_ENSURE_ARG_POINTER(outEditingSession);
|
||||||
return GetOrCreateEditingSession(outEditingSession, PR_TRUE);
|
return GetOrCreateEditingSession(PR_TRUE, outEditingSession);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ nsDocShellEditorData::SetEditor(nsIEditor *inEditor)
|
|||||||
|
|
||||||
----------------------------------------------------------------------------*/
|
----------------------------------------------------------------------------*/
|
||||||
nsresult
|
nsresult
|
||||||
nsDocShellEditorData::GetOrCreateEditingSession(nsIEditingSession **outEditingSession, PRBool inAllowCreation)
|
nsDocShellEditorData::GetOrCreateEditingSession(PRBool inAllowCreation, nsIEditingSession **outEditingSession)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(outEditingSession);
|
NS_ENSURE_ARG_POINTER(outEditingSession);
|
||||||
*outEditingSession = nsnull;
|
*outEditingSession = nsnull;
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
nsresult GetOrCreateEditingSession(nsIEditingSession **outEditingSession, PRBool inAllowCreation);
|
nsresult GetOrCreateEditingSession(PRBool inAllowCreation, nsIEditingSession **outEditingSession);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
*
|
*
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
* Simon Fraser <sfraser@netscape.com>
|
* Simon Fraser <sfraser@netscape.com>
|
||||||
|
* Charles Manske <cmanske@netscape.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "nsISupports.idl"
|
#include "nsISupports.idl"
|
||||||
@@ -46,6 +47,5 @@ interface nsIEditorDocShell : nsISupports
|
|||||||
* creating the editor.
|
* creating the editor.
|
||||||
*/
|
*/
|
||||||
void makeEditable(in boolean inWaitForUriLoad);
|
void makeEditable(in boolean inWaitForUriLoad);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user