Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Side by Side Diff: third_party/WebKit/Source/core/events/InputEvent.cpp

Issue 2141133003: [InputEvent] Fire 'beforeinput'/'input' for 6 text styling actions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/events/InputEvent.h" 5 #include "core/events/InputEvent.h"
6 6
7 #include "core/dom/Range.h" 7 #include "core/dom/Range.h"
8 #include "core/events/EventDispatcher.h" 8 #include "core/events/EventDispatcher.h"
9 #include "public/platform/WebEditingCommandType.h" 9 #include "public/platform/WebEditingCommandType.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 namespace { 13 namespace {
14 14
15 const struct { 15 const struct {
16 InputEvent::InputType inputType; 16 InputEvent::InputType inputType;
17 const char* stringName; 17 const char* stringName;
18 } kInputTypeStringNameMap[] = { 18 } kInputTypeStringNameMap[] = {
19 { InputEvent::InputType::None, "" }, 19 { InputEvent::InputType::None, "" },
20 { InputEvent::InputType::InsertText, "insertText" }, 20 { InputEvent::InputType::InsertText, "insertText" },
21 { InputEvent::InputType::ReplaceContent, "replaceContent" }, 21 { InputEvent::InputType::ReplaceContent, "replaceContent" },
22 { InputEvent::InputType::DeleteContent, "deleteContent" }, 22 { InputEvent::InputType::DeleteContent, "deleteContent" },
23 { InputEvent::InputType::DeleteComposedCharacter, "deleteComposedCharacter" }, 23 { InputEvent::InputType::DeleteComposedCharacter, "deleteComposedCharacter" },
24 { InputEvent::InputType::Undo, "undo" }, 24 { InputEvent::InputType::Undo, "undo" },
25 { InputEvent::InputType::Redo, "redo" }, 25 { InputEvent::InputType::Redo, "redo" },
26 { InputEvent::InputType::Bold, "bold" },
27 { InputEvent::InputType::Italic, "italic" },
28 { InputEvent::InputType::Underline, "underline" },
29 { InputEvent::InputType::StrikeThrough, "strikeThrough" },
30 { InputEvent::InputType::Superscript, "superscript" },
31 { InputEvent::InputType::Subscript, "subscript" },
26 }; 32 };
27 33
28 static_assert(arraysize(kInputTypeStringNameMap) == static_cast<size_t>(InputEve nt::InputType::NumberOfInputTypes), 34 static_assert(arraysize(kInputTypeStringNameMap) == static_cast<size_t>(InputEve nt::InputType::NumberOfInputTypes),
29 "must handle all InputEvent::InputType"); 35 "must handle all InputEvent::InputType");
30 36
31 String convertInputTypeToString(InputEvent::InputType inputType) 37 String convertInputTypeToString(InputEvent::InputType inputType)
32 { 38 {
33 const auto& it = std::begin(kInputTypeStringNameMap) + static_cast<size_t>(i nputType); 39 const auto& it = std::begin(kInputTypeStringNameMap) + static_cast<size_t>(i nputType);
34 if (it >= std::begin(kInputTypeStringNameMap) && it < std::end(kInputTypeStr ingNameMap)) 40 if (it >= std::begin(kInputTypeStringNameMap) && it < std::end(kInputTypeStr ingNameMap))
35 return AtomicString(it->stringName); 41 return AtomicString(it->stringName);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // 3. We don't want authors to hold live |Range| indefinitely by holding | InputEvent|, so we 167 // 3. We don't want authors to hold live |Range| indefinitely by holding | InputEvent|, so we
162 // clear them after dispatch. 168 // clear them after dispatch.
163 // Authors should explicitly call |getRanges()|->|toRange()| if they want to keep a copy of |Range|. 169 // Authors should explicitly call |getRanges()|->|toRange()| if they want to keep a copy of |Range|.
164 // See Editing TF meeting notes: 170 // See Editing TF meeting notes:
165 // https://docs.google.com/document/d/1hCj6QX77NYIVY0RWrMHT1Yra6t8_Qu8PopaWL G0AM58/edit?usp=sharing 171 // https://docs.google.com/document/d/1hCj6QX77NYIVY0RWrMHT1Yra6t8_Qu8PopaWL G0AM58/edit?usp=sharing
166 event().m_ranges.clear(); 172 event().m_ranges.clear();
167 return result; 173 return result;
168 } 174 }
169 175
170 } // namespace blink 176 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698