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

Side by Side Diff: ui/views/controls/textfield/textfield_model.cc

Issue 2126433002: Use container::back() and container::pop_back() in ui/ (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
« no previous file with comments | « ui/ozone/platform/drm/gpu/drm_device.cc ('k') | ui/views/layout/grid_layout.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ui/views/controls/textfield/textfield_model.h" 5 #include "ui/views/controls/textfield/textfield_model.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 if (HasCompositionText()) 434 if (HasCompositionText())
435 ConfirmCompositionText(); 435 ConfirmCompositionText();
436 render_text_->ClearSelection(); 436 render_text_->ClearSelection();
437 } 437 }
438 438
439 bool TextfieldModel::CanUndo() { 439 bool TextfieldModel::CanUndo() {
440 return edit_history_.size() && current_edit_ != edit_history_.end(); 440 return edit_history_.size() && current_edit_ != edit_history_.end();
441 } 441 }
442 442
443 bool TextfieldModel::CanRedo() { 443 bool TextfieldModel::CanRedo() {
444 if (!edit_history_.size()) 444 if (edit_history_.empty())
445 return false; 445 return false;
446 // There is no redo iff the current edit is the last element in the history. 446 // There is no redo iff the current edit is the last element in the history.
447 EditHistory::iterator iter = current_edit_; 447 EditHistory::iterator iter = current_edit_;
448 return iter == edit_history_.end() || // at the top. 448 return iter == edit_history_.end() || // at the top.
449 ++iter != edit_history_.end(); 449 ++iter != edit_history_.end();
450 } 450 }
451 451
452 bool TextfieldModel::Undo() { 452 bool TextfieldModel::Undo() {
453 if (!CanUndo()) 453 if (!CanUndo())
454 return false; 454 return false;
(...skipping 16 matching lines...) Expand all
471 bool TextfieldModel::Redo() { 471 bool TextfieldModel::Redo() {
472 if (!CanRedo()) 472 if (!CanRedo())
473 return false; 473 return false;
474 DCHECK(!HasCompositionText()); 474 DCHECK(!HasCompositionText());
475 if (HasCompositionText()) 475 if (HasCompositionText())
476 CancelCompositionText(); 476 CancelCompositionText();
477 477
478 if (current_edit_ == edit_history_.end()) 478 if (current_edit_ == edit_history_.end())
479 current_edit_ = edit_history_.begin(); 479 current_edit_ = edit_history_.begin();
480 else 480 else
481 current_edit_ ++; 481 current_edit_++;
Nico 2016/07/13 16:23:27 O_o
482 base::string16 old = text(); 482 base::string16 old = text();
483 size_t old_cursor = GetCursorPosition(); 483 size_t old_cursor = GetCursorPosition();
484 (*current_edit_)->Redo(this); 484 (*current_edit_)->Redo(this);
485 return old != text() || old_cursor != GetCursorPosition(); 485 return old != text() || old_cursor != GetCursorPosition();
486 } 486 }
487 487
488 bool TextfieldModel::Cut() { 488 bool TextfieldModel::Cut() {
489 if (!HasCompositionText() && HasSelection() && !render_text_->obscured()) { 489 if (!HasCompositionText() && HasSelection() && !render_text_->obscured()) {
490 ui::ScopedClipboardWriter( 490 ui::ScopedClipboardWriter(
491 ui::CLIPBOARD_TYPE_COPY_PASTE).WriteText(GetSelectedText()); 491 ui::CLIPBOARD_TYPE_COPY_PASTE).WriteText(GetSelectedText());
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 ClearComposition(); 804 ClearComposition();
805 if (delete_from != delete_to) 805 if (delete_from != delete_to)
806 render_text_->SetText(old_text.erase(delete_from, delete_to - delete_from)); 806 render_text_->SetText(old_text.erase(delete_from, delete_to - delete_from));
807 if (!new_text.empty()) 807 if (!new_text.empty())
808 render_text_->SetText(old_text.insert(new_text_insert_at, new_text)); 808 render_text_->SetText(old_text.insert(new_text_insert_at, new_text));
809 render_text_->SetCursorPosition(new_cursor_pos); 809 render_text_->SetCursorPosition(new_cursor_pos);
810 // TODO(oshima): Select text that was just undone, like Mac (but not GTK). 810 // TODO(oshima): Select text that was just undone, like Mac (but not GTK).
811 } 811 }
812 812
813 } // namespace views 813 } // namespace views
OLDNEW
« no previous file with comments | « ui/ozone/platform/drm/gpu/drm_device.cc ('k') | ui/views/layout/grid_layout.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698