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

Side by Side Diff: third_party/WebKit/Source/core/editing/InputMethodController.cpp

Issue 2151353002: [InputEvent] Replace |EditAction| with |InputType| (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@inputevent-text-styling
Patch Set: Replaced |EditAction| with |InputType| 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 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 if (!hasComposition()) 263 if (!hasComposition())
264 return; 264 return;
265 265
266 Editor::RevealSelectionScope revealSelectionScope(&editor()); 266 Editor::RevealSelectionScope revealSelectionScope(&editor());
267 267
268 if (frame().selection().isNone()) 268 if (frame().selection().isNone())
269 return; 269 return;
270 270
271 clear(); 271 clear();
272 272
273 // TODO(chongz): Update InputType::DeleteComposedCharacter with latest discu ssion. 273 // TODO(chongz): Figure out which InputType should we use here.
274 dispatchBeforeInputFromComposition(frame().document()->focusedElement(), Inp utEvent::InputType::DeleteComposedCharacter, emptyString(), InputEvent::EventCan celable::NotCancelable); 274 dispatchBeforeInputFromComposition(frame().document()->focusedElement(), Inp utEvent::InputType::DeleteComposedCharacterBackward, emptyString(), InputEvent:: EventCancelable::NotCancelable);
275 dispatchCompositionUpdateEvent(frame(), emptyString()); 275 dispatchCompositionUpdateEvent(frame(), emptyString());
276 insertTextDuringCompositionWithEvents(frame(), emptyString(), 0, TypingComma nd::TextCompositionType::TextCompositionConfirm); 276 insertTextDuringCompositionWithEvents(frame(), emptyString(), 0, TypingComma nd::TextCompositionType::TextCompositionConfirm);
277 // Event handler might destroy document. 277 // Event handler might destroy document.
278 if (!frame().document()) 278 if (!frame().document())
279 return; 279 return;
280 280
281 // An open typing command that disagrees about current selection would cause 281 // An open typing command that disagrees about current selection would cause
282 // issues with typing later on. 282 // issues with typing later on.
283 TypingCommand::closeTyping(m_frame); 283 TypingCommand::closeTyping(m_frame);
284 284
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 // only the last code-point so that it's possible for a user to correct 547 // only the last code-point so that it's possible for a user to correct
548 // a composition without starting it from the beginning. 548 // a composition without starting it from the beginning.
549 // http://crbug.com/37993 549 // http://crbug.com/37993
550 do { 550 do {
551 if (!setSelectionOffsets(PlainTextRange(std::max(static_cast<int>(select ionOffsets.start()) - before, 0), selectionOffsets.end() + after))) 551 if (!setSelectionOffsets(PlainTextRange(std::max(static_cast<int>(select ionOffsets.start()) - before, 0), selectionOffsets.end() + after)))
552 return; 552 return;
553 if (before == 0) 553 if (before == 0)
554 break; 554 break;
555 ++before; 555 ++before;
556 } while (frame().selection().start() == frame().selection().end() && before <= static_cast<int>(selectionOffsets.start())); 556 } while (frame().selection().start() == frame().selection().end() && before <= static_cast<int>(selectionOffsets.start()));
557 // TODO(chongz): New spec might want to change InputType. 557 // TODO(chongz): Find a way to distinguish Forward and Backward.
558 // https://github.com/w3c/editing/issues/125#issuecomment-213041256 558 dispatchBeforeInputEditorCommand(m_frame->document()->focusedElement(), Inpu tEvent::InputType::DeleteContentBackward, emptyString(), new RangeVector(1, m_fr ame->selection().firstRange()));
559 dispatchBeforeInputEditorCommand(m_frame->document()->focusedElement(), Inpu tEvent::InputType::DeleteContent, emptyString(), new RangeVector(1, m_frame->sel ection().firstRange()));
560 TypingCommand::deleteSelection(*frame().document()); 559 TypingCommand::deleteSelection(*frame().document());
561 } 560 }
562 561
563 DEFINE_TRACE(InputMethodController) 562 DEFINE_TRACE(InputMethodController)
564 { 563 {
565 visitor->trace(m_frame); 564 visitor->trace(m_frame);
566 visitor->trace(m_compositionRange); 565 visitor->trace(m_compositionRange);
567 } 566 }
568 567
569 } // namespace blink 568 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/editing/Editor.cpp ('k') | third_party/WebKit/Source/core/editing/commands/ApplyStyleCommand.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698