OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "base/memory/ptr_util.h" | 5 #include "base/memory/ptr_util.h" |
6 #include "blimp/client/core/contents/ime_feature.h" | 6 #include "blimp/client/core/contents/ime_feature.h" |
7 #include "blimp/client/core/contents/mock_ime_feature_delegate.h" | 7 #include "blimp/client/core/contents/mock_ime_feature_delegate.h" |
8 #include "blimp/client/core/contents/mock_navigation_feature_delegate.h" | 8 #include "blimp/client/core/contents/mock_navigation_feature_delegate.h" |
9 #include "blimp/client/core/contents/navigation_feature.h" | 9 #include "blimp/client/core/contents/navigation_feature.h" |
10 #include "blimp/client/core/contents/tab_control_feature.h" | 10 #include "blimp/client/core/contents/tab_control_feature.h" |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 std::unique_ptr<client::TestClientSession> client_session_; | 113 std::unique_ptr<client::TestClientSession> client_session_; |
114 std::string last_page_title_; | 114 std::string last_page_title_; |
115 | 115 |
116 private: | 116 private: |
117 DISALLOW_COPY_AND_ASSIGN(InputBrowserTest); | 117 DISALLOW_COPY_AND_ASSIGN(InputBrowserTest); |
118 }; | 118 }; |
119 | 119 |
120 IN_PROC_BROWSER_TEST_F(InputBrowserTest, InputText) { | 120 IN_PROC_BROWSER_TEST_F(InputBrowserTest, InputText) { |
121 LoadPage(kInputPagePath); | 121 LoadPage(kInputPagePath); |
122 | 122 |
123 blink::WebGestureEvent event; | 123 blink::WebGestureEvent event(blink::WebInputEvent::Type::GestureTap, |
124 event.type = blink::WebInputEvent::Type::GestureTap; | 124 blink::WebInputEvent::NoModifiers, |
| 125 blink::WebInputEvent::TimeStampForTesting); |
125 client::ImeFeature::WebInputRequest request; | 126 client::ImeFeature::WebInputRequest request; |
126 | 127 |
127 // Send a tap event from the client and expect the IME dialog to show. | 128 // Send a tap event from the client and expect the IME dialog to show. |
128 EXPECT_CALL(client_ime_feature_delegate_, OnShowImeRequested(_)) | 129 EXPECT_CALL(client_ime_feature_delegate_, OnShowImeRequested(_)) |
129 .Times(AtLeast(1)) | 130 .Times(AtLeast(1)) |
130 .WillOnce( | 131 .WillOnce( |
131 DoAll(InvokeWithoutArgs(this, &InputBrowserTest::SignalCompletion), | 132 DoAll(InvokeWithoutArgs(this, &InputBrowserTest::SignalCompletion), |
132 SaveArg<0>(&request))); | 133 SaveArg<0>(&request))); |
133 client_session_->GetRenderWidgetFeature()->SendWebGestureEvent(kDummyTabId, 1, | 134 client_session_->GetRenderWidgetFeature()->SendWebGestureEvent(kDummyTabId, 1, |
134 event); | 135 event); |
135 RunAndVerify(); | 136 RunAndVerify(); |
136 | 137 |
137 // Enter text from the client and expect the input.html JavaScript to update | 138 // Enter text from the client and expect the input.html JavaScript to update |
138 // the page title. | 139 // the page title. |
139 EXPECT_CALL(client_nav_feature_delegate_, OnTitleChanged(kDummyTabId, "test")) | 140 EXPECT_CALL(client_nav_feature_delegate_, OnTitleChanged(kDummyTabId, "test")) |
140 .WillOnce(InvokeWithoutArgs(this, &InputBrowserTest::SignalCompletion)); | 141 .WillOnce(InvokeWithoutArgs(this, &InputBrowserTest::SignalCompletion)); |
141 | 142 |
142 client::ImeFeature::WebInputResponse response; | 143 client::ImeFeature::WebInputResponse response; |
143 response.text = "test"; | 144 response.text = "test"; |
144 response.submit = false; | 145 response.submit = false; |
145 request.show_ime_callback.Run(response); | 146 request.show_ime_callback.Run(response); |
146 RunAndVerify(); | 147 RunAndVerify(); |
147 } | 148 } |
148 | 149 |
149 IN_PROC_BROWSER_TEST_F(InputBrowserTest, InputTextAndSubmit) { | 150 IN_PROC_BROWSER_TEST_F(InputBrowserTest, InputTextAndSubmit) { |
150 LoadPage(kInputPagePath); | 151 LoadPage(kInputPagePath); |
151 | 152 |
152 blink::WebGestureEvent event; | 153 blink::WebGestureEvent event(blink::WebInputEvent::Type::GestureTap, |
153 event.type = blink::WebInputEvent::Type::GestureTap; | 154 blink::WebInputEvent::NoModifiers, |
| 155 blink::WebInputEvent::TimeStampForTesting); |
154 client::ImeFeature::WebInputRequest request; | 156 client::ImeFeature::WebInputRequest request; |
155 | 157 |
156 // Send a tap event from the client and expect the IME dialog to show. | 158 // Send a tap event from the client and expect the IME dialog to show. |
157 EXPECT_CALL(client_ime_feature_delegate_, OnShowImeRequested(_)) | 159 EXPECT_CALL(client_ime_feature_delegate_, OnShowImeRequested(_)) |
158 .Times(AtLeast(1)) | 160 .Times(AtLeast(1)) |
159 .WillOnce( | 161 .WillOnce( |
160 DoAll(InvokeWithoutArgs(this, &InputBrowserTest::SignalCompletion), | 162 DoAll(InvokeWithoutArgs(this, &InputBrowserTest::SignalCompletion), |
161 SaveArg<0>(&request))); | 163 SaveArg<0>(&request))); |
162 client_session_->GetRenderWidgetFeature()->SendWebGestureEvent(kDummyTabId, 1, | 164 client_session_->GetRenderWidgetFeature()->SendWebGestureEvent(kDummyTabId, 1, |
163 event); | 165 event); |
164 RunAndVerify(); | 166 RunAndVerify(); |
165 | 167 |
166 // Enter text from client and submit the form. | 168 // Enter text from client and submit the form. |
167 client::ImeFeature::WebInputResponse response; | 169 client::ImeFeature::WebInputResponse response; |
168 response.text = "test"; | 170 response.text = "test"; |
169 response.submit = true; | 171 response.submit = true; |
170 request.show_ime_callback.Run(response); | 172 request.show_ime_callback.Run(response); |
171 | 173 |
172 content::DOMMessageQueue queue; | 174 content::DOMMessageQueue queue; |
173 std::string status; | 175 std::string status; |
174 EXPECT_TRUE(queue.WaitForMessage(&status)); | 176 EXPECT_TRUE(queue.WaitForMessage(&status)); |
175 EXPECT_EQ(status, "\"Submitted\""); | 177 EXPECT_EQ(status, "\"Submitted\""); |
176 } | 178 } |
177 | 179 |
178 } // namespace | 180 } // namespace |
179 } // namespace blimp | 181 } // namespace blimp |
OLD | NEW |