Index: views/controls/textfield/native_textfield_win.cc |
=================================================================== |
--- views/controls/textfield/native_textfield_win.cc (revision 107635) |
+++ views/controls/textfield/native_textfield_win.cc (working copy) |
@@ -173,18 +173,16 @@ |
string16 NativeTextfieldWin::GetText() const { |
int len = GetTextLength() + 1; |
- if (len <= 1) |
- return string16(); |
- |
string16 str; |
- GetWindowText(WriteInto(&str, len), len); |
+ if (len > 1) |
+ GetWindowText(WriteInto(&str, len), len); |
// The text get from GetWindowText() might be wrapped with explicit bidi |
// control characters. Refer to UpdateText() for detail. Without such |
// wrapping, in RTL chrome, a pure LTR string ending with parenthesis will |
// not be displayed correctly in a textfield. For example, "Yahoo!" will be |
// displayed as "!Yahoo", and "Google (by default)" will be displayed as |
// "(Google (by default". |
- return base::i18n::StripWrappingBidiControlCharacters(WideToUTF16(str)); |
+ return base::i18n::StripWrappingBidiControlCharacters(str); |
} |
void NativeTextfieldWin::UpdateText() { |
@@ -206,15 +204,11 @@ |
} |
string16 NativeTextfieldWin::GetSelectedText() const { |
- // Figure out the length of the selection. |
CHARRANGE sel; |
GetSel(sel); |
- if (sel.cpMin == sel.cpMax) // GetSelText() crashes on NULL input. |
- return string16(); |
- |
- // Grab the selected text. |
string16 str; |
- GetSelText(WriteInto(&str, sel.cpMax - sel.cpMin + 1)); |
+ if (sel.cpMin != sel.cpMax) |
+ GetSelText(WriteInto(&str, sel.cpMax - sel.cpMin + 1)); |
return str; |
} |