OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "chrome/test/base/chrome_render_view_test.h" | 6 #include "chrome/test/base/chrome_render_view_test.h" |
7 #include "components/autofill/content/renderer/page_click_listener.h" | 7 #include "components/autofill/content/renderer/page_click_listener.h" |
8 #include "components/autofill/content/renderer/page_click_tracker.h" | 8 #include "components/autofill/content/renderer/page_click_tracker.h" |
9 #include "content/public/renderer/render_view.h" | 9 #include "content/public/renderer/render_view.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 | 158 |
159 // Click the focused text field to test that was_focused_ is set correctly. | 159 // Click the focused text field to test that was_focused_ is set correctly. |
160 EXPECT_TRUE(SimulateElementClick("textarea_1")); | 160 EXPECT_TRUE(SimulateElementClick("textarea_1")); |
161 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); | 161 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
162 EXPECT_TRUE(test_listener_.was_focused_); | 162 EXPECT_TRUE(test_listener_.was_focused_); |
163 EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_); | 163 EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_); |
164 test_listener_.ClearResults(); | 164 test_listener_.ClearResults(); |
165 } | 165 } |
166 | 166 |
167 TEST_F(PageClickTrackerTest, PageClickTrackerScaledTextareaClicked) { | 167 TEST_F(PageClickTrackerTest, PageClickTrackerScaledTextareaClicked) { |
168 EXPECT_NE(text_, text_.document().focusedElement()); | 168 EXPECT_NE(textarea_, textarea_.document().focusedElement()); |
169 view_->GetWebView()->setPageScaleFactor(3); | 169 view_->GetWebView()->setPageScaleFactor(3); |
170 view_->GetWebView()->setPinchViewportOffset(blink::WebFloatPoint(50, 50)); | 170 view_->GetWebView()->setPinchViewportOffset(blink::WebFloatPoint(50, 50)); |
171 | 171 |
172 // Click textarea_1. | 172 // Click textarea_1. |
173 SimulatePointClick(gfx::Point(30, 30)); | 173 SimulatePointClick(gfx::Point(30, 30)); |
174 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); | 174 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
175 EXPECT_FALSE(test_listener_.was_focused_); | 175 EXPECT_FALSE(test_listener_.was_focused_); |
176 EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_); | 176 EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_); |
177 } | 177 } |
178 | 178 |
| 179 TEST_F(PageClickTrackerTest, PageClickTrackerScaledTextareaTapped) { |
| 180 EXPECT_NE(textarea_, textarea_.document().focusedElement()); |
| 181 view_->GetWebView()->setPageScaleFactor(3); |
| 182 view_->GetWebView()->setPinchViewportOffset(blink::WebFloatPoint(50, 50)); |
| 183 |
| 184 // Tap textarea_1. |
| 185 SimulateRectTap(gfx::Rect(30, 30, 30, 30)); |
| 186 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
| 187 EXPECT_FALSE(test_listener_.was_focused_); |
| 188 EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_); |
| 189 } |
| 190 |
179 TEST_F(PageClickTrackerTest, PageClickTrackerDisabledInputClickedNoEvent) { | 191 TEST_F(PageClickTrackerTest, PageClickTrackerDisabledInputClickedNoEvent) { |
180 EXPECT_NE(text_, text_.document().focusedElement()); | 192 EXPECT_NE(text_, text_.document().focusedElement()); |
181 // Click the text field once. | 193 // Click the text field once. |
182 EXPECT_TRUE(SimulateElementClick("text_1")); | 194 EXPECT_TRUE(SimulateElementClick("text_1")); |
183 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); | 195 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
184 EXPECT_FALSE(test_listener_.was_focused_); | 196 EXPECT_FALSE(test_listener_.was_focused_); |
185 EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_); | 197 EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_); |
186 test_listener_.ClearResults(); | 198 test_listener_.ClearResults(); |
187 | 199 |
188 // Click the disabled element. | 200 // Click the disabled element. |
189 EXPECT_TRUE(SimulateElementClick("button_2")); | 201 EXPECT_TRUE(SimulateElementClick("button_2")); |
190 EXPECT_FALSE(test_listener_.form_control_element_clicked_called_); | 202 EXPECT_FALSE(test_listener_.form_control_element_clicked_called_); |
191 } | 203 } |
192 | 204 |
| 205 TEST_F(PageClickTrackerTest, |
| 206 PageClickTrackerClickDisabledInputDoesNotResetClickCounter) { |
| 207 EXPECT_NE(text_, text_.document().focusedElement()); |
| 208 // Click the text field once. |
| 209 EXPECT_TRUE(SimulateElementClick("text_1")); |
| 210 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
| 211 EXPECT_FALSE(test_listener_.was_focused_); |
| 212 EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_); |
| 213 test_listener_.ClearResults(); |
| 214 |
| 215 // Click the disabled element. |
| 216 EXPECT_TRUE(SimulateElementClick("button_2")); |
| 217 EXPECT_FALSE(test_listener_.form_control_element_clicked_called_); |
| 218 test_listener_.ClearResults(); |
| 219 |
| 220 // Click the text field second time. Page click tracker should know that this |
| 221 // is the second click. |
| 222 EXPECT_TRUE(SimulateElementClick("text_1")); |
| 223 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
| 224 EXPECT_TRUE(test_listener_.was_focused_); |
| 225 EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_); |
| 226 } |
| 227 |
| 228 TEST_F(PageClickTrackerTest, PageClickTrackerTapNearEdgeIsPageClick) { |
| 229 EXPECT_NE(text_, text_.document().focusedElement()); |
| 230 // Tap outside of element bounds, but tap width is overlapping the field. |
| 231 gfx::Rect element_bounds = GetElementBounds("text_1"); |
| 232 SimulateRectTap(element_bounds - |
| 233 gfx::Vector2d(element_bounds.width() / 2 + 1, 0)); |
| 234 EXPECT_TRUE(test_listener_.form_control_element_clicked_called_); |
| 235 EXPECT_FALSE(test_listener_.was_focused_); |
| 236 EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_); |
| 237 } |
| 238 |
193 } // namespace autofill | 239 } // namespace autofill |
OLD | NEW |