OLD | NEW |
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 "components/autofill/content/browser/content_autofill_driver.h" | 5 #include "components/autofill/content/browser/content_autofill_driver.h" |
6 #include "components/autofill/content/browser/request_autocomplete_manager.h" | 6 #include "components/autofill/content/browser/request_autocomplete_manager.h" |
7 #include "components/autofill/content/common/autofill_messages.h" | 7 #include "components/autofill/content/common/autofill_messages.h" |
8 #include "components/autofill/core/browser/test_autofill_client.h" | 8 #include "components/autofill/core/browser/test_autofill_client.h" |
| 9 #include "content/public/browser/web_contents.h" |
9 #include "content/public/test/mock_render_process_host.h" | 10 #include "content/public/test/mock_render_process_host.h" |
10 #include "content/public/test/test_renderer_host.h" | 11 #include "content/public/test/test_renderer_host.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
12 | 13 |
13 namespace autofill { | 14 namespace autofill { |
14 | 15 |
15 namespace { | 16 namespace { |
16 | 17 |
17 const char kAppLocale[] = "en-US"; | 18 const char kAppLocale[] = "en-US"; |
18 const AutofillManager::AutofillDownloadManagerState kDownloadState = | 19 const AutofillManager::AutofillDownloadManagerState kDownloadState = |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 private: | 65 private: |
65 // Enable testing the path where a callback is called without a | 66 // Enable testing the path where a callback is called without a |
66 // valid FormStructure. | 67 // valid FormStructure. |
67 bool should_simulate_success_; | 68 bool should_simulate_success_; |
68 | 69 |
69 DISALLOW_COPY_AND_ASSIGN(CustomTestAutofillClient); | 70 DISALLOW_COPY_AND_ASSIGN(CustomTestAutofillClient); |
70 }; | 71 }; |
71 | 72 |
72 class TestContentAutofillDriver : public ContentAutofillDriver { | 73 class TestContentAutofillDriver : public ContentAutofillDriver { |
73 public: | 74 public: |
74 TestContentAutofillDriver(content::WebContents* contents, | 75 TestContentAutofillDriver(content::RenderFrameHost* rfh, |
75 AutofillClient* client) | 76 AutofillClient* client) |
76 : ContentAutofillDriver(contents, client, kAppLocale, kDownloadState) { | 77 : ContentAutofillDriver(rfh, client, kAppLocale, kDownloadState) { |
77 SetAutofillManager(make_scoped_ptr<AutofillManager>( | 78 SetAutofillManager(make_scoped_ptr<AutofillManager>( |
78 new TestAutofillManager(this, client))); | 79 new TestAutofillManager(this, client))); |
79 } | 80 } |
80 ~TestContentAutofillDriver() override {} | 81 ~TestContentAutofillDriver() override {} |
81 | 82 |
82 TestAutofillManager* mock_autofill_manager() { | 83 TestAutofillManager* mock_autofill_manager() { |
83 return static_cast<TestAutofillManager*>(autofill_manager()); | 84 return static_cast<TestAutofillManager*>(autofill_manager()); |
84 } | 85 } |
85 | 86 |
86 using ContentAutofillDriver::DidNavigateMainFrame; | |
87 | |
88 DISALLOW_COPY_AND_ASSIGN(TestContentAutofillDriver); | 87 DISALLOW_COPY_AND_ASSIGN(TestContentAutofillDriver); |
89 }; | 88 }; |
90 | 89 |
91 } // namespace | 90 } // namespace |
92 | 91 |
93 class RequestAutocompleteManagerTest : | 92 class RequestAutocompleteManagerTest : |
94 public content::RenderViewHostTestHarness { | 93 public content::RenderViewHostTestHarness { |
95 public: | 94 public: |
96 RequestAutocompleteManagerTest() {} | 95 RequestAutocompleteManagerTest() {} |
97 | 96 |
98 void SetUp() override { | 97 void SetUp() override { |
99 content::RenderViewHostTestHarness::SetUp(); | 98 content::RenderViewHostTestHarness::SetUp(); |
100 | 99 |
101 driver_.reset( | 100 driver_.reset(new TestContentAutofillDriver(web_contents()->GetMainFrame(), |
102 new TestContentAutofillDriver(web_contents(), &autofill_client_)); | 101 &autofill_client_)); |
103 request_autocomplete_manager_.reset( | 102 request_autocomplete_manager_.reset( |
104 new RequestAutocompleteManager(driver_.get())); | 103 new RequestAutocompleteManager(driver_.get())); |
105 } | 104 } |
106 | 105 |
107 void TearDown() override { | 106 void TearDown() override { |
108 // Reset the driver now to cause all pref observers to be removed and avoid | 107 // Reset the driver now to cause all pref observers to be removed and avoid |
109 // crashes that otherwise occur in the destructor. | 108 // crashes that otherwise occur in the destructor. |
110 driver_.reset(); | 109 driver_.reset(); |
111 content::RenderViewHostTestHarness::TearDown(); | 110 content::RenderViewHostTestHarness::TearDown(); |
112 } | 111 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 TEST_F(RequestAutocompleteManagerTest, | 158 TEST_F(RequestAutocompleteManagerTest, |
160 OnRequestAutocompleteWithAutofillDisabled) { | 159 OnRequestAutocompleteWithAutofillDisabled) { |
161 blink::WebFormElement::AutocompleteResult result; | 160 blink::WebFormElement::AutocompleteResult result; |
162 driver_->mock_autofill_manager()->set_autofill_enabled(false); | 161 driver_->mock_autofill_manager()->set_autofill_enabled(false); |
163 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL()); | 162 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL()); |
164 EXPECT_TRUE(GetAutocompleteResultMessage(&result)); | 163 EXPECT_TRUE(GetAutocompleteResultMessage(&result)); |
165 EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result); | 164 EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result); |
166 } | 165 } |
167 | 166 |
168 } // namespace autofill | 167 } // namespace autofill |
OLD | NEW |