| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 | 211 |
| 212 std::string js; | 212 std::string js; |
| 213 for (FormMap::const_iterator i = data.begin(); i != data.end(); ++i) { | 213 for (FormMap::const_iterator i = data.begin(); i != data.end(); ++i) { |
| 214 js += "document.getElementById('" + i->first + "').value = '" + | 214 js += "document.getElementById('" + i->first + "').value = '" + |
| 215 i->second + "';"; | 215 i->second + "';"; |
| 216 } | 216 } |
| 217 js += "document.getElementById('testform').submit();"; | 217 js += "document.getElementById('testform').submit();"; |
| 218 | 218 |
| 219 WindowedPersonalDataManagerObserver observer(browser()); | 219 WindowedPersonalDataManagerObserver observer(browser()); |
| 220 ASSERT_TRUE( | 220 ASSERT_TRUE( |
| 221 content::ExecuteJavaScript(render_view_host(), "", js)); | 221 content::ExecuteJavaScript(render_view_host(), L"", ASCIIToWide(js))); |
| 222 observer.Wait(); | 222 observer.Wait(); |
| 223 } | 223 } |
| 224 | 224 |
| 225 void SubmitCreditCard(const char* name, | 225 void SubmitCreditCard(const char* name, |
| 226 const char* number, | 226 const char* number, |
| 227 const char* exp_month, | 227 const char* exp_month, |
| 228 const char* exp_year) { | 228 const char* exp_year) { |
| 229 FormMap data; | 229 FormMap data; |
| 230 data["CREDIT_CARD_NAME"] = name; | 230 data["CREDIT_CARD_NAME"] = name; |
| 231 data["CREDIT_CARD_NUMBER"] = number; | 231 data["CREDIT_CARD_NUMBER"] = number; |
| 232 data["CREDIT_CARD_EXP_MONTH"] = exp_month; | 232 data["CREDIT_CARD_EXP_MONTH"] = exp_month; |
| 233 data["CREDIT_CARD_EXP_4_DIGIT_YEAR"] = exp_year; | 233 data["CREDIT_CARD_EXP_4_DIGIT_YEAR"] = exp_year; |
| 234 FillFormAndSubmit("autofill_creditcard_form.html", data); | 234 FillFormAndSubmit("autofill_creditcard_form.html", data); |
| 235 } | 235 } |
| 236 | 236 |
| 237 // Populates a webpage form using autofill data and keypress events. | 237 // Populates a webpage form using autofill data and keypress events. |
| 238 // This function focuses the specified input field in the form, and then | 238 // This function focuses the specified input field in the form, and then |
| 239 // sends keypress events to the tab to cause the form to be populated. | 239 // sends keypress events to the tab to cause the form to be populated. |
| 240 void PopulateForm(const std::string& field_id) { | 240 void PopulateForm(const std::string& field_id) { |
| 241 std::string js("document.getElementById('" + field_id + "').focus();"); | 241 std::string js("document.getElementById('" + field_id + "').focus();"); |
| 242 ASSERT_TRUE( | 242 ASSERT_TRUE( |
| 243 content::ExecuteJavaScript(render_view_host(), "", js)); | 243 content::ExecuteJavaScript(render_view_host(), L"", ASCIIToWide(js))); |
| 244 | 244 |
| 245 SendKeyAndWait(ui::VKEY_DOWN, | 245 SendKeyAndWait(ui::VKEY_DOWN, |
| 246 chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); | 246 chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); |
| 247 SendKeyAndWait(ui::VKEY_DOWN, | 247 SendKeyAndWait(ui::VKEY_DOWN, |
| 248 chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); | 248 chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); |
| 249 SendKeyAndWait(ui::VKEY_RETURN, | 249 SendKeyAndWait(ui::VKEY_RETURN, |
| 250 chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); | 250 chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); |
| 251 } | 251 } |
| 252 | 252 |
| 253 // Aggregate profiles from forms into Autofill preferences. Returns the number | 253 // Aggregate profiles from forms into Autofill preferences. Returns the number |
| (...skipping 28 matching lines...) Expand all Loading... |
| 282 data["ADDRESS_HOME_STATE"] = fields[8]; | 282 data["ADDRESS_HOME_STATE"] = fields[8]; |
| 283 data["ADDRESS_HOME_ZIP"] = fields[9]; | 283 data["ADDRESS_HOME_ZIP"] = fields[9]; |
| 284 data["ADDRESS_HOME_COUNTRY"] = fields[10]; | 284 data["ADDRESS_HOME_COUNTRY"] = fields[10]; |
| 285 data["PHONE_HOME_WHOLE_NUMBER"] = fields[11]; | 285 data["PHONE_HOME_WHOLE_NUMBER"] = fields[11]; |
| 286 | 286 |
| 287 FillFormAndSubmit("duplicate_profiles_test.html", data); | 287 FillFormAndSubmit("duplicate_profiles_test.html", data); |
| 288 } | 288 } |
| 289 return lines.size(); | 289 return lines.size(); |
| 290 } | 290 } |
| 291 | 291 |
| 292 void ExpectFieldValue(const std::string& field_name, | 292 void ExpectFieldValue(const std::wstring& field_name, |
| 293 const std::string& expected_value) { | 293 const std::string& expected_value) { |
| 294 std::string value; | 294 std::string value; |
| 295 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( | 295 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( |
| 296 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), | 296 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", |
| 297 "", | 297 L"window.domAutomationController.send(" |
| 298 "window.domAutomationController.send(" | 298 L"document.getElementById('" + field_name + L"').value);", &value)); |
| 299 " document.getElementById('" + field_name + "').value);", | |
| 300 &value)); | |
| 301 EXPECT_EQ(expected_value, value); | 299 EXPECT_EQ(expected_value, value); |
| 302 } | 300 } |
| 303 | 301 |
| 304 RenderViewHost* render_view_host() { | 302 RenderViewHost* render_view_host() { |
| 305 return chrome::GetActiveWebContents(browser())->GetRenderViewHost(); | 303 return chrome::GetActiveWebContents(browser())->GetRenderViewHost(); |
| 306 } | 304 } |
| 307 | 305 |
| 308 void SimulateURLFetch(bool success) { | 306 void SimulateURLFetch(bool success) { |
| 309 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); | 307 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); |
| 310 ASSERT_TRUE(fetcher); | 308 ASSERT_TRUE(fetcher); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 } | 344 } |
| 347 | 345 |
| 348 void FocusFirstNameField() { | 346 void FocusFirstNameField() { |
| 349 LOG(WARNING) << "Clicking on the tab."; | 347 LOG(WARNING) << "Clicking on the tab."; |
| 350 content::SimulateMouseClick(chrome::GetActiveWebContents(browser()), 0, | 348 content::SimulateMouseClick(chrome::GetActiveWebContents(browser()), 0, |
| 351 WebKit::WebMouseEvent::ButtonLeft); | 349 WebKit::WebMouseEvent::ButtonLeft); |
| 352 | 350 |
| 353 LOG(WARNING) << "Focusing the first name field."; | 351 LOG(WARNING) << "Focusing the first name field."; |
| 354 bool result = false; | 352 bool result = false; |
| 355 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 353 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 356 render_view_host(), | 354 render_view_host(), L"", |
| 357 "", | 355 L"if (document.readyState === 'complete')" |
| 358 "if (document.readyState === 'complete')" | 356 L" document.getElementById('firstname').focus();" |
| 359 " document.getElementById('firstname').focus();" | 357 L"else" |
| 360 "else" | 358 L" domAutomationController.send(false);", |
| 361 " domAutomationController.send(false);", | |
| 362 &result)); | 359 &result)); |
| 363 ASSERT_TRUE(result); | 360 ASSERT_TRUE(result); |
| 364 } | 361 } |
| 365 | 362 |
| 366 void ExpectFilledTestForm() { | 363 void ExpectFilledTestForm() { |
| 367 ExpectFieldValue("firstname", "Milton"); | 364 ExpectFieldValue(L"firstname", "Milton"); |
| 368 ExpectFieldValue("lastname", "Waddams"); | 365 ExpectFieldValue(L"lastname", "Waddams"); |
| 369 ExpectFieldValue("address1", "4120 Freidrich Lane"); | 366 ExpectFieldValue(L"address1", "4120 Freidrich Lane"); |
| 370 ExpectFieldValue("address2", "Basement"); | 367 ExpectFieldValue(L"address2", "Basement"); |
| 371 ExpectFieldValue("city", "Austin"); | 368 ExpectFieldValue(L"city", "Austin"); |
| 372 ExpectFieldValue("state", "TX"); | 369 ExpectFieldValue(L"state", "TX"); |
| 373 ExpectFieldValue("zip", "78744"); | 370 ExpectFieldValue(L"zip", "78744"); |
| 374 ExpectFieldValue("country", "US"); | 371 ExpectFieldValue(L"country", "US"); |
| 375 ExpectFieldValue("phone", "5125551234"); | 372 ExpectFieldValue(L"phone", "5125551234"); |
| 376 } | 373 } |
| 377 | 374 |
| 378 void SendKeyAndWait(ui::KeyboardCode key, int notification_type) { | 375 void SendKeyAndWait(ui::KeyboardCode key, int notification_type) { |
| 379 content::WindowedNotificationObserver observer( | 376 content::WindowedNotificationObserver observer( |
| 380 notification_type, content::Source<RenderViewHost>(render_view_host())); | 377 notification_type, content::Source<RenderViewHost>(render_view_host())); |
| 381 content::SimulateKeyPress(chrome::GetActiveWebContents(browser()), | 378 content::SimulateKeyPress(chrome::GetActiveWebContents(browser()), |
| 382 key, false, false, false, false); | 379 key, false, false, false, false); |
| 383 observer.Wait(); | 380 observer.Wait(); |
| 384 } | 381 } |
| 385 | 382 |
| 386 void TryBasicFormFill() { | 383 void TryBasicFormFill() { |
| 387 FocusFirstNameField(); | 384 FocusFirstNameField(); |
| 388 | 385 |
| 389 // Start filling the first name field with "M" and wait for the popup to be | 386 // Start filling the first name field with "M" and wait for the popup to be |
| 390 // shown. | 387 // shown. |
| 391 LOG(WARNING) << "Typing 'M' to bring up the Autofill popup."; | 388 LOG(WARNING) << "Typing 'M' to bring up the Autofill popup."; |
| 392 SendKeyAndWait( | 389 SendKeyAndWait( |
| 393 ui::VKEY_M, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); | 390 ui::VKEY_M, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); |
| 394 | 391 |
| 395 // Press the down arrow to select the suggestion and preview the autofilled | 392 // Press the down arrow to select the suggestion and preview the autofilled |
| 396 // form. | 393 // form. |
| 397 LOG(WARNING) << "Simulating down arrow press to initiate Autofill preview."; | 394 LOG(WARNING) << "Simulating down arrow press to initiate Autofill preview."; |
| 398 SendKeyAndWait( | 395 SendKeyAndWait( |
| 399 ui::VKEY_DOWN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); | 396 ui::VKEY_DOWN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); |
| 400 | 397 |
| 401 // The previewed values should not be accessible to JavaScript. | 398 // The previewed values should not be accessible to JavaScript. |
| 402 ExpectFieldValue("firstname", "M"); | 399 ExpectFieldValue(L"firstname", "M"); |
| 403 ExpectFieldValue("lastname", ""); | 400 ExpectFieldValue(L"lastname", ""); |
| 404 ExpectFieldValue("address1", ""); | 401 ExpectFieldValue(L"address1", ""); |
| 405 ExpectFieldValue("address2", ""); | 402 ExpectFieldValue(L"address2", ""); |
| 406 ExpectFieldValue("city", ""); | 403 ExpectFieldValue(L"city", ""); |
| 407 ExpectFieldValue("state", ""); | 404 ExpectFieldValue(L"state", ""); |
| 408 ExpectFieldValue("zip", ""); | 405 ExpectFieldValue(L"zip", ""); |
| 409 ExpectFieldValue("country", ""); | 406 ExpectFieldValue(L"country", ""); |
| 410 ExpectFieldValue("phone", ""); | 407 ExpectFieldValue(L"phone", ""); |
| 411 // TODO(isherman): It would be nice to test that the previewed values are | 408 // TODO(isherman): It would be nice to test that the previewed values are |
| 412 // displayed: http://crbug.com/57220 | 409 // displayed: http://crbug.com/57220 |
| 413 | 410 |
| 414 // Press Enter to accept the autofill suggestions. | 411 // Press Enter to accept the autofill suggestions. |
| 415 LOG(WARNING) << "Simulating Return press to fill the form."; | 412 LOG(WARNING) << "Simulating Return press to fill the form."; |
| 416 SendKeyAndWait( | 413 SendKeyAndWait( |
| 417 ui::VKEY_RETURN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); | 414 ui::VKEY_RETURN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); |
| 418 | 415 |
| 419 // The form should be filled. | 416 // The form should be filled. |
| 420 ExpectFilledTestForm(); | 417 ExpectFilledTestForm(); |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 533 ExpectFilledTestForm(); | 530 ExpectFilledTestForm(); |
| 534 | 531 |
| 535 // The change event should have already fired for unfocused fields, both of | 532 // The change event should have already fired for unfocused fields, both of |
| 536 // <input> and of <select> type. However, it should not yet have fired for the | 533 // <input> and of <select> type. However, it should not yet have fired for the |
| 537 // focused field. | 534 // focused field. |
| 538 bool focused_fired = false; | 535 bool focused_fired = false; |
| 539 bool unfocused_fired = false; | 536 bool unfocused_fired = false; |
| 540 bool changed_select_fired = false; | 537 bool changed_select_fired = false; |
| 541 bool unchanged_select_fired = false; | 538 bool unchanged_select_fired = false; |
| 542 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 539 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 543 render_view_host(), | 540 render_view_host(), L"", |
| 544 "", | 541 L"domAutomationController.send(focused_fired);", &focused_fired)); |
| 545 "domAutomationController.send(focused_fired);", | |
| 546 &focused_fired)); | |
| 547 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 542 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 548 render_view_host(), | 543 render_view_host(), L"", |
| 549 "", | 544 L"domAutomationController.send(unfocused_fired);", &unfocused_fired)); |
| 550 "domAutomationController.send(unfocused_fired);", | |
| 551 &unfocused_fired)); | |
| 552 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 545 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 553 render_view_host(), | 546 render_view_host(), L"", |
| 554 "", | 547 L"domAutomationController.send(changed_select_fired);", |
| 555 "domAutomationController.send(changed_select_fired);", | |
| 556 &changed_select_fired)); | 548 &changed_select_fired)); |
| 557 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 549 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 558 render_view_host(), | 550 render_view_host(), L"", |
| 559 "", | 551 L"domAutomationController.send(unchanged_select_fired);", |
| 560 "domAutomationController.send(unchanged_select_fired);", | |
| 561 &unchanged_select_fired)); | 552 &unchanged_select_fired)); |
| 562 EXPECT_FALSE(focused_fired); | 553 EXPECT_FALSE(focused_fired); |
| 563 EXPECT_TRUE(unfocused_fired); | 554 EXPECT_TRUE(unfocused_fired); |
| 564 EXPECT_TRUE(changed_select_fired); | 555 EXPECT_TRUE(changed_select_fired); |
| 565 EXPECT_FALSE(unchanged_select_fired); | 556 EXPECT_FALSE(unchanged_select_fired); |
| 566 | 557 |
| 567 // Unfocus the first name field. Its change event should fire. | 558 // Unfocus the first name field. Its change event should fire. |
| 568 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 559 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 569 render_view_host(), | 560 render_view_host(), L"", |
| 570 "", | 561 L"document.getElementById('firstname').blur();" |
| 571 "document.getElementById('firstname').blur();" | 562 L"domAutomationController.send(focused_fired);", &focused_fired)); |
| 572 "domAutomationController.send(focused_fired);", &focused_fired)); | |
| 573 EXPECT_TRUE(focused_fired); | 563 EXPECT_TRUE(focused_fired); |
| 574 } | 564 } |
| 575 | 565 |
| 576 // Test that we can autofill forms distinguished only by their |id| attribute. | 566 // Test that we can autofill forms distinguished only by their |id| attribute. |
| 577 // DISABLED: http://crbug.com/150084 | 567 // DISABLED: http://crbug.com/150084 |
| 578 IN_PROC_BROWSER_TEST_F(AutofillTest, DISABLED_AutofillFormsDistinguishedById) { | 568 IN_PROC_BROWSER_TEST_F(AutofillTest, DISABLED_AutofillFormsDistinguishedById) { |
| 579 CreateTestProfile(); | 569 CreateTestProfile(); |
| 580 | 570 |
| 581 // Load the test page. | 571 // Load the test page. |
| 582 const std::string kURL = | 572 const std::string kURL = |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 " <option value=\"\" selected=\"yes\">--</option>" | 625 " <option value=\"\" selected=\"yes\">--</option>" |
| 636 " <option value=\"CA\">Canada</option>" | 626 " <option value=\"CA\">Canada</option>" |
| 637 " <option value=\"US\">United States</option>" | 627 " <option value=\"US\">United States</option>" |
| 638 " </select><br>" | 628 " </select><br>" |
| 639 "<label for=\"phone\">Phone number:</label>" | 629 "<label for=\"phone\">Phone number:</label>" |
| 640 " <input type=\"text\" id=\"phone\"><br>" | 630 " <input type=\"text\" id=\"phone\"><br>" |
| 641 "</form>"))); | 631 "</form>"))); |
| 642 | 632 |
| 643 // Invoke Autofill. | 633 // Invoke Autofill. |
| 644 TryBasicFormFill(); | 634 TryBasicFormFill(); |
| 645 ExpectFieldValue("state_freeform", ""); | 635 ExpectFieldValue(L"state_freeform", ""); |
| 646 } | 636 } |
| 647 | 637 |
| 648 // http://crbug.com/150084 | 638 // http://crbug.com/150084 |
| 649 #if defined(OS_MAC) | 639 #if defined(OS_MAC) |
| 650 #define MAYBE_AutofillFormWithNonAutofillableField \ | 640 #define MAYBE_AutofillFormWithNonAutofillableField \ |
| 651 AutofillFormWithNonAutofillableField | 641 AutofillFormWithNonAutofillableField |
| 652 #else | 642 #else |
| 653 #define MAYBE_AutofillFormWithNonAutofillableField \ | 643 #define MAYBE_AutofillFormWithNonAutofillableField \ |
| 654 DISABLED_AutofillFormWithNonAutofillableField | 644 DISABLED_AutofillFormWithNonAutofillableField |
| 655 #endif | 645 #endif |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 773 "" | 763 "" |
| 774 " for (var i = 0; i < elements.length; i++) {" | 764 " for (var i = 0; i < elements.length; i++) {" |
| 775 " var name = elements[i][0];" | 765 " var name = elements[i][0];" |
| 776 " var label = elements[i][1];" | 766 " var label = elements[i][1];" |
| 777 " AddElement(name, label);" | 767 " AddElement(name, label);" |
| 778 " }" | 768 " }" |
| 779 "};" | 769 "};" |
| 780 "</script>"))); | 770 "</script>"))); |
| 781 | 771 |
| 782 // Dynamically construct the form. | 772 // Dynamically construct the form. |
| 783 ASSERT_TRUE(content::ExecuteJavaScript(render_view_host(), "", | 773 ASSERT_TRUE(content::ExecuteJavaScript(render_view_host(), L"", |
| 784 "BuildForm();")); | 774 L"BuildForm();")); |
| 785 | 775 |
| 786 // Invoke Autofill. | 776 // Invoke Autofill. |
| 787 TryBasicFormFill(); | 777 TryBasicFormFill(); |
| 788 } | 778 } |
| 789 | 779 |
| 790 // Test that form filling works after reloading the current page. | 780 // Test that form filling works after reloading the current page. |
| 791 // This test brought to you by http://crbug.com/69204 | 781 // This test brought to you by http://crbug.com/69204 |
| 792 #if defined(OS_MACOSX) | 782 #if defined(OS_MACOSX) |
| 793 // Now flaky on everything but mac. | 783 // Now flaky on everything but mac. |
| 794 // http://crbug.com/150084 | 784 // http://crbug.com/150084 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 873 SimulateURLFetch(true); | 863 SimulateURLFetch(true); |
| 874 | 864 |
| 875 content::WindowedNotificationObserver translation_observer( | 865 content::WindowedNotificationObserver translation_observer( |
| 876 chrome::NOTIFICATION_PAGE_TRANSLATED, | 866 chrome::NOTIFICATION_PAGE_TRANSLATED, |
| 877 content::NotificationService::AllSources()); | 867 content::NotificationService::AllSources()); |
| 878 | 868 |
| 879 // Simulate translation to kick onTranslateElementLoad. | 869 // Simulate translation to kick onTranslateElementLoad. |
| 880 // But right now, the call stucks here. | 870 // But right now, the call stucks here. |
| 881 // Once click the text field, it starts again. | 871 // Once click the text field, it starts again. |
| 882 ASSERT_TRUE(content::ExecuteJavaScript( | 872 ASSERT_TRUE(content::ExecuteJavaScript( |
| 883 render_view_host(), | 873 render_view_host(), L"", |
| 884 "", | 874 L"cr.googleTranslate.onTranslateElementLoad();")); |
| 885 "cr.googleTranslate.onTranslateElementLoad();")); | |
| 886 | 875 |
| 887 // Simulate the render notifying the translation has been done. | 876 // Simulate the render notifying the translation has been done. |
| 888 translation_observer.Wait(); | 877 translation_observer.Wait(); |
| 889 | 878 |
| 890 TryBasicFormFill(); | 879 TryBasicFormFill(); |
| 891 } | 880 } |
| 892 | 881 |
| 893 // Test filling profiles with unicode strings and crazy characters. | 882 // Test filling profiles with unicode strings and crazy characters. |
| 894 // TODO(isherman): rewrite as unit test under PersonalDataManagerTest. | 883 // TODO(isherman): rewrite as unit test under PersonalDataManagerTest. |
| 895 IN_PROC_BROWSER_TEST_F(AutofillTest, FillProfileCrazyCharacters) { | 884 IN_PROC_BROWSER_TEST_F(AutofillTest, FillProfileCrazyCharacters) { |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1186 profile.SetRawInfo(ADDRESS_HOME_CITY, ASCIIToUTF16("San Jose")); | 1175 profile.SetRawInfo(ADDRESS_HOME_CITY, ASCIIToUTF16("San Jose")); |
| 1187 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); | 1176 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); |
| 1188 profile.SetRawInfo(ADDRESS_HOME_ZIP, ASCIIToUTF16("95110")); | 1177 profile.SetRawInfo(ADDRESS_HOME_ZIP, ASCIIToUTF16("95110")); |
| 1189 profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("1-408-555-4567")); | 1178 profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("1-408-555-4567")); |
| 1190 SetProfile(profile); | 1179 SetProfile(profile); |
| 1191 | 1180 |
| 1192 GURL url = test_server()->GetURL("files/autofill/form_phones.html"); | 1181 GURL url = test_server()->GetURL("files/autofill/form_phones.html"); |
| 1193 ui_test_utils::NavigateToURL(browser(), url); | 1182 ui_test_utils::NavigateToURL(browser(), url); |
| 1194 PopulateForm("NAME_FIRST"); | 1183 PopulateForm("NAME_FIRST"); |
| 1195 | 1184 |
| 1196 ExpectFieldValue("NAME_FIRST", "Bob"); | 1185 ExpectFieldValue(L"NAME_FIRST", "Bob"); |
| 1197 ExpectFieldValue("NAME_LAST", "Smith"); | 1186 ExpectFieldValue(L"NAME_LAST", "Smith"); |
| 1198 ExpectFieldValue("ADDRESS_HOME_LINE1", "1234 H St."); | 1187 ExpectFieldValue(L"ADDRESS_HOME_LINE1", "1234 H St."); |
| 1199 ExpectFieldValue("ADDRESS_HOME_CITY", "San Jose"); | 1188 ExpectFieldValue(L"ADDRESS_HOME_CITY", "San Jose"); |
| 1200 ExpectFieldValue("ADDRESS_HOME_STATE", "CA"); | 1189 ExpectFieldValue(L"ADDRESS_HOME_STATE", "CA"); |
| 1201 ExpectFieldValue("ADDRESS_HOME_ZIP", "95110"); | 1190 ExpectFieldValue(L"ADDRESS_HOME_ZIP", "95110"); |
| 1202 ExpectFieldValue("PHONE_HOME_WHOLE_NUMBER", "14085554567"); | 1191 ExpectFieldValue(L"PHONE_HOME_WHOLE_NUMBER", "14085554567"); |
| 1203 ExpectFieldValue("PHONE_HOME_CITY_CODE-1", "408"); | 1192 ExpectFieldValue(L"PHONE_HOME_CITY_CODE-1", "408"); |
| 1204 ExpectFieldValue("PHONE_HOME_CITY_CODE-2", "408"); | 1193 ExpectFieldValue(L"PHONE_HOME_CITY_CODE-2", "408"); |
| 1205 ExpectFieldValue("PHONE_HOME_NUMBER", "5554567"); | 1194 ExpectFieldValue(L"PHONE_HOME_NUMBER", "5554567"); |
| 1206 ExpectFieldValue("PHONE_HOME_NUMBER_3-1", "555"); | 1195 ExpectFieldValue(L"PHONE_HOME_NUMBER_3-1", "555"); |
| 1207 ExpectFieldValue("PHONE_HOME_NUMBER_3-2", "555"); | 1196 ExpectFieldValue(L"PHONE_HOME_NUMBER_3-2", "555"); |
| 1208 ExpectFieldValue("PHONE_HOME_NUMBER_4-1", "4567"); | 1197 ExpectFieldValue(L"PHONE_HOME_NUMBER_4-1", "4567"); |
| 1209 ExpectFieldValue("PHONE_HOME_NUMBER_4-2", "4567"); | 1198 ExpectFieldValue(L"PHONE_HOME_NUMBER_4-2", "4567"); |
| 1210 ExpectFieldValue("PHONE_HOME_EXT-1", ""); | 1199 ExpectFieldValue(L"PHONE_HOME_EXT-1", ""); |
| 1211 ExpectFieldValue("PHONE_HOME_EXT-2", ""); | 1200 ExpectFieldValue(L"PHONE_HOME_EXT-2", ""); |
| 1212 ExpectFieldValue("PHONE_HOME_COUNTRY_CODE-1", "1"); | 1201 ExpectFieldValue(L"PHONE_HOME_COUNTRY_CODE-1", "1"); |
| 1213 } | 1202 } |
| 1214 | 1203 |
| 1215 // Test profile is saved if phone number is valid in selected country. | 1204 // Test profile is saved if phone number is valid in selected country. |
| 1216 // The data file contains two profiles with valid phone numbers and two | 1205 // The data file contains two profiles with valid phone numbers and two |
| 1217 // profiles with invalid phone numbers from their respective country. | 1206 // profiles with invalid phone numbers from their respective country. |
| 1218 // DISABLED: http://crbug.com/150084 | 1207 // DISABLED: http://crbug.com/150084 |
| 1219 IN_PROC_BROWSER_TEST_F(AutofillTest, | 1208 IN_PROC_BROWSER_TEST_F(AutofillTest, |
| 1220 DISABLED_ProfileSavedWithValidCountryPhone) { | 1209 DISABLED_ProfileSavedWithValidCountryPhone) { |
| 1221 ASSERT_TRUE(test_server()->Start()); | 1210 ASSERT_TRUE(test_server()->Start()); |
| 1222 std::vector<FormMap> profiles; | 1211 std::vector<FormMap> profiles; |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1339 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); | 1328 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); |
| 1340 profile.SetRawInfo(ADDRESS_HOME_ZIP, ASCIIToUTF16("95110")); | 1329 profile.SetRawInfo(ADDRESS_HOME_ZIP, ASCIIToUTF16("95110")); |
| 1341 profile.SetRawInfo(COMPANY_NAME, ASCIIToUTF16("Company X")); | 1330 profile.SetRawInfo(COMPANY_NAME, ASCIIToUTF16("Company X")); |
| 1342 profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("408-871-4567")); | 1331 profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("408-871-4567")); |
| 1343 SetProfile(profile); | 1332 SetProfile(profile); |
| 1344 | 1333 |
| 1345 GURL url = test_server()->GetURL("files/autofill/read_only_field_test.html"); | 1334 GURL url = test_server()->GetURL("files/autofill/read_only_field_test.html"); |
| 1346 ui_test_utils::NavigateToURL(browser(), url); | 1335 ui_test_utils::NavigateToURL(browser(), url); |
| 1347 PopulateForm("firstname"); | 1336 PopulateForm("firstname"); |
| 1348 | 1337 |
| 1349 ExpectFieldValue("email", ""); | 1338 ExpectFieldValue(L"email", ""); |
| 1350 ExpectFieldValue("address", addr_line1); | 1339 ExpectFieldValue(L"address", addr_line1); |
| 1351 } | 1340 } |
| 1352 | 1341 |
| 1353 // http://crbug.com/150084 | 1342 // http://crbug.com/150084 |
| 1354 #if defined(OS_MACOSX) | 1343 #if defined(OS_MACOSX) |
| 1355 #define MAYBE_FormFillableOnReset FormFillableOnReset | 1344 #define MAYBE_FormFillableOnReset FormFillableOnReset |
| 1356 #else | 1345 #else |
| 1357 #define MAYBE_FormFillableOnReset DISABLED_FormFillableOnReset | 1346 #define MAYBE_FormFillableOnReset DISABLED_FormFillableOnReset |
| 1358 #endif | 1347 #endif |
| 1359 // Test form is fillable from a profile after form was reset. | 1348 // Test form is fillable from a profile after form was reset. |
| 1360 // Steps: | 1349 // Steps: |
| 1361 // 1. Fill form using a saved profile. | 1350 // 1. Fill form using a saved profile. |
| 1362 // 2. Reset the form. | 1351 // 2. Reset the form. |
| 1363 // 3. Fill form using a saved profile. | 1352 // 3. Fill form using a saved profile. |
| 1364 IN_PROC_BROWSER_TEST_F(AutofillTest, MAYBE_FormFillableOnReset) { | 1353 IN_PROC_BROWSER_TEST_F(AutofillTest, MAYBE_FormFillableOnReset) { |
| 1365 ASSERT_TRUE(test_server()->Start()); | 1354 ASSERT_TRUE(test_server()->Start()); |
| 1366 | 1355 |
| 1367 CreateTestProfile(); | 1356 CreateTestProfile(); |
| 1368 | 1357 |
| 1369 GURL url = test_server()->GetURL("files/autofill/autofill_test_form.html"); | 1358 GURL url = test_server()->GetURL("files/autofill/autofill_test_form.html"); |
| 1370 ui_test_utils::NavigateToURL(browser(), url); | 1359 ui_test_utils::NavigateToURL(browser(), url); |
| 1371 PopulateForm("NAME_FIRST"); | 1360 PopulateForm("NAME_FIRST"); |
| 1372 | 1361 |
| 1373 ASSERT_TRUE(content::ExecuteJavaScript( | 1362 ASSERT_TRUE(content::ExecuteJavaScript( |
| 1374 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), | 1363 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", |
| 1375 "", | 1364 L"document.getElementById('testform').reset()")); |
| 1376 "document.getElementById('testform').reset()")); | |
| 1377 | 1365 |
| 1378 PopulateForm("NAME_FIRST"); | 1366 PopulateForm("NAME_FIRST"); |
| 1379 | 1367 |
| 1380 ExpectFieldValue("NAME_FIRST", "Milton"); | 1368 ExpectFieldValue(L"NAME_FIRST", "Milton"); |
| 1381 ExpectFieldValue("NAME_LAST", "Waddams"); | 1369 ExpectFieldValue(L"NAME_LAST", "Waddams"); |
| 1382 ExpectFieldValue("EMAIL_ADDRESS", "red.swingline@initech.com"); | 1370 ExpectFieldValue(L"EMAIL_ADDRESS", "red.swingline@initech.com"); |
| 1383 ExpectFieldValue("ADDRESS_HOME_LINE1", "4120 Freidrich Lane"); | 1371 ExpectFieldValue(L"ADDRESS_HOME_LINE1", "4120 Freidrich Lane"); |
| 1384 ExpectFieldValue("ADDRESS_HOME_CITY", "Austin"); | 1372 ExpectFieldValue(L"ADDRESS_HOME_CITY", "Austin"); |
| 1385 ExpectFieldValue("ADDRESS_HOME_STATE", "Texas"); | 1373 ExpectFieldValue(L"ADDRESS_HOME_STATE", "Texas"); |
| 1386 ExpectFieldValue("ADDRESS_HOME_ZIP", "78744"); | 1374 ExpectFieldValue(L"ADDRESS_HOME_ZIP", "78744"); |
| 1387 ExpectFieldValue("ADDRESS_HOME_COUNTRY", "United States"); | 1375 ExpectFieldValue(L"ADDRESS_HOME_COUNTRY", "United States"); |
| 1388 ExpectFieldValue("PHONE_HOME_WHOLE_NUMBER", "5125551234"); | 1376 ExpectFieldValue(L"PHONE_HOME_WHOLE_NUMBER", "5125551234"); |
| 1389 } | 1377 } |
| 1390 | 1378 |
| 1391 // http://crbug.com/150084 | 1379 // http://crbug.com/150084 |
| 1392 #if defined(OS_MACOSX) | 1380 #if defined(OS_MACOSX) |
| 1393 #define MAYBE_DistinguishMiddleInitialWithinName \ | 1381 #define MAYBE_DistinguishMiddleInitialWithinName \ |
| 1394 DistinguishMiddleInitialWithinName | 1382 DistinguishMiddleInitialWithinName |
| 1395 #else | 1383 #else |
| 1396 #define MAYBE_DistinguishMiddleInitialWithinName \ | 1384 #define MAYBE_DistinguishMiddleInitialWithinName \ |
| 1397 DISABLED_DistinguishMiddleInitialWithinName | 1385 DISABLED_DistinguishMiddleInitialWithinName |
| 1398 #endif | 1386 #endif |
| 1399 // Test Autofill distinguishes a middle initial in a name. | 1387 // Test Autofill distinguishes a middle initial in a name. |
| 1400 IN_PROC_BROWSER_TEST_F(AutofillTest, MAYBE_DistinguishMiddleInitialWithinName) { | 1388 IN_PROC_BROWSER_TEST_F(AutofillTest, MAYBE_DistinguishMiddleInitialWithinName) { |
| 1401 ASSERT_TRUE(test_server()->Start()); | 1389 ASSERT_TRUE(test_server()->Start()); |
| 1402 | 1390 |
| 1403 CreateTestProfile(); | 1391 CreateTestProfile(); |
| 1404 | 1392 |
| 1405 GURL url = test_server()->GetURL( | 1393 GURL url = test_server()->GetURL( |
| 1406 "files/autofill/autofill_middleinit_form.html"); | 1394 "files/autofill/autofill_middleinit_form.html"); |
| 1407 ui_test_utils::NavigateToURL(browser(), url); | 1395 ui_test_utils::NavigateToURL(browser(), url); |
| 1408 PopulateForm("NAME_FIRST"); | 1396 PopulateForm("NAME_FIRST"); |
| 1409 | 1397 |
| 1410 ExpectFieldValue("NAME_MIDDLE", "C"); | 1398 ExpectFieldValue(L"NAME_MIDDLE", "C"); |
| 1411 } | 1399 } |
| 1412 | 1400 |
| 1413 // http://crbug.com/150084 | 1401 // http://crbug.com/150084 |
| 1414 #if defined(OS_MACOSX) | 1402 #if defined(OS_MACOSX) |
| 1415 #define MAYBE_MultipleEmailFilledByOneUserGesture \ | 1403 #define MAYBE_MultipleEmailFilledByOneUserGesture \ |
| 1416 MultipleEmailFilledByOneUserGesture | 1404 MultipleEmailFilledByOneUserGesture |
| 1417 #else | 1405 #else |
| 1418 #define MAYBE_MultipleEmailFilledByOneUserGesture \ | 1406 #define MAYBE_MultipleEmailFilledByOneUserGesture \ |
| 1419 DISABLED_MultipleEmailFilledByOneUserGesture | 1407 DISABLED_MultipleEmailFilledByOneUserGesture |
| 1420 #endif | 1408 #endif |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1431 profile.SetRawInfo(NAME_LAST, ASCIIToUTF16("Smith")); | 1419 profile.SetRawInfo(NAME_LAST, ASCIIToUTF16("Smith")); |
| 1432 profile.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16(email)); | 1420 profile.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16(email)); |
| 1433 profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("4088714567")); | 1421 profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("4088714567")); |
| 1434 SetProfile(profile); | 1422 SetProfile(profile); |
| 1435 | 1423 |
| 1436 GURL url = test_server()->GetURL( | 1424 GURL url = test_server()->GetURL( |
| 1437 "files/autofill/autofill_confirmemail_form.html"); | 1425 "files/autofill/autofill_confirmemail_form.html"); |
| 1438 ui_test_utils::NavigateToURL(browser(), url); | 1426 ui_test_utils::NavigateToURL(browser(), url); |
| 1439 PopulateForm("NAME_FIRST"); | 1427 PopulateForm("NAME_FIRST"); |
| 1440 | 1428 |
| 1441 ExpectFieldValue("EMAIL_CONFIRM", email); | 1429 ExpectFieldValue(L"EMAIL_CONFIRM", email); |
| 1442 // TODO(isherman): verify entire form. | 1430 // TODO(isherman): verify entire form. |
| 1443 } | 1431 } |
| 1444 | 1432 |
| 1445 // Test profile not aggregated if email found in non-email field. | 1433 // Test profile not aggregated if email found in non-email field. |
| 1446 IN_PROC_BROWSER_TEST_F(AutofillTest, ProfileWithEmailInOtherFieldNotSaved) { | 1434 IN_PROC_BROWSER_TEST_F(AutofillTest, ProfileWithEmailInOtherFieldNotSaved) { |
| 1447 ASSERT_TRUE(test_server()->Start()); | 1435 ASSERT_TRUE(test_server()->Start()); |
| 1448 | 1436 |
| 1449 FormMap data; | 1437 FormMap data; |
| 1450 data["NAME_FIRST"] = "Bob"; | 1438 data["NAME_FIRST"] = "Bob"; |
| 1451 data["NAME_LAST"] = "Smith"; | 1439 data["NAME_LAST"] = "Smith"; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1516 "files/autofill/latency_after_submit_test.html"); | 1504 "files/autofill/latency_after_submit_test.html"); |
| 1517 ui_test_utils::NavigateToURL(browser(), url); | 1505 ui_test_utils::NavigateToURL(browser(), url); |
| 1518 PopulateForm("NAME_FIRST"); | 1506 PopulateForm("NAME_FIRST"); |
| 1519 | 1507 |
| 1520 content::WindowedNotificationObserver load_stop_observer( | 1508 content::WindowedNotificationObserver load_stop_observer( |
| 1521 content::NOTIFICATION_LOAD_STOP, | 1509 content::NOTIFICATION_LOAD_STOP, |
| 1522 content::Source<content::NavigationController>( | 1510 content::Source<content::NavigationController>( |
| 1523 &chrome::GetActiveWebContents(browser())->GetController())); | 1511 &chrome::GetActiveWebContents(browser())->GetController())); |
| 1524 | 1512 |
| 1525 ASSERT_TRUE(content::ExecuteJavaScript( | 1513 ASSERT_TRUE(content::ExecuteJavaScript( |
| 1526 render_view_host(), | 1514 render_view_host(), L"", |
| 1527 "", | 1515 ASCIIToWide("document.getElementById('testform').submit();"))); |
| 1528 "document.getElementById('testform').submit();")); | |
| 1529 // This will ensure the test didn't hang. | 1516 // This will ensure the test didn't hang. |
| 1530 load_stop_observer.Wait(); | 1517 load_stop_observer.Wait(); |
| 1531 } | 1518 } |
| 1532 | 1519 |
| 1533 // http://crbug.com/150084 | 1520 // http://crbug.com/150084 |
| 1534 #if defined(OS_MACOSX) | 1521 #if defined(OS_MACOSX) |
| 1535 #define MAYBE_DisableAutocompleteWhileFilling DisableAutocompleteWhileFilling | 1522 #define MAYBE_DisableAutocompleteWhileFilling DisableAutocompleteWhileFilling |
| 1536 #else | 1523 #else |
| 1537 #define MAYBE_DisableAutocompleteWhileFilling \ | 1524 #define MAYBE_DisableAutocompleteWhileFilling \ |
| 1538 DISABLED_DisableAutocompleteWhileFilling | 1525 DISABLED_DisableAutocompleteWhileFilling |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1549 | 1536 |
| 1550 // Invoke Autofill: Start filling the first name field with "M" and wait for | 1537 // Invoke Autofill: Start filling the first name field with "M" and wait for |
| 1551 // the popup to be shown. | 1538 // the popup to be shown. |
| 1552 FocusFirstNameField(); | 1539 FocusFirstNameField(); |
| 1553 SendKeyAndWait( | 1540 SendKeyAndWait( |
| 1554 ui::VKEY_M, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); | 1541 ui::VKEY_M, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); |
| 1555 | 1542 |
| 1556 // Now that the popup with suggestions is showing, disable autocomplete for | 1543 // Now that the popup with suggestions is showing, disable autocomplete for |
| 1557 // the active field. | 1544 // the active field. |
| 1558 ASSERT_TRUE(content::ExecuteJavaScript( | 1545 ASSERT_TRUE(content::ExecuteJavaScript( |
| 1559 render_view_host(), | 1546 render_view_host(), L"", |
| 1560 "", | 1547 L"document.querySelector('input').autocomplete = 'off';")); |
| 1561 "document.querySelector('input').autocomplete = 'off';")); | |
| 1562 | 1548 |
| 1563 // Press the down arrow to select the suggestion and attempt to preview the | 1549 // Press the down arrow to select the suggestion and attempt to preview the |
| 1564 // autofilled form. | 1550 // autofilled form. |
| 1565 content::SimulateKeyPress(chrome::GetActiveWebContents(browser()), | 1551 content::SimulateKeyPress(chrome::GetActiveWebContents(browser()), |
| 1566 ui::VKEY_DOWN, false, false, false, false); | 1552 ui::VKEY_DOWN, false, false, false, false); |
| 1567 | 1553 |
| 1568 // Wait for any IPCs to complete by performing an action that generates an | 1554 // Wait for any IPCs to complete by performing an action that generates an |
| 1569 // IPC that's easy to wait for. Chrome shouldn't crash. | 1555 // IPC that's easy to wait for. Chrome shouldn't crash. |
| 1570 bool result = false; | 1556 bool result = false; |
| 1571 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( | 1557 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| 1572 render_view_host(), | 1558 render_view_host(), L"", |
| 1573 "", | 1559 L"var city = document.getElementById('city');" |
| 1574 "var city = document.getElementById('city');" | 1560 L"city.onfocus = function() { domAutomationController.send(true); };" |
| 1575 "city.onfocus = function() { domAutomationController.send(true); };" | 1561 L"city.focus()", |
| 1576 "city.focus()", | |
| 1577 &result)); | 1562 &result)); |
| 1578 ASSERT_TRUE(result); | 1563 ASSERT_TRUE(result); |
| 1579 SendKeyAndWait( | 1564 SendKeyAndWait( |
| 1580 ui::VKEY_A, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); | 1565 ui::VKEY_A, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); |
| 1581 } | 1566 } |
| 1582 | 1567 |
| 1583 // Test that profiles merge for aggregated data with same address. | 1568 // Test that profiles merge for aggregated data with same address. |
| 1584 // The criterion for when two profiles are expected to be merged is when their | 1569 // The criterion for when two profiles are expected to be merged is when their |
| 1585 // 'Address Line 1' and 'City' data match. When two profiles are merged, any | 1570 // 'Address Line 1' and 'City' data match. When two profiles are merged, any |
| 1586 // remaining address fields are expected to be overwritten. Any non-address | 1571 // remaining address fields are expected to be overwritten. Any non-address |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1609 // TODO(isherman): this looks redundant, consider removing. | 1594 // TODO(isherman): this looks redundant, consider removing. |
| 1610 // DISABLED: http://crbug.com/150084 | 1595 // DISABLED: http://crbug.com/150084 |
| 1611 IN_PROC_BROWSER_TEST_F(AutofillTest, | 1596 IN_PROC_BROWSER_TEST_F(AutofillTest, |
| 1612 DISABLED_MergeAggregatedDuplicatedProfiles) { | 1597 DISABLED_MergeAggregatedDuplicatedProfiles) { |
| 1613 int num_of_profiles = | 1598 int num_of_profiles = |
| 1614 AggregateProfilesIntoAutofillPrefs("dataset_no_address.txt"); | 1599 AggregateProfilesIntoAutofillPrefs("dataset_no_address.txt"); |
| 1615 | 1600 |
| 1616 ASSERT_GT(num_of_profiles, | 1601 ASSERT_GT(num_of_profiles, |
| 1617 static_cast<int>(personal_data_manager()->GetProfiles().size())); | 1602 static_cast<int>(personal_data_manager()->GetProfiles().size())); |
| 1618 } | 1603 } |
| OLD | NEW |