Index: chrome/browser/password_manager/password_manager_browsertest.cc |
diff --git a/chrome/browser/password_manager/password_manager_browsertest.cc b/chrome/browser/password_manager/password_manager_browsertest.cc |
index 535c2ed2476c69f0102e41214db007b9a88ec60e..60b1c9d467e580c40e50b154de97de03c5105888 100644 |
--- a/chrome/browser/password_manager/password_manager_browsertest.cc |
+++ b/chrome/browser/password_manager/password_manager_browsertest.cc |
@@ -31,6 +31,7 @@ |
#include "net/test/embedded_test_server/embedded_test_server.h" |
#include "net/url_request/test_url_fetcher_factory.h" |
#include "testing/gmock/include/gmock/gmock.h" |
+#include "third_party/WebKit/public/web/WebInputEvent.h" |
#include "ui/events/keycodes/keyboard_codes.h" |
@@ -174,10 +175,23 @@ class PasswordManagerBrowserTest : public InProcessBrowserTest { |
observer.Wait(); |
} |
+ // Simulate a user clicking somewhere in the page. |
+ void SimulateClick(); |
+ |
private: |
DISALLOW_COPY_AND_ASSIGN(PasswordManagerBrowserTest); |
}; |
+void PasswordManagerBrowserTest::SimulateClick() { |
+ blink::WebMouseEvent mouse_event; |
+ mouse_event.type = blink::WebInputEvent::MouseDown; |
+ mouse_event.button = blink::WebMouseEvent::ButtonLeft; |
+ mouse_event.x = 1; |
+ mouse_event.y = 1; |
+ mouse_event.clickCount = 1; |
+ WebContents()->GetRenderViewHost()->ForwardMouseEvent(mouse_event); |
+} |
+ |
// Actual tests --------------------------------------------------------------- |
IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
PromptForNormalSubmit) { |
@@ -445,8 +459,7 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
// Simulate a user click to force an autofill of the form's DOM value, not |
// just the suggested value. |
- std::string click = "document.getElementById('testform_no_name').click()"; |
- ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), click)); |
+ SimulateClick(); |
// The form should be filled with the previously submitted username. |
std::string get_username = |