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

Unified Diff: chrome/renderer/autofill/page_click_tracker_browsertest.cc

Issue 884583002: [autofill] Show autofill popup when focusing a field by tapping near its edge. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bounds-change
Patch Set: Use Blink hit testing Created 5 years, 10 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 | « no previous file | components/autofill/content/renderer/page_click_tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/autofill/page_click_tracker_browsertest.cc
diff --git a/chrome/renderer/autofill/page_click_tracker_browsertest.cc b/chrome/renderer/autofill/page_click_tracker_browsertest.cc
index 203c9a488f006b70a6c3724f166e10a94df4a4e2..9ae73b1359d0ea79a0ad809f1156072dc0b8fca8 100644
--- a/chrome/renderer/autofill/page_click_tracker_browsertest.cc
+++ b/chrome/renderer/autofill/page_click_tracker_browsertest.cc
@@ -165,7 +165,7 @@ TEST_F(PageClickTrackerTest, PageClickTrackerTextAreaFocusedAndClicked) {
}
TEST_F(PageClickTrackerTest, PageClickTrackerScaledTextareaClicked) {
- EXPECT_NE(text_, text_.document().focusedElement());
+ EXPECT_NE(textarea_, textarea_.document().focusedElement());
view_->GetWebView()->setPageScaleFactor(3);
view_->GetWebView()->setPinchViewportOffset(blink::WebFloatPoint(50, 50));
@@ -176,6 +176,18 @@ TEST_F(PageClickTrackerTest, PageClickTrackerScaledTextareaClicked) {
EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_);
}
+TEST_F(PageClickTrackerTest, PageClickTrackerScaledTextareaTapped) {
+ EXPECT_NE(textarea_, textarea_.document().focusedElement());
+ view_->GetWebView()->setPageScaleFactor(3);
+ view_->GetWebView()->setPinchViewportOffset(blink::WebFloatPoint(50, 50));
+
+ // Tap textarea_1.
+ SimulateRectTap(gfx::Rect(30, 30, 30, 30));
+ EXPECT_TRUE(test_listener_.form_control_element_clicked_called_);
+ EXPECT_FALSE(test_listener_.was_focused_);
+ EXPECT_TRUE(textarea_ == test_listener_.form_control_element_clicked_);
+}
+
TEST_F(PageClickTrackerTest, PageClickTrackerDisabledInputClickedNoEvent) {
EXPECT_NE(text_, text_.document().focusedElement());
// Click the text field once.
@@ -190,4 +202,38 @@ TEST_F(PageClickTrackerTest, PageClickTrackerDisabledInputClickedNoEvent) {
EXPECT_FALSE(test_listener_.form_control_element_clicked_called_);
}
+TEST_F(PageClickTrackerTest,
+ PageClickTrackerClickDisabledInputDoesNotResetClickCounter) {
+ EXPECT_NE(text_, text_.document().focusedElement());
+ // Click the text field once.
+ EXPECT_TRUE(SimulateElementClick("text_1"));
+ EXPECT_TRUE(test_listener_.form_control_element_clicked_called_);
+ EXPECT_FALSE(test_listener_.was_focused_);
+ EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_);
+ test_listener_.ClearResults();
+
+ // Click the disabled element.
+ EXPECT_TRUE(SimulateElementClick("button_2"));
+ EXPECT_FALSE(test_listener_.form_control_element_clicked_called_);
+ test_listener_.ClearResults();
+
+ // Click the text field second time. Page click tracker should know that this
+ // is the second click.
+ EXPECT_TRUE(SimulateElementClick("text_1"));
+ EXPECT_TRUE(test_listener_.form_control_element_clicked_called_);
+ EXPECT_TRUE(test_listener_.was_focused_);
+ EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_);
+}
+
+TEST_F(PageClickTrackerTest, PageClickTrackerTapNearEdgeIsPageClick) {
+ EXPECT_NE(text_, text_.document().focusedElement());
+ // Tap outside of element bounds, but tap width is overlapping the field.
+ gfx::Rect element_bounds = GetElementBounds("text_1");
+ SimulateRectTap(element_bounds -
+ gfx::Vector2d(element_bounds.width() / 2 + 1, 0));
+ EXPECT_TRUE(test_listener_.form_control_element_clicked_called_);
+ EXPECT_FALSE(test_listener_.was_focused_);
+ EXPECT_TRUE(text_ == test_listener_.form_control_element_clicked_);
+}
+
} // namespace autofill
« no previous file with comments | « no previous file | components/autofill/content/renderer/page_click_tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698