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

Side by Side Diff: chrome/browser/password_manager/password_manager_browsertest.cc

Issue 1286593003: [Password Manager] Store forms with field name and id attributes missing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Vaclav's Review Comments. Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <string> 5 #include <string>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/histogram_samples.h" 8 #include "base/metrics/histogram_samples.h"
9 #include "base/metrics/statistics_recorder.h" 9 #include "base/metrics/statistics_recorder.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 std::string fill_and_submit = 886 std::string fill_and_submit =
887 "document.getElementsByName('username_field_no_id')[0].value = 'temp';" 887 "document.getElementsByName('username_field_no_id')[0].value = 'temp';"
888 "document.getElementsByName('password_field_no_id')[0].value = 'random';" 888 "document.getElementsByName('password_field_no_id')[0].value = 'random';"
889 "document.getElementsByName('input_submit_button_no_id')[0].click()"; 889 "document.getElementsByName('input_submit_button_no_id')[0].click()";
890 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); 890 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit));
891 observer.Wait(); 891 observer.Wait();
892 EXPECT_TRUE(prompt_observer->IsShowingPrompt()); 892 EXPECT_TRUE(prompt_observer->IsShowingPrompt());
893 } 893 }
894 894
895 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase, 895 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
896 NoPromptForInputElementWithoutIdAndName) { 896 PromptForInputElementWithoutIdAndName) {
897 // Check that no prompt is shown for forms where the input fields lack both 897 // Check that prompt is shown for forms where the input fields lack both
898 // the "id" and the "name" attributes. 898 // the "id" and the "name" attributes.
899 NavigateToFile("/password/password_form.html"); 899 NavigateToFile("/password/password_form.html");
900 900
901 NavigationObserver observer(WebContents()); 901 NavigationObserver observer(WebContents());
902 scoped_ptr<PromptObserver> prompt_observer( 902 scoped_ptr<PromptObserver> prompt_observer(
903 PromptObserver::Create(WebContents())); 903 PromptObserver::Create(WebContents()));
904 std::string fill_and_submit = 904 std::string fill_and_submit =
905 "var form = document.getElementById('testform_elements_no_id_no_name');" 905 "var form = document.getElementById('testform_elements_no_id_no_name');"
906 "var username = form.children[0];" 906 "var username = form.children[0];"
907 "username.value = 'temp';" 907 "username.value = 'temp';"
908 "var password = form.children[1];" 908 "var password = form.children[1];"
909 "password.value = 'random';" 909 "password.value = 'random';"
910 "form.children[2].click()"; // form.children[2] is the submit button. 910 "form.children[2].click()"; // form.children[2] is the submit button.
911 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); 911 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit));
912 observer.Wait(); 912 observer.Wait();
913 EXPECT_FALSE(prompt_observer->IsShowingPrompt()); 913 EXPECT_TRUE(prompt_observer->IsShowingPrompt());
dvadym 2015/09/07 15:19:58 Could you please check that correct credential is
Pritam Nikam 2015/09/08 15:09:36 Done.
914 } 914 }
915 915
916 // Test for checking that no prompt is shown for URLs with file: scheme. 916 // Test for checking that no prompt is shown for URLs with file: scheme.
917 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase, 917 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
918 NoPromptForFileSchemeURLs) { 918 NoPromptForFileSchemeURLs) {
919 GURL url = GetFileURL("password_form.html"); 919 GURL url = GetFileURL("password_form.html");
920 ui_test_utils::NavigateToURL(browser(), url); 920 ui_test_utils::NavigateToURL(browser(), url);
921 921
922 NavigationObserver observer(WebContents()); 922 NavigationObserver observer(WebContents());
923 scoped_ptr<PromptObserver> prompt_observer( 923 scoped_ptr<PromptObserver> prompt_observer(
(...skipping 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after
2120 // Spin the message loop to make sure the password store had a chance to 2120 // Spin the message loop to make sure the password store had a chance to
2121 // update the password. 2121 // update the password.
2122 base::RunLoop run_loop; 2122 base::RunLoop run_loop;
2123 run_loop.RunUntilIdle(); 2123 run_loop.RunUntilIdle();
2124 CheckThatCredentialsStored(password_store.get(), base::ASCIIToUTF16("temp"), 2124 CheckThatCredentialsStored(password_store.get(), base::ASCIIToUTF16("temp"),
2125 base::ASCIIToUTF16("new_pw")); 2125 base::ASCIIToUTF16("new_pw"));
2126 } 2126 }
2127 #endif 2127 #endif
2128 2128
2129 } // namespace password_manager 2129 } // namespace password_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698