Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "content/browser/frame_host/input/legacy_ipc_frame_input_handler.h" | |
| 6 | |
| 7 #include "base/strings/utf_string_conversions.h" | |
| 8 #include "content/browser/renderer_host/render_widget_host_impl.h" | |
| 9 #include "content/common/input_messages.h" | |
| 10 | |
| 11 namespace content { | |
| 12 | |
| 13 LegacyIPCFrameInputHandler::LegacyIPCFrameInputHandler( | |
| 14 RenderFrameHostImpl* frame_host, | |
| 15 int routing_id) | |
| 16 : frame_host_(frame_host), routing_id_(routing_id) { | |
| 17 DCHECK(frame_host); | |
| 18 } | |
| 19 | |
| 20 LegacyIPCFrameInputHandler::~LegacyIPCFrameInputHandler() {} | |
| 21 | |
| 22 void LegacyIPCFrameInputHandler::SetCompositionFromExistingText( | |
| 23 int32_t start, | |
| 24 int32_t end, | |
| 25 const std::vector<ui::CompositionUnderline>& ui_underlines) { | |
| 26 std::vector<blink::WebCompositionUnderline> underlines; | |
| 27 for (const auto& underline : ui_underlines) { | |
| 28 blink::WebCompositionUnderline blink_underline( | |
| 29 underline.start_offset, underline.end_offset, underline.color, | |
| 30 underline.thick, underline.background_color); | |
| 31 underlines.push_back(blink_underline); | |
| 32 } | |
| 33 | |
| 34 SendInput(base::WrapUnique(new InputMsg_SetCompositionFromExistingText( | |
|
dcheng
2017/05/17 04:49:06
General nit: writing base::MakeUnique<T>(...) is p
dtapuska
2017/05/17 17:08:07
Done.
| |
| 35 routing_id_, start, end, underlines))); | |
| 36 } | |
| 37 | |
| 38 void LegacyIPCFrameInputHandler::ExtendSelectionAndDelete(int32_t before, | |
| 39 int32_t after) { | |
| 40 SendInput(base::WrapUnique( | |
| 41 new InputMsg_ExtendSelectionAndDelete(routing_id_, before, after))); | |
| 42 } | |
| 43 | |
| 44 void LegacyIPCFrameInputHandler::DeleteSurroundingText(int32_t before, | |
| 45 int32_t after) { | |
| 46 SendInput(base::WrapUnique( | |
| 47 new InputMsg_DeleteSurroundingText(routing_id_, before, after))); | |
| 48 } | |
| 49 | |
| 50 void LegacyIPCFrameInputHandler::DeleteSurroundingTextInCodePoints( | |
| 51 int32_t before, | |
| 52 int32_t after) { | |
| 53 SendInput(base::WrapUnique(new InputMsg_DeleteSurroundingTextInCodePoints( | |
| 54 routing_id_, before, after))); | |
| 55 } | |
| 56 | |
| 57 void LegacyIPCFrameInputHandler::SetEditableSelectionOffsets(int32_t start, | |
| 58 int32_t end) { | |
| 59 SendInput(base::WrapUnique( | |
| 60 new InputMsg_SetEditableSelectionOffsets(routing_id_, start, end))); | |
| 61 } | |
| 62 | |
| 63 void LegacyIPCFrameInputHandler::ExecuteEditCommand( | |
| 64 const std::string& command, | |
| 65 const base::Optional<std::string>& value) { | |
| 66 if (!value.has_value()) { | |
|
dcheng
2017/05/17 04:49:06
Nit: this could be written as !value
dtapuska
2017/05/17 17:08:07
Done.
| |
| 67 SendInput(base::WrapUnique( | |
| 68 new InputMsg_ExecuteNoValueEditCommand(routing_id_, command))); | |
| 69 } | |
| 70 } | |
| 71 | |
| 72 void LegacyIPCFrameInputHandler::Undo() { | |
| 73 SendInput(base::WrapUnique(new InputMsg_Undo(routing_id_))); | |
| 74 } | |
| 75 | |
| 76 void LegacyIPCFrameInputHandler::Redo() { | |
| 77 SendInput(base::WrapUnique(new InputMsg_Redo(routing_id_))); | |
| 78 } | |
| 79 | |
| 80 void LegacyIPCFrameInputHandler::Cut() { | |
| 81 SendInput(base::WrapUnique(new InputMsg_Cut(routing_id_))); | |
| 82 } | |
| 83 | |
| 84 void LegacyIPCFrameInputHandler::Copy() { | |
| 85 SendInput(base::WrapUnique(new InputMsg_Copy(routing_id_))); | |
| 86 } | |
| 87 | |
| 88 void LegacyIPCFrameInputHandler::CopyToFindPboard() { | |
| 89 #if defined(OS_MACOSX) | |
| 90 SendInput(base::WrapUnique(new InputMsg_CopyToFindPboard(routing_id_))); | |
| 91 #endif | |
| 92 } | |
| 93 | |
| 94 void LegacyIPCFrameInputHandler::Paste() { | |
| 95 SendInput(base::WrapUnique(new InputMsg_Paste(routing_id_))); | |
| 96 } | |
| 97 | |
| 98 void LegacyIPCFrameInputHandler::PasteAndMatchStyle() { | |
| 99 SendInput(base::WrapUnique(new InputMsg_PasteAndMatchStyle(routing_id_))); | |
| 100 } | |
| 101 | |
| 102 void LegacyIPCFrameInputHandler::Replace(const std::string& word) { | |
| 103 SendInput(base::WrapUnique( | |
| 104 new InputMsg_Replace(routing_id_, base::UTF8ToUTF16(word)))); | |
| 105 } | |
| 106 | |
| 107 void LegacyIPCFrameInputHandler::ReplaceMisspelling(const std::string& word) { | |
| 108 SendInput(base::WrapUnique( | |
| 109 new InputMsg_ReplaceMisspelling(routing_id_, base::UTF8ToUTF16(word)))); | |
| 110 } | |
| 111 | |
| 112 void LegacyIPCFrameInputHandler::Delete() { | |
| 113 SendInput(base::WrapUnique(new InputMsg_Delete(routing_id_))); | |
| 114 } | |
| 115 | |
| 116 void LegacyIPCFrameInputHandler::SelectAll() { | |
| 117 SendInput(base::WrapUnique(new InputMsg_SelectAll(routing_id_))); | |
| 118 } | |
| 119 | |
| 120 void LegacyIPCFrameInputHandler::CollapseSelection() { | |
| 121 SendInput(base::WrapUnique(new InputMsg_CollapseSelection(routing_id_))); | |
| 122 } | |
| 123 | |
| 124 void LegacyIPCFrameInputHandler::SelectRange(const gfx::Point& point, | |
| 125 const gfx::Point& extent) { | |
| 126 SendInput( | |
| 127 base::WrapUnique(new InputMsg_SelectRange(routing_id_, point, extent))); | |
| 128 } | |
| 129 | |
| 130 void LegacyIPCFrameInputHandler::AdjustSelectionByCharacterOffset(int32_t start, | |
| 131 int32_t end) { | |
| 132 SendInput(base::WrapUnique( | |
| 133 new InputMsg_AdjustSelectionByCharacterOffset(routing_id_, start, end))); | |
| 134 } | |
| 135 | |
| 136 void LegacyIPCFrameInputHandler::MoveRangeSelectionExtent( | |
| 137 const gfx::Point& extent) { | |
| 138 SendInput(base::WrapUnique( | |
| 139 new InputMsg_MoveRangeSelectionExtent(routing_id_, extent))); | |
| 140 } | |
| 141 | |
| 142 void LegacyIPCFrameInputHandler::SendInput( | |
| 143 std::unique_ptr<IPC::Message> message) { | |
| 144 frame_host_->GetRenderWidgetHost()->input_router()->SendInput( | |
| 145 std::move(message)); | |
| 146 } | |
| 147 | |
| 148 } // namespace content | |
| OLD | NEW |