| 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 |