Bug 1345763 part.1 Implement AsTextEditor() in EditorBase and its subclasses and replace casts with it r=smaug

MozReview-Commit-ID: 3ZyBefyc45N

--HG--
extra : rebase_source : 0af0607849b9a19859b73b327887c895ae08036b
This commit is contained in:
Masayuki Nakano 2017-03-10 14:05:37 +09:00
Родитель e309269346
Коммит e794313540
3 изменённых файлов: 8 добавлений и 1 удалений

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

@ -119,6 +119,7 @@ class JoinNodeTransaction;
class RemoveStyleSheetTransaction;
class SplitNodeTransaction;
class TextComposition;
class TextEditor;
struct EditorDOMPoint;
namespace dom {
@ -164,6 +165,9 @@ public:
*/
EditorBase();
virtual TextEditor* AsTextEditor() = 0;
virtual const TextEditor* AsTextEditor() const = 0;
protected:
/**
* The default destructor. This should suffice. Should this be pure virtual

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

@ -510,7 +510,7 @@ HTMLEditor::InitRules()
// instantiate the rules for the html editor
mRules = new HTMLEditRules();
}
return mRules->Init(static_cast<TextEditor*>(this));
return mRules->Init(this);
}
NS_IMETHODIMP

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

@ -56,6 +56,9 @@ public:
TextEditor();
virtual TextEditor* AsTextEditor() override { return this; }
virtual const TextEditor* AsTextEditor() const override { return this; }
// nsIPlaintextEditor methods
NS_DECL_NSIPLAINTEXTEDITOR