diff --git a/editor/libeditor/EditorBase.cpp b/editor/libeditor/EditorBase.cpp index c1537ac99033..b7af757ff18e 100644 --- a/editor/libeditor/EditorBase.cpp +++ b/editor/libeditor/EditorBase.cpp @@ -1564,7 +1564,18 @@ bool EditorBase::IsCutCommandEnabled() const { return CheckForClipboardCommandListener(nsGkAtoms::oncut, eCut); } -NS_IMETHODIMP EditorBase::Copy() { return NS_ERROR_NOT_IMPLEMENTED; } +NS_IMETHODIMP EditorBase::Copy() { + AutoEditActionDataSetter editActionData(*this, EditAction::eCopy); + if (NS_WARN_IF(!editActionData.CanHandle())) { + return NS_ERROR_NOT_INITIALIZED; + } + + bool actionTaken = false; + FireClipboardEvent(eCopy, nsIClipboard::kGlobalClipboard, &actionTaken); + + return EditorBase::ToGenericNSResult( + actionTaken ? NS_OK : NS_ERROR_EDITOR_ACTION_CANCELED); +} NS_IMETHODIMP EditorBase::CanCopy(bool* aCanCopy) { if (NS_WARN_IF(!aCanCopy)) { diff --git a/editor/libeditor/TextEditor.cpp b/editor/libeditor/TextEditor.cpp index 605a2e79bade..fd4667f44fdc 100644 --- a/editor/libeditor/TextEditor.cpp +++ b/editor/libeditor/TextEditor.cpp @@ -595,19 +595,6 @@ bool TextEditor::IsCopyToClipboardAllowedInternal() const { return mUnmaskedStart <= selectionStart && UnmaskedEnd() >= selectionEnd; } -NS_IMETHODIMP TextEditor::Copy() { - AutoEditActionDataSetter editActionData(*this, EditAction::eCopy); - if (NS_WARN_IF(!editActionData.CanHandle())) { - return NS_ERROR_NOT_INITIALIZED; - } - - bool actionTaken = false; - FireClipboardEvent(eCopy, nsIClipboard::kGlobalClipboard, &actionTaken); - - return EditorBase::ToGenericNSResult( - actionTaken ? NS_OK : NS_ERROR_EDITOR_ACTION_CANCELED); -} - bool TextEditor::CanDeleteSelection() const { AutoEditActionDataSetter editActionData(*this, EditAction::eNotEditing); if (NS_WARN_IF(!editActionData.CanHandle())) { diff --git a/editor/libeditor/TextEditor.h b/editor/libeditor/TextEditor.h index 4694c4dee51d..08f1c446589d 100644 --- a/editor/libeditor/TextEditor.h +++ b/editor/libeditor/TextEditor.h @@ -61,8 +61,6 @@ class TextEditor : public EditorBase, public nsITimerCallback, public nsINamed { NS_IMETHOD GetTextLength(int32_t* aCount) override; - NS_IMETHOD Copy() override; - /** * CanDeleteSelection() returns true if `Selection` is not collapsed and * it's allowed to be removed.