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

Unified Diff: ui/views/controls/textfield/native_textfield_views.cc

Issue 8747001: Reintroduce password support to NativeTextfieldViews (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase, const syntax, password->obscured, dead methods, DCHECK, Ctrl+[CX] tests, fix other tests Created 9 years 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/textfield/native_textfield_views.cc
diff --git a/ui/views/controls/textfield/native_textfield_views.cc b/ui/views/controls/textfield/native_textfield_views.cc
index 2163dbded451db87a95c4695aca638cc52c1ffb1..930ca5e4d4d255f39e204aec5feb2211d81426ab 100644
--- a/ui/views/controls/textfield/native_textfield_views.cc
+++ b/ui/views/controls/textfield/native_textfield_views.cc
@@ -299,7 +299,8 @@ void NativeTextfieldViews::WriteDragDataForView(views::View* sender,
int NativeTextfieldViews::GetDragOperationsForView(views::View* sender,
const gfx::Point& p) {
- if (!textfield_->IsEnabled() || !GetRenderText()->IsPointInSelection(p))
+ if (!textfield_->IsEnabled() || textfield_->IsPassword()
+ || !GetRenderText()->IsPointInSelection(p))
return ui::DragDropTypes::DRAG_NONE;
if (sender == this && !textfield_->read_only())
return ui::DragDropTypes::DRAG_MOVE | ui::DragDropTypes::DRAG_COPY;
@@ -398,7 +399,7 @@ void NativeTextfieldViews::UpdateFont() {
}
void NativeTextfieldViews::UpdateIsPassword() {
- model_->set_is_password(textfield_->IsPassword());
+ GetRenderText()->SetIsObscured(textfield_->IsPassword());
OnCaretBoundsChanged();
SchedulePaint();
OnTextInputTypeChanged();
@@ -533,9 +534,9 @@ bool NativeTextfieldViews::IsCommandIdEnabled(int command_id) const {
string16 result;
switch (command_id) {
case IDS_APP_CUT:
- return editable && model_->HasSelection();
+ return editable && model_->HasSelection() && !textfield_->IsPassword();
oshima 2011/12/06 23:57:18 I assume you'll change IsPassword in another CL?
benrg 2011/12/08 21:40:55 It's changed in 8748001, which should land someday
case IDS_APP_COPY:
- return model_->HasSelection();
+ return model_->HasSelection() && !textfield_->IsPassword();
case IDS_APP_PASTE:
ViewsDelegate::views_delegate->GetClipboard()
->ReadText(ui::Clipboard::BUFFER_STANDARD, &result);
@@ -557,23 +558,20 @@ bool NativeTextfieldViews::GetAcceleratorForCommandId(int command_id,
void NativeTextfieldViews::ExecuteCommand(int command_id) {
bool text_changed = false;
- bool editable = !textfield_->read_only();
oshima 2011/12/06 23:57:18 won't this break read_only behavior?
benrg 2011/12/08 21:40:55 I thought ExecuteCommand is only called when a men
+ DCHECK(IsCommandIdEnabled(command_id));
OnBeforeUserAction();
switch (command_id) {
case IDS_APP_CUT:
- if (editable)
- text_changed = model_->Cut();
+ text_changed = model_->Cut();
break;
case IDS_APP_COPY:
model_->Copy();
break;
case IDS_APP_PASTE:
- if (editable)
- text_changed = Paste();
+ text_changed = Paste();
break;
case IDS_APP_DELETE:
- if (editable)
- text_changed = model_->Delete();
+ text_changed = model_->Delete();
break;
case IDS_APP_SELECT_ALL:
SelectAll();

Powered by Google App Engine
This is Rietveld 408576698