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

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

Issue 2273263002: MacViewsBrowser: Fix omnibox crash due to failed DCHECK. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review. Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/textfield/textfield_test_api.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/textfield/textfield_unittest.cc
diff --git a/ui/views/controls/textfield/textfield_unittest.cc b/ui/views/controls/textfield/textfield_unittest.cc
index affd8dc47159c6d0273660df2bac6fd74e2163d5..e5570f2f0281de4f3d9ab51abf24cc0258e105d6 100644
--- a/ui/views/controls/textfield/textfield_unittest.cc
+++ b/ui/views/controls/textfield/textfield_unittest.cc
@@ -256,62 +256,6 @@ void MockInputMethod::ClearComposition() {
result_text_.clear();
}
-// A Textfield wrapper to intercept OnKey[Pressed|Released]() ressults.
-class TestTextfield : public views::Textfield {
- public:
- TestTextfield()
- : Textfield(),
- key_handled_(false),
- key_received_(false),
- weak_ptr_factory_(this) {}
-
- bool OnKeyPressed(const ui::KeyEvent& e) override {
- key_received_ = true;
-
- // Since OnKeyPressed() might destroy |this|, get a weak pointer and
- // verify it isn't null before writing the bool value to key_handled_.
- base::WeakPtr<TestTextfield> textfield(weak_ptr_factory_.GetWeakPtr());
- bool key = views::Textfield::OnKeyPressed(e);
-
- if (!textfield)
- return key;
-
- key_handled_ = key;
-
- return key_handled_;
- }
-
- bool OnKeyReleased(const ui::KeyEvent& e) override {
- key_received_ = true;
- key_handled_ = views::Textfield::OnKeyReleased(e);
- EXPECT_FALSE(key_handled_); // Textfield doesn't override OnKeyReleased.
- return key_handled_;
- }
-
- // ui::TextInputClient overrides:
- void InsertChar(const ui::KeyEvent& e) override {
- views::Textfield::InsertChar(e);
-#if defined(OS_MACOSX)
- // On Mac, characters are inserted directly rather than attempting to get a
- // unicode character from the ui::KeyEvent (which isn't always possible).
- key_received_ = true;
-#endif
- }
-
- bool key_handled() const { return key_handled_; }
- bool key_received() const { return key_received_; }
-
- void clear() { key_received_ = key_handled_ = false; }
-
- private:
- bool key_handled_;
- bool key_received_;
-
- base::WeakPtrFactory<TestTextfield> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(TestTextfield);
-};
-
// Convenience to make constructing a GestureEvent simpler.
class GestureEventForTest : public ui::GestureEvent {
public:
@@ -360,6 +304,64 @@ void SetClipboardText(ui::ClipboardType type, const std::string& text) {
namespace views {
+// A Textfield wrapper to intercept OnKey[Pressed|Released]() ressults.
+class TestTextfield : public views::Textfield {
+ public:
+ TestTextfield()
+ : Textfield(),
+ key_handled_(false),
+ key_received_(false),
+ weak_ptr_factory_(this) {}
+
+ // ui::TextInputClient overrides:
+ void InsertChar(const ui::KeyEvent& e) override {
+ views::Textfield::InsertChar(e);
+#if defined(OS_MACOSX)
+ // On Mac, characters are inserted directly rather than attempting to get a
+ // unicode character from the ui::KeyEvent (which isn't always possible).
+ key_received_ = true;
+#endif
+ }
+
+ bool key_handled() const { return key_handled_; }
+ bool key_received() const { return key_received_; }
+
+ void clear() { key_received_ = key_handled_ = false; }
+
+ private:
+ bool OnKeyPressed(const ui::KeyEvent& e) override {
msw 2016/08/26 15:19:09 Oh, can these override onkeyevent instead? and the
karandeepb 2016/08/29 09:59:34 Done. Keep forgetting about OnKeyEvent. This also
+ key_received_ = true;
+
+ // Since OnKeyPressed() might destroy |this|, get a weak pointer and
+ // verify it isn't null before writing the bool value to key_handled_.
+ base::WeakPtr<TestTextfield> textfield(weak_ptr_factory_.GetWeakPtr());
+ bool key = views::Textfield::OnKeyPressed(e);
+
+ if (!textfield)
+ return key;
+
+ key_handled_ = key;
+
+ return key_handled_;
+ }
+
+ bool OnKeyReleased(const ui::KeyEvent& e) override {
+ key_received_ = true;
+ key_handled_ = views::Textfield::OnKeyReleased(e);
+
+ // Currently Textfield::OnKeyReleased always returns false.
+ EXPECT_FALSE(key_handled_);
+ return key_handled_;
+ }
+
+ bool key_handled_;
+ bool key_received_;
+
+ base::WeakPtrFactory<TestTextfield> weak_ptr_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestTextfield);
+};
+
class TextfieldTest : public ViewsTestBase, public TextfieldController {
public:
TextfieldTest()
« no previous file with comments | « ui/views/controls/textfield/textfield_test_api.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698