зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1623333: part 3) Assert `EditorBase::SelectionRefPtr` has type `eNormal`. r=masayuki
Simplifies reasoning about it. Differential Revision: https://phabricator.services.mozilla.com/D67444 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
d252ed1175
Коммит
1c4dcdbce9
|
@ -6096,6 +6096,9 @@ EditorBase::AutoEditActionDataSetter::AutoEditActionDataSetter(
|
|||
// If we're nested edit action, copies necessary data from the parent.
|
||||
if (mParentData) {
|
||||
mSelection = mParentData->mSelection;
|
||||
MOZ_ASSERT(!mSelection ||
|
||||
(mSelection->GetType() == SelectionType::eNormal));
|
||||
|
||||
// If we're eNotEditing, we should inherit the parent's edit action.
|
||||
// This may occur if creator or its callee use public methods which
|
||||
// just returns something.
|
||||
|
@ -6115,6 +6118,9 @@ EditorBase::AutoEditActionDataSetter::AutoEditActionDataSetter(
|
|||
if (NS_WARN_IF(!mSelection)) {
|
||||
return;
|
||||
}
|
||||
|
||||
MOZ_ASSERT(mSelection->GetType() == SelectionType::eNormal);
|
||||
|
||||
mEditAction = aEditAction;
|
||||
mDirectionOfTopLevelEditSubAction = eNone;
|
||||
if (mEditorBase.mIsHTMLEditorClass) {
|
||||
|
|
|
@ -874,7 +874,13 @@ class EditorBase : public nsIEditor,
|
|||
|
||||
bool IsCanceled() const { return mBeforeInputEventCanceled; }
|
||||
|
||||
const RefPtr<Selection>& SelectionRefPtr() const { return mSelection; }
|
||||
const RefPtr<Selection>& SelectionRefPtr() const {
|
||||
MOZ_ASSERT(!mSelection ||
|
||||
(mSelection->GetType() == SelectionType::eNormal));
|
||||
|
||||
return mSelection;
|
||||
}
|
||||
|
||||
nsIPrincipal* GetPrincipal() const { return mPrincipal; }
|
||||
EditAction GetEditAction() const { return mEditAction; }
|
||||
|
||||
|
@ -1040,6 +1046,8 @@ class EditorBase : public nsIEditor,
|
|||
}
|
||||
|
||||
void UpdateSelectionCache(Selection& aSelection) {
|
||||
MOZ_ASSERT(aSelection.GetType() == SelectionType::eNormal);
|
||||
|
||||
AutoEditActionDataSetter* actionData = this;
|
||||
while (actionData) {
|
||||
if (actionData->mSelection) {
|
||||
|
@ -1217,6 +1225,9 @@ class EditorBase : public nsIEditor,
|
|||
*/
|
||||
const RefPtr<Selection>& SelectionRefPtr() const {
|
||||
MOZ_ASSERT(mEditActionData);
|
||||
MOZ_ASSERT(mEditActionData->SelectionRefPtr()->GetType() ==
|
||||
SelectionType::eNormal);
|
||||
|
||||
return mEditActionData->SelectionRefPtr();
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче