-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1149826 - Part 1. Add eContentCommandReplaceText. r=masayuki
When using autocorrect, we should use `insertReplacementText` according to w3c/input-events#152. So I would like to add eContentCommandReplaceText command for this. Also, this command has an option that is source string text. When processing text subsitution, parent process doesn't know whether target replaced text is modified. So I add this option for check. Differential Revision: https://phabricator.services.mozilla.com/D213511
- Loading branch information
1 parent
16442cb
commit 131eaf7
Showing
25 changed files
with
804 additions
and
142 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | ||
/* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | ||
|
||
#include "AutoSelectionRestorer.h" | ||
|
||
namespace mozilla { | ||
|
||
AutoSelectionRestorer::AutoSelectionRestorer(EditorBase* aEditor) { | ||
if (!aEditor) { | ||
return; | ||
} | ||
if (aEditor->ArePreservingSelection()) { | ||
// We already have initialized mParentData::mSavedSelection, so this must | ||
// be nested call. | ||
return; | ||
} | ||
MOZ_ASSERT(aEditor->IsEditActionDataAvailable()); | ||
mEditor = aEditor; | ||
mEditor->PreserveSelectionAcrossActions(); | ||
} | ||
|
||
AutoSelectionRestorer::~AutoSelectionRestorer() { | ||
if (!mEditor || !mEditor->ArePreservingSelection()) { | ||
return; | ||
} | ||
DebugOnly<nsresult> rvIgnored = mEditor->RestorePreservedSelection(); | ||
NS_WARNING_ASSERTION( | ||
NS_SUCCEEDED(rvIgnored), | ||
"EditorBase::RestorePreservedSelection() failed, but ignored"); | ||
} | ||
|
||
void AutoSelectionRestorer::Abort() { | ||
if (mEditor) { | ||
mEditor->StopPreservingSelection(); | ||
} | ||
} | ||
|
||
} // namespace mozilla |
Oops, something went wrong.