Bug 756754 - Part a: Return dom::Element* from CreateHTMLContent; r=ehsan

This commit is contained in:
Ms2ger 2012-06-06 09:35:47 +02:00
Родитель 41f72448ff
Коммит 55cac76b93
7 изменённых файлов: 19 добавлений и 14 удалений

Просмотреть файл

@ -11,13 +11,14 @@
#include "nsIDOMElement.h"
#include "nsReadableUtils.h"
//included for new nsEditor::CreateContent()
#include "nsIContent.h"
#include "mozilla/dom/Element.h"
#ifdef NS_DEBUG
static bool gNoisy = false;
#endif
using namespace mozilla;
CreateElementTxn::CreateElementTxn()
: EditTxn()
{
@ -80,7 +81,7 @@ NS_IMETHODIMP CreateElementTxn::DoTransaction(void)
NS_ASSERTION(mEditor && mParent, "bad state");
NS_ENSURE_TRUE(mEditor && mParent, NS_ERROR_NOT_INITIALIZED);
nsCOMPtr<nsIContent> newContent;
nsCOMPtr<dom::Element> newContent;
//new call to use instead to get proper HTML element, bug# 39919
nsresult result = mEditor->CreateHTMLContent(mTag, getter_AddRefs(newContent));

Просмотреть файл

@ -1540,7 +1540,7 @@ nsEditor::ReplaceContainer(nsIDOMNode *inNode,
NS_ENSURE_SUCCESS(res, res);
// create new container
nsCOMPtr<nsIContent> newContent;
nsCOMPtr<dom::Element> newContent;
//new call to use instead to get proper HTML element, bug# 39919
res = CreateHTMLContent(aNodeType, getter_AddRefs(newContent));
@ -1658,7 +1658,7 @@ nsEditor::InsertContainerAbove( nsIDOMNode *inNode,
NS_ENSURE_SUCCESS(res, res);
// create new container
nsCOMPtr<nsIContent> newContent;
nsCOMPtr<dom::Element> newContent;
//new call to use instead to get proper HTML element, bug# 39919
res = CreateHTMLContent(aNodeType, getter_AddRefs(newContent));
@ -5034,7 +5034,7 @@ nsresult nsEditor::ClearSelection()
}
nsresult
nsEditor::CreateHTMLContent(const nsAString& aTag, nsIContent** aContent)
nsEditor::CreateHTMLContent(const nsAString& aTag, dom::Element** aContent)
{
nsCOMPtr<nsIDocument> doc = GetDocument();
NS_ENSURE_TRUE(doc, NS_ERROR_FAILURE);
@ -5047,7 +5047,8 @@ nsEditor::CreateHTMLContent(const nsAString& aTag, nsIContent** aContent)
return NS_ERROR_FAILURE;
}
return doc->CreateElem(aTag, nsnull, kNameSpaceID_XHTML, aContent);
return doc->CreateElem(aTag, nsnull, kNameSpaceID_XHTML,
reinterpret_cast<nsIContent**>(aContent));
}
nsresult

Просмотреть файл

@ -201,7 +201,8 @@ public:
nsString& aTag - tag you want
nsIContent** aContent - returned Content that was created with above namespace.
*/
nsresult CreateHTMLContent(const nsAString& aTag, nsIContent** aContent);
nsresult CreateHTMLContent(const nsAString& aTag,
mozilla::dom::Element** aContent);
// IME event handlers
virtual nsresult BeginIMEComposition();

Просмотреть файл

@ -27,6 +27,8 @@
#include "nsUnicharUtils.h"
#include "nsContentUtils.h"
using namespace mozilla;
// retrieve an integer stored into a CSS computed float value
static PRInt32 GetCSSFloatValue(nsIDOMCSSStyleDeclaration * aDecl,
const nsAString & aProperty)
@ -123,7 +125,7 @@ nsHTMLEditor::CreateAnonymousElement(const nsAString & aTag, nsIDOMNode * aPare
NS_ENSURE_TRUE(ps, NS_ERROR_NOT_INITIALIZED);
// Create a new node through the element factory
nsCOMPtr<nsIContent> newContent;
nsCOMPtr<dom::Element> newContent;
nsresult res = CreateHTMLContent(aTag, getter_AddRefs(newContent));
NS_ENSURE_SUCCESS(res, res);

Просмотреть файл

@ -2856,7 +2856,7 @@ nsHTMLEditor::CreateElementWithDefaults(const nsAString& aTagName, nsIDOMElement
// go through the transaction system
nsCOMPtr<nsIDOMElement>newElement;
nsCOMPtr<nsIContent> newContent;
nsCOMPtr<dom::Element> newContent;
nsCOMPtr<nsIDOMDocument> doc = do_QueryReferent(mDocWeak);
NS_ENSURE_TRUE(doc, NS_ERROR_NOT_INITIALIZED);

Просмотреть файл

@ -284,16 +284,16 @@ nsHTMLEditor::IsSimpleModifiableNode(nsIContent* aContent,
// "text-decoration: underline", which decomposes into four different text-*
// properties. So for now, we just create a span, add the desired style, and
// see if it matches.
nsCOMPtr<nsIContent> newSpan;
nsCOMPtr<dom::Element> newSpan;
nsresult res = CreateHTMLContent(NS_LITERAL_STRING("span"),
getter_AddRefs(newSpan));
NS_ASSERTION(NS_SUCCEEDED(res), "CreateHTMLContent failed");
NS_ENSURE_SUCCESS(res, false);
mHTMLCSSUtils->SetCSSEquivalentToHTMLStyle(newSpan->AsElement(), aProperty,
mHTMLCSSUtils->SetCSSEquivalentToHTMLStyle(newSpan, aProperty,
aAttribute, aValue,
/*suppress transaction*/ true);
return mHTMLCSSUtils->ElementsSameStyle(newSpan->AsElement(), element);
return mHTMLCSSUtils->ElementsSameStyle(newSpan, element);
}

Просмотреть файл

@ -1116,7 +1116,7 @@ nsTextEditRules::CreateBogusNodeIfNeeded(nsISelection *aSelection)
}
// Create a br.
nsCOMPtr<nsIContent> newContent;
nsCOMPtr<dom::Element> newContent;
nsresult rv = mEditor->CreateHTMLContent(NS_LITERAL_STRING("br"), getter_AddRefs(newContent));
NS_ENSURE_SUCCESS(rv, rv);