| Index: components/autofill/core/browser/autofill_manager_unittest.cc | 
| diff --git a/components/autofill/core/browser/autofill_manager_unittest.cc b/components/autofill/core/browser/autofill_manager_unittest.cc | 
| index 7aeb81ec6d50948cb8fdeabf7a19f64b65c6d21e..275920fde0af37d893d59e0c8b4635305f4e973d 100644 | 
| --- a/components/autofill/core/browser/autofill_manager_unittest.cc | 
| +++ b/components/autofill/core/browser/autofill_manager_unittest.cc | 
| @@ -479,14 +479,6 @@ class TestAutofillManager : public AutofillManager { | 
| autofill_enabled_ = autofill_enabled; | 
| } | 
|  | 
| -  void set_autocheckout_url_prefix(const std::string& autocheckout_url_prefix) { | 
| -    autocheckout_url_prefix_ = autocheckout_url_prefix; | 
| -  } | 
| - | 
| -  virtual std::string GetAutocheckoutURLPrefix() const OVERRIDE { | 
| -    return autocheckout_url_prefix_; | 
| -  } | 
| - | 
| const std::vector<std::pair<WebFormElement::AutocompleteResult, FormData> >& | 
| request_autocomplete_results() const { | 
| return request_autocomplete_results_; | 
| @@ -533,14 +525,6 @@ class TestAutofillManager : public AutofillManager { | 
| submission_time); | 
| } | 
|  | 
| -  virtual void OnMaybeShowAutocheckoutBubble( | 
| -      const FormData& form, | 
| -      const gfx::RectF& bounding_box) OVERRIDE { | 
| -    AutofillManager::OnMaybeShowAutocheckoutBubble(form, bounding_box); | 
| -    // Needed for AutocheckoutManager to post task on IO thread. | 
| -    content::RunAllPendingInMessageLoop(content::BrowserThread::IO); | 
| -  } | 
| - | 
| // Resets the MessageLoopRunner so that it can wait for an asynchronous form | 
| // submission to complete. | 
| void ResetMessageLoopRunner() { | 
| @@ -597,35 +581,6 @@ class TestAutofillManager : public AutofillManager { | 
| request_autocomplete_results_.push_back(std::make_pair(result, form_data)); | 
| } | 
|  | 
| -  // Set autocheckout manager's page meta data to first page on Autocheckout | 
| -  // flow. | 
| -  void MarkAsFirstPageInAutocheckoutFlow() { | 
| -    scoped_ptr<AutocheckoutPageMetaData> start_of_flow( | 
| -        new AutocheckoutPageMetaData()); | 
| -    start_of_flow->current_page_number = 0; | 
| -    start_of_flow->total_pages = 3; | 
| -    WebElementDescriptor* proceed_element = | 
| -        &start_of_flow->proceed_element_descriptor; | 
| -    proceed_element->descriptor = "#foo"; | 
| -    proceed_element->retrieval_method = WebElementDescriptor::ID; | 
| -    autocheckout_manager()->OnLoadedPageMetaData(start_of_flow.Pass()); | 
| -  } | 
| - | 
| -  // Set autocheckout manager's page meta data to first page on Autocheckout | 
| -  // flow. | 
| -  void MarkAsFirstPageInAutocheckoutFlowIgnoringAjax() { | 
| -    scoped_ptr<AutocheckoutPageMetaData> start_of_flow( | 
| -        new AutocheckoutPageMetaData()); | 
| -    start_of_flow->current_page_number = 0; | 
| -    start_of_flow->total_pages = 3; | 
| -    start_of_flow->ignore_ajax = true; | 
| -    WebElementDescriptor* proceed_element = | 
| -        &start_of_flow->proceed_element_descriptor; | 
| -    proceed_element->descriptor = "#foo"; | 
| -    proceed_element->retrieval_method = WebElementDescriptor::ID; | 
| -    autocheckout_manager()->OnLoadedPageMetaData(start_of_flow.Pass()); | 
| -  } | 
| - | 
| private: | 
| // Weak reference. | 
| TestPersonalDataManager* personal_data_; | 
| @@ -636,7 +591,6 @@ class TestAutofillManager : public AutofillManager { | 
|  | 
| scoped_refptr<content::MessageLoopRunner> message_loop_runner_; | 
|  | 
| -  std::string autocheckout_url_prefix_; | 
| std::string submitted_form_signature_; | 
| std::vector<ServerFieldTypeSet> expected_submitted_field_types_; | 
|  | 
| @@ -839,14 +793,6 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness { | 
| return autofill_manager_->PackGUIDs(cc_guid, profile_guid); | 
| } | 
|  | 
| - | 
| -  bool HasSeenAutofillGetAllFormsMessage() { | 
| -    const uint32 kMsgID = AutofillMsg_GetAllForms::ID; | 
| -    const IPC::Message* message = | 
| -        process()->sink().GetFirstMessageMatching(kMsgID); | 
| -    return message != NULL; | 
| -  } | 
| - | 
| protected: | 
| scoped_ptr<MockAutofillDriver> autofill_driver_; | 
| scoped_ptr<TestAutofillManager> autofill_manager_; | 
| @@ -861,7 +807,7 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness { | 
| class TestFormStructure : public FormStructure { | 
| public: | 
| explicit TestFormStructure(const FormData& form) | 
| -      : FormStructure(form, std::string()) {} | 
| +      : FormStructure(form) {} | 
| virtual ~TestFormStructure() {} | 
|  | 
| void SetFieldTypes(const std::vector<ServerFieldType>& heuristic_types, | 
| @@ -883,19 +829,6 @@ class TestFormStructure : public FormStructure { | 
| DISALLOW_COPY_AND_ASSIGN(TestFormStructure); | 
| }; | 
|  | 
| -// Test that browser asks for all forms when Autocheckout is enabled. | 
| -TEST_F(AutofillManagerTest, GetAllForms) { | 
| -  FormData form; | 
| -  test::CreateTestAddressFormData(&form); | 
| -  std::vector<FormData> forms(1, form); | 
| -  // Enable autocheckout. | 
| -  autofill_manager_->set_autocheckout_url_prefix("test-prefix"); | 
| - | 
| -  PartialFormsSeen(forms); | 
| - | 
| -  ASSERT_TRUE(HasSeenAutofillGetAllFormsMessage()); | 
| -} | 
| - | 
| // Test that we return all address profile suggestions when all form fields are | 
| // empty. | 
| TEST_F(AutofillManagerTest, GetProfileSuggestionsEmptyValue) { | 
| @@ -930,79 +863,6 @@ TEST_F(AutofillManagerTest, GetProfileSuggestionsEmptyValue) { | 
| expected_labels, expected_icons, expected_unique_ids); | 
| } | 
|  | 
| -// Test that in the case of Autocheckout, forms seen are in order supplied. | 
| -TEST_F(AutofillManagerTest, AutocheckoutFormsSeen) { | 
| -  FormData shipping_options; | 
| -  CreateTestShippingOptionsFormData(&shipping_options); | 
| -  FormData user_supplied; | 
| -  CreateTestFormWithAutocompleteAttribute(&user_supplied); | 
| -  FormData address; | 
| -  test::CreateTestAddressFormData(&address); | 
| - | 
| -  // Push user_supplied before address and observe order changing when | 
| -  // Autocheckout is not enabled.. | 
| -  std::vector<FormData> forms; | 
| -  forms.push_back(shipping_options); | 
| -  forms.push_back(user_supplied); | 
| -  forms.push_back(address); | 
| - | 
| -  // Test without enabling Autocheckout. FormStructure should only contain | 
| -  // form1. Shipping Options form will not qualify as parsable form. | 
| -  FormsSeen(forms); | 
| -  std::vector<FormStructure*> form_structures; | 
| -  form_structures = autofill_manager_->GetFormStructures(); | 
| -  ASSERT_EQ(2U, form_structures.size()); | 
| -  EXPECT_EQ("/form.html", form_structures[0]->source_url().path()); | 
| -  EXPECT_EQ("/userspecified.html", form_structures[1]->source_url().path()); | 
| -  autofill_manager_->ClearFormStructures(); | 
| - | 
| -  // Test after enabling Autocheckout. Order should be shipping_options, | 
| -  // userspecified and then address form. | 
| -  autofill_manager_->set_autocheckout_url_prefix("yes-autocheckout"); | 
| -  FormsSeen(forms); | 
| -  form_structures = autofill_manager_->GetFormStructures(); | 
| -  ASSERT_EQ(3U, form_structures.size()); | 
| -  EXPECT_EQ("/shipping.html", form_structures[0]->source_url().path()); | 
| -  EXPECT_EQ("/userspecified.html", form_structures[1]->source_url().path()); | 
| -  EXPECT_EQ("/form.html", form_structures[2]->source_url().path()); | 
| -} | 
| - | 
| -// Test that in the case of Autocheckout, forms seen are in order supplied. | 
| -TEST_F(AutofillManagerTest, DynamicFormsSeen) { | 
| -  FormData shipping_options; | 
| -  CreateTestShippingOptionsFormData(&shipping_options); | 
| -  FormData user_supplied; | 
| -  CreateTestFormWithAutocompleteAttribute(&user_supplied); | 
| -  FormData address; | 
| -  test::CreateTestAddressFormData(&address); | 
| - | 
| -  autofill_manager_->set_autocheckout_url_prefix("test-prefix"); | 
| -  // Push user_supplied only | 
| -  std::vector<FormData> forms; | 
| -  forms.push_back(user_supplied); | 
| - | 
| -  // Make sure normal form is handled correctly. | 
| -  FormsSeen(forms); | 
| -  std::vector<FormStructure*> form_structures; | 
| -  form_structures = autofill_manager_->GetFormStructures(); | 
| -  ASSERT_EQ(1U, form_structures.size()); | 
| -  EXPECT_EQ("/userspecified.html", form_structures[0]->source_url().path()); | 
| - | 
| -  // Push other forms | 
| -  forms.push_back(shipping_options); | 
| -  forms.push_back(address); | 
| - | 
| -  // FormStructure should contain three and only three forms. Otherwise, it | 
| -  // would indicate that the manager didn't reset upon being notified of | 
| -  // the new forms; | 
| -  DynamicFormsSeen(forms); | 
| -  form_structures = autofill_manager_->GetFormStructures(); | 
| -  ASSERT_EQ(3U, form_structures.size()); | 
| -  EXPECT_EQ("/userspecified.html", form_structures[0]->source_url().path()); | 
| -  EXPECT_EQ("/shipping.html", form_structures[1]->source_url().path()); | 
| -  EXPECT_EQ("/form.html", form_structures[2]->source_url().path()); | 
| -} | 
| - | 
| // Test that we return only matching address profile suggestions when the | 
| // selected form field has been partially filled out. | 
| TEST_F(AutofillManagerTest, GetProfileSuggestionsMatchCharacter) { | 
| @@ -2683,7 +2543,7 @@ TEST_F(AutofillManagerTest, FormSubmittedWithDifferentFields) { | 
| FormsSeen(forms); | 
|  | 
| // Cache the expected form signature. | 
| -  std::string signature = FormStructure(form, std::string()).FormSignature(); | 
| +  std::string signature = FormStructure(form).FormSignature(); | 
|  | 
| // Change the structure of the form prior to submission. | 
| // Websites would typically invoke JavaScript either on page load or on form | 
| @@ -3108,20 +2968,10 @@ namespace { | 
|  | 
| class MockAutofillManagerDelegate : public TestAutofillManagerDelegate { | 
| public: | 
| -  MockAutofillManagerDelegate() | 
| -      : autocheckout_bubble_shown_(false) {} | 
| +  MockAutofillManagerDelegate() {} | 
|  | 
| virtual ~MockAutofillManagerDelegate() {} | 
|  | 
| -  virtual bool ShowAutocheckoutBubble( | 
| -      const gfx::RectF& bounds, | 
| -      bool is_google_user, | 
| -      const base::Callback<void(AutocheckoutBubbleState)>& callback) OVERRIDE { | 
| -    autocheckout_bubble_shown_ = true; | 
| -    callback.Run(AUTOCHECKOUT_BUBBLE_ACCEPTED); | 
| -    return true; | 
| -  } | 
| - | 
| virtual void ShowRequestAutocompleteDialog( | 
| const FormData& form, | 
| const GURL& source_url, | 
| @@ -3135,12 +2985,7 @@ class MockAutofillManagerDelegate : public TestAutofillManagerDelegate { | 
| user_supplied_data_.reset(user_supplied_data.release()); | 
| } | 
|  | 
| -  bool autocheckout_bubble_shown() const { | 
| -    return autocheckout_bubble_shown_; | 
| -  } | 
| - | 
| private: | 
| -  bool autocheckout_bubble_shown_; | 
| scoped_ptr<FormStructure> user_supplied_data_; | 
|  | 
| DISALLOW_COPY_AND_ASSIGN(MockAutofillManagerDelegate); | 
| @@ -3148,65 +2993,6 @@ class MockAutofillManagerDelegate : public TestAutofillManagerDelegate { | 
|  | 
| }  // namespace | 
|  | 
| -// Test that Autocheckout bubble is offered when server specifies field types. | 
| -TEST_F(AutofillManagerTest, TestBubbleShown) { | 
| -  MockAutofillManagerDelegate delegate; | 
| -  autofill_manager_.reset(new TestAutofillManager( | 
| -      autofill_driver_.get(), &delegate, &personal_data_)); | 
| -  autofill_manager_->set_autofill_enabled(true); | 
| -  autofill_manager_->MarkAsFirstPageInAutocheckoutFlow(); | 
| - | 
| -  FormData form; | 
| -  test::CreateTestAddressFormData(&form); | 
| - | 
| -  TestFormStructure* form_structure = new TestFormStructure(form); | 
| -  AutofillMetrics metrics_logger;  // ignored | 
| -  form_structure->DetermineHeuristicTypes(metrics_logger); | 
| - | 
| -  // Build and add form structure with server data. | 
| -  std::vector<ServerFieldType> heuristic_types, server_types; | 
| -  for (size_t i = 0; i < form.fields.size(); ++i) { | 
| -    heuristic_types.push_back(UNKNOWN_TYPE); | 
| -    server_types.push_back(form_structure->field(i)->heuristic_type()); | 
| -  } | 
| -  form_structure->SetFieldTypes(heuristic_types, server_types); | 
| -  autofill_manager_->AddSeenForm(form_structure); | 
| - | 
| -  autofill_manager_->OnMaybeShowAutocheckoutBubble(form, gfx::RectF()); | 
| - | 
| -  EXPECT_TRUE(delegate.autocheckout_bubble_shown()); | 
| -} | 
| - | 
| -// Test that Autocheckout bubble is not offered when server doesn't have data | 
| -// for the form. | 
| -TEST_F(AutofillManagerTest, TestAutocheckoutBubbleNotShown) { | 
| -  MockAutofillManagerDelegate delegate; | 
| -  autofill_manager_.reset(new TestAutofillManager( | 
| -      autofill_driver_.get(), &delegate, &personal_data_)); | 
| -  autofill_manager_->set_autofill_enabled(true); | 
| -  autofill_manager_->MarkAsFirstPageInAutocheckoutFlow(); | 
| - | 
| -  FormData form; | 
| -  test::CreateTestAddressFormData(&form); | 
| - | 
| -  TestFormStructure* form_structure = new TestFormStructure(form); | 
| -  AutofillMetrics metrics_logger;  // ignored | 
| -  form_structure->DetermineHeuristicTypes(metrics_logger); | 
| - | 
| -  // Build form structure without server data. | 
| -  std::vector<ServerFieldType> heuristic_types, server_types; | 
| -  for (size_t i = 0; i < form.fields.size(); ++i) { | 
| -    heuristic_types.push_back(form_structure->field(i)->heuristic_type()); | 
| -    server_types.push_back(NO_SERVER_DATA); | 
| -  } | 
| -  form_structure->SetFieldTypes(heuristic_types, server_types); | 
| -  autofill_manager_->AddSeenForm(form_structure); | 
| - | 
| -  autofill_manager_->OnMaybeShowAutocheckoutBubble(form, gfx::RectF()); | 
| - | 
| -  EXPECT_FALSE(delegate.autocheckout_bubble_shown()); | 
| -} | 
| - | 
| // Test our external delegate is called at the right time. | 
| TEST_F(AutofillManagerTest, TestExternalDelegate) { | 
| FormData form; | 
| @@ -3219,53 +3005,4 @@ TEST_F(AutofillManagerTest, TestExternalDelegate) { | 
| EXPECT_TRUE(external_delegate_->on_query_seen()); | 
| } | 
|  | 
| -// Test that in the case of Autocheckout, forms seen are in order supplied. | 
| -TEST_F(AutofillManagerTest, DynamicFormsSeenAndIgnored) { | 
| -  MockAutofillManagerDelegate delegate; | 
| -  autofill_manager_.reset(new TestAutofillManager( | 
| -      autofill_driver_.get(), &delegate, &personal_data_)); | 
| -  FormData shipping_options; | 
| -  CreateTestShippingOptionsFormData(&shipping_options); | 
| -  FormData user_supplied; | 
| -  CreateTestFormWithAutocompleteAttribute(&user_supplied); | 
| -  FormData address; | 
| -  test::CreateTestAddressFormData(&address); | 
| - | 
| -  autofill_manager_->set_autocheckout_url_prefix("test-prefix"); | 
| -  // Push address only | 
| -  std::vector<FormData> forms; | 
| -  forms.push_back(address); | 
| - | 
| -  // Build and add form structure with server data. | 
| -  scoped_ptr<TestFormStructure> form_structure(new TestFormStructure(address)); | 
| -  std::vector<ServerFieldType> heuristic_types, server_types; | 
| -  for (size_t i = 0; i < address.fields.size(); ++i) { | 
| -    heuristic_types.push_back(UNKNOWN_TYPE); | 
| -    server_types.push_back(form_structure->field(i)->heuristic_type()); | 
| -  } | 
| -  form_structure->SetFieldTypes(heuristic_types, server_types); | 
| -  autofill_manager_->AddSeenForm(form_structure.release()); | 
| - | 
| -  // Make sure normal form is handled correctly. | 
| -  autofill_manager_->MarkAsFirstPageInAutocheckoutFlowIgnoringAjax(); | 
| -  std::vector<FormStructure*> form_structures; | 
| -  form_structures = autofill_manager_->GetFormStructures(); | 
| -  ASSERT_EQ(1U, form_structures.size()); | 
| -  EXPECT_EQ("/form.html", form_structures[0]->source_url().path()); | 
| - | 
| -  scoped_ptr<FormStructure> filled_form(new TestFormStructure(address)); | 
| -  delegate.SetUserSuppliedData(filled_form.Pass()); | 
| -  autofill_manager_->OnMaybeShowAutocheckoutBubble(address, gfx::RectF()); | 
| - | 
| -  // Push other forms | 
| -  forms.push_back(shipping_options); | 
| -  forms.push_back(user_supplied); | 
| - | 
| -  // FormStructure should contain the same forms as before. | 
| -  DynamicFormsSeen(forms); | 
| -  form_structures = autofill_manager_->GetFormStructures(); | 
| -  ASSERT_EQ(1U, form_structures.size()); | 
| -  EXPECT_EQ("/form.html", form_structures[0]->source_url().path()); | 
| -} | 
| - | 
| }  // namespace autofill | 
|  |