mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-28 21:28:55 +00:00
Fix for bug 52819. Use nsEditor::GetRootElement for retreiving the body node. sr=mscott
This commit is contained in:
parent
8dc0e5739a
commit
98ab9642f9
@ -164,9 +164,9 @@ interface nsIMsgCompose : nsISupports {
|
||||
wstring GetNoHtmlNewsgroups(in wstring newsgroups);
|
||||
|
||||
/* bodyConvertible: The level of "convertibility" to plaintext
|
||||
* @return a value from nsIMsgCompConvertible
|
||||
* @return a value from nsIMsgCompConvertible.
|
||||
*/
|
||||
long bodyConvertible(in nsIDOMNode node);
|
||||
long bodyConvertible();
|
||||
|
||||
/* SetSignature: will replace the curr.
|
||||
*/
|
||||
|
@ -1522,8 +1522,7 @@ function DetermineConvertibility()
|
||||
return msgCompConvertible.Plain;
|
||||
|
||||
try {
|
||||
return msgCompose.bodyConvertible(
|
||||
window.editorShell.contentWindow.document.childNodes[1]);
|
||||
return msgCompose.bodyConvertible();
|
||||
} catch(ex) {}
|
||||
return msgCompConvertible.No;
|
||||
}
|
||||
|
@ -2906,13 +2906,13 @@ nsresult nsMsgCompose::TagConvertible(nsIDOMNode *node, PRInt32 *_retval)
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsMsgCompose::BodyConvertible(nsIDOMNode *node, PRInt32 *_retval)
|
||||
nsresult nsMsgCompose::_BodyConvertible(nsIDOMNode *node, PRInt32 *_retval)
|
||||
{
|
||||
NS_ENSURE_TRUE(node && _retval, NS_ERROR_NULL_POINTER);
|
||||
|
||||
nsresult rv;
|
||||
PRInt32 result;
|
||||
|
||||
|
||||
// Check this node
|
||||
rv = TagConvertible(node, &result);
|
||||
if (NS_FAILED(rv))
|
||||
@ -2935,7 +2935,7 @@ nsresult nsMsgCompose::BodyConvertible(nsIDOMNode *node, PRInt32 *_retval)
|
||||
&& pItem)
|
||||
{
|
||||
PRInt32 curresult;
|
||||
rv = BodyConvertible(pItem, &curresult);
|
||||
rv = _BodyConvertible(pItem, &curresult);
|
||||
if (NS_SUCCEEDED(rv) && curresult > result)
|
||||
result = curresult;
|
||||
}
|
||||
@ -2947,6 +2947,29 @@ nsresult nsMsgCompose::BodyConvertible(nsIDOMNode *node, PRInt32 *_retval)
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsMsgCompose::BodyConvertible(PRInt32 *_retval)
|
||||
{
|
||||
NS_ENSURE_TRUE(_retval, NS_ERROR_NULL_POINTER);
|
||||
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIEditor> editor;
|
||||
rv = m_editor->GetEditor(getter_AddRefs(editor));
|
||||
if (NS_FAILED(rv) || nsnull == editor)
|
||||
return rv;
|
||||
|
||||
nsCOMPtr<nsIDOMElement> rootElement;
|
||||
rv = editor->GetRootElement(getter_AddRefs(rootElement));
|
||||
if (NS_FAILED(rv) || nsnull == rootElement)
|
||||
return rv;
|
||||
|
||||
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(rootElement);
|
||||
if (nsnull == node)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
return _BodyConvertible(node, _retval);
|
||||
}
|
||||
|
||||
nsresult nsMsgCompose::SetSignature(nsIMsgIdentity *identity)
|
||||
{
|
||||
nsresult rv;
|
||||
|
@ -96,6 +96,7 @@ class nsMsgCompose : public nsIMsgCompose
|
||||
nsresult BuildMailListArray(nsIAddrDatabase* database, nsIAbDirectory* parentDir, nsISupportsArray* array);
|
||||
nsresult GetMailListAddresses(nsString& name, nsISupportsArray* mailListArray, nsISupportsArray** addresses);
|
||||
nsresult TagConvertible(nsIDOMNode *node, PRInt32 *_retval);
|
||||
nsresult _BodyConvertible(nsIDOMNode *node, PRInt32 *_retval);
|
||||
// Helper function. Parameters are not checked.
|
||||
PRBool mConvertStructs; // for TagConvertible
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user