Index: third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp |
diff --git a/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp b/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp |
index e6ccf709060eb168e2319c19fb85797ade3cc43d..a6a64a9524ba50c4af8e8dcd92a0c594dc9116fd 100644 |
--- a/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp |
+++ b/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp |
@@ -161,12 +161,7 @@ InputEvent::InputType InputTypeFromCommandType(WebEditingCommandType commandType |
return InputType::Undo; |
case CommandType::Redo: |
return InputType::Redo; |
- case CommandType::Copy: |
- return InputType::Copy; |
- case CommandType::Cut: |
- return InputType::Cut; |
- case CommandType::Paste: |
- return InputType::Paste; |
+ // Cut and Paste will be handled in |Editor::dispatchCPPEvent()|. |
// Styling. |
case CommandType::Bold: |
@@ -479,7 +474,7 @@ static bool executeCut(LocalFrame& frame, Event*, EditorCommandSource source, co |
// |canExecute()|. See also "Copy", and "Paste" command. |
if (!canWriteClipboard(frame, source)) |
return false; |
- frame.editor().cut(); |
+ frame.editor().cut(source); |
return true; |
} |
@@ -1126,7 +1121,7 @@ static bool executePaste(LocalFrame& frame, Event*, EditorCommandSource source, |
// |canExecute()|. See also "Copy", and "Cut" command. |
if (!canReadClipboard(frame, source)) |
return false; |
- frame.editor().paste(); |
+ frame.editor().paste(source); |
return true; |
} |
@@ -1145,14 +1140,14 @@ static bool executePasteGlobalSelection(LocalFrame& frame, Event*, EditorCommand |
bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode(); |
Pasteboard::generalPasteboard()->setSelectionMode(true); |
- frame.editor().paste(); |
+ frame.editor().paste(source); |
Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode); |
return true; |
} |
-static bool executePasteAndMatchStyle(LocalFrame& frame, Event*, EditorCommandSource, const String&) |
+static bool executePasteAndMatchStyle(LocalFrame& frame, Event*, EditorCommandSource source, const String&) |
{ |
- frame.editor().pasteAsPlainText(); |
+ frame.editor().pasteAsPlainText(source); |
return true; |
} |
@@ -1886,8 +1881,8 @@ bool Editor::Command::execute(const String& parameter, Event* triggeringEvent) c |
} |
} |
- // 'beforeinput' event handler may destroy |frame()|. |
- if (!m_frame || !frame().document()) |
+ // 'beforeinput' event handler may destroy target frame. |
+ if (m_frame->document()->frame() != m_frame) |
return false; |
frame().document()->updateStyleAndLayoutIgnorePendingStylesheets(); |