mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 17:23:59 +00:00
Bug 1716728 - Part 7: Move mPaddingBRElementForEmptyEditor to HTMLEditor r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D118074
This commit is contained in:
parent
89ab198242
commit
e40714855d
@ -205,7 +205,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(EditorBase)
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mRootElement)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mPaddingBRElementForEmptyEditor)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mSelectionController)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocument)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mIMEContentObserver)
|
||||
@ -230,7 +229,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(EditorBase)
|
||||
return NS_SUCCESS_INTERRUPTED_TRAVERSE;
|
||||
}
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mRootElement)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPaddingBRElementForEmptyEditor)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSelectionController)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mDocument)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mIMEContentObserver)
|
||||
@ -645,7 +643,6 @@ void EditorBase::PreDestroy(bool aDestroyingFrames) {
|
||||
mTextInputListener = nullptr;
|
||||
mSpellcheckCheckboxState = eTriUnset;
|
||||
mRootElement = nullptr;
|
||||
mPaddingBRElementForEmptyEditor = nullptr;
|
||||
|
||||
// Transaction may grab this instance. Therefore, they should be released
|
||||
// here for stopping the circular reference with this instance.
|
||||
|
@ -2810,10 +2810,6 @@ class EditorBase : public nsIEditor,
|
||||
// Cached root node.
|
||||
RefPtr<Element> mRootElement;
|
||||
|
||||
// mPaddingBRElementForEmptyEditor should be used for placing caret
|
||||
// at proper position when editor is empty.
|
||||
RefPtr<dom::HTMLBRElement> mPaddingBRElementForEmptyEditor;
|
||||
|
||||
// The form field as an event receiver.
|
||||
nsCOMPtr<dom::EventTarget> mEventTarget;
|
||||
RefPtr<EditorEventListener> mEventListener;
|
||||
|
@ -189,6 +189,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLEditor, EditorBase)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mTypeInState)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mComposerCommandsUpdater)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mChangedRangeForTopLevelEditSubAction)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mPaddingBRElementForEmptyEditor)
|
||||
tmp->HideAnonymousEditingUIs();
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
@ -196,6 +197,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLEditor, EditorBase)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mTypeInState)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mComposerCommandsUpdater)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mChangedRangeForTopLevelEditSubAction)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPaddingBRElementForEmptyEditor)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mTopLeftHandle)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mTopHandle)
|
||||
@ -357,6 +359,8 @@ void HTMLEditor::PreDestroy(bool aDestroyingFrames) {
|
||||
HideAnonymousEditingUIs();
|
||||
}
|
||||
|
||||
mPaddingBRElementForEmptyEditor = nullptr;
|
||||
|
||||
EditorBase::PreDestroy(aDestroyingFrames);
|
||||
}
|
||||
|
||||
|
@ -4306,6 +4306,10 @@ class HTMLEditor final : public EditorBase,
|
||||
RefPtr<Runnable> mPendingRootElementUpdatedRunner;
|
||||
RefPtr<Runnable> mPendingDocumentModifiedRunner;
|
||||
|
||||
// mPaddingBRElementForEmptyEditor should be used for placing caret
|
||||
// at proper position when editor is empty.
|
||||
RefPtr<dom::HTMLBRElement> mPaddingBRElementForEmptyEditor;
|
||||
|
||||
bool mCRInParagraphCreatesParagraph;
|
||||
|
||||
bool mCSSAware;
|
||||
|
@ -329,10 +329,6 @@ already_AddRefed<Element> TextEditor::GetInputEventTargetElement() const {
|
||||
}
|
||||
|
||||
bool TextEditor::IsEmpty() const {
|
||||
if (mPaddingBRElementForEmptyEditor) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Even if there is no padding <br> element for empty editor, we should be
|
||||
// detected as empty editor if all the children are text nodes and these
|
||||
// have no content.
|
||||
|
Loading…
Reference in New Issue
Block a user