Index: chrome/browser/autofill/autofill_external_delegate_browsertest.cc |
diff --git a/chrome/browser/autofill/autofill_external_delegate_browsertest.cc b/chrome/browser/autofill/autofill_external_delegate_browsertest.cc |
deleted file mode 100644 |
index e06e0462a5878c6782e33640c21beb8a3b432172..0000000000000000000000000000000000000000 |
--- a/chrome/browser/autofill/autofill_external_delegate_browsertest.cc |
+++ /dev/null |
@@ -1,168 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/memory/scoped_ptr.h" |
-#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/ui/browser.h" |
-#include "chrome/browser/ui/browser_tabstrip.h" |
-#include "chrome/browser/ui/tabs/tab_strip_model.h" |
-#include "chrome/common/url_constants.h" |
-#include "chrome/test/base/in_process_browser_test.h" |
-#include "chrome/test/base/testing_pref_service_syncable.h" |
-#include "components/autofill/core/browser/autofill_manager.h" |
-#include "components/autofill/core/browser/test_autofill_driver.h" |
-#include "components/autofill/core/browser/test_autofill_external_delegate.h" |
-#include "components/autofill/core/browser/test_autofill_manager_delegate.h" |
-#include "content/public/browser/navigation_controller.h" |
-#include "content/public/browser/notification_service.h" |
-#include "content/public/browser/notification_types.h" |
-#include "content/public/browser/page_navigator.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/browser/web_contents_observer.h" |
-#include "content/public/common/url_constants.h" |
-#include "content/public/test/test_utils.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "ui/gfx/rect.h" |
- |
-namespace autofill { |
-namespace { |
- |
-class MockAutofillManagerDelegate |
- : public autofill::TestAutofillManagerDelegate { |
- public: |
- MockAutofillManagerDelegate() {} |
- virtual ~MockAutofillManagerDelegate() {} |
- |
- virtual PrefService* GetPrefs() { return &prefs_; } |
- |
- user_prefs::PrefRegistrySyncable* GetPrefRegistry() { |
- return prefs_.registry(); |
- } |
- |
- MOCK_METHOD7(ShowAutofillPopup, |
- void(const gfx::RectF& element_bounds, |
- base::i18n::TextDirection text_direction, |
- const std::vector<string16>& values, |
- const std::vector<string16>& labels, |
- const std::vector<string16>& icons, |
- const std::vector<int>& identifiers, |
- base::WeakPtr<AutofillPopupDelegate> delegate)); |
- |
- MOCK_METHOD0(HideAutofillPopup, void()); |
- |
- private: |
- TestingPrefServiceSyncable prefs_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MockAutofillManagerDelegate); |
-}; |
- |
-// Subclass AutofillManager so we can create AutofillManager instance. |
-class TestAutofillManager : public AutofillManager { |
- public: |
- TestAutofillManager(AutofillDriver* driver, |
- autofill::AutofillManagerDelegate* delegate) |
- : AutofillManager(driver, |
- delegate, |
- g_browser_process->GetApplicationLocale(), |
- AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER) {} |
- virtual ~TestAutofillManager() {} |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(TestAutofillManager); |
-}; |
- |
-// Subclass AutofillExternalDelegate so we can create an |
-// AutofillExternalDelegate instance. |
-class TestAutofillExternalDelegate : public AutofillExternalDelegate { |
- public: |
- TestAutofillExternalDelegate(content::WebContents* web_contents, |
- AutofillManager* autofill_manager) |
- : AutofillExternalDelegate(web_contents, autofill_manager) {} |
- virtual ~TestAutofillExternalDelegate() {} |
-}; |
- |
-} // namespace |
- |
-class AutofillExternalDelegateBrowserTest |
- : public InProcessBrowserTest, |
- public content::WebContentsObserver { |
- public: |
- AutofillExternalDelegateBrowserTest() {} |
- virtual ~AutofillExternalDelegateBrowserTest() {} |
- |
- virtual void SetUpOnMainThread() OVERRIDE { |
- web_contents_ = browser()->tab_strip_model()->GetActiveWebContents(); |
- ASSERT_TRUE(web_contents_ != NULL); |
- Observe(web_contents_); |
- |
- AutofillManager::RegisterUserPrefs(manager_delegate_.GetPrefRegistry()); |
- |
- autofill_driver_.reset(new TestAutofillDriver(web_contents_)); |
- autofill_manager_.reset( |
- new TestAutofillManager(autofill_driver_.get(), &manager_delegate_)); |
- autofill_external_delegate_.reset( |
- new TestAutofillExternalDelegate(web_contents_, |
- autofill_manager_.get())); |
- } |
- |
- // Normally the WebContents will automatically delete the delegate, but here |
- // the delegate is owned by this test, so we have to manually destroy. |
- virtual void WebContentsDestroyed(content::WebContents* web_contents) |
- OVERRIDE { |
- DCHECK_EQ(web_contents_, web_contents); |
- autofill_external_delegate_.reset(); |
- autofill_manager_.reset(); |
- autofill_driver_.reset(); |
- } |
- |
- protected: |
- content::WebContents* web_contents_; |
- |
- testing::NiceMock<MockAutofillManagerDelegate> manager_delegate_; |
- scoped_ptr<TestAutofillDriver> autofill_driver_; |
- scoped_ptr<TestAutofillManager> autofill_manager_; |
- scoped_ptr<TestAutofillExternalDelegate> autofill_external_delegate_; |
-}; |
- |
-IN_PROC_BROWSER_TEST_F(AutofillExternalDelegateBrowserTest, |
- SwitchTabAndHideAutofillPopup) { |
- autofill::GenerateTestAutofillPopup(autofill_external_delegate_.get()); |
- |
- // Notification is different on platforms. On linux this will be called twice, |
- // while on windows only once. |
- EXPECT_CALL(manager_delegate_, HideAutofillPopup()) |
- .Times(testing::AtLeast(1)); |
- |
- content::WindowedNotificationObserver observer( |
- content::NOTIFICATION_WEB_CONTENTS_VISIBILITY_CHANGED, |
- content::Source<content::WebContents>(web_contents_)); |
- chrome::AddSelectedTabWithURL(browser(), GURL(content::kAboutBlankURL), |
- content::PAGE_TRANSITION_AUTO_TOPLEVEL); |
- observer.Wait(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(AutofillExternalDelegateBrowserTest, |
- TestPageNavigationHidingAutofillPopup) { |
- autofill::GenerateTestAutofillPopup(autofill_external_delegate_.get()); |
- |
- // Notification is different on platforms. On linux this will be called twice, |
- // while on windows only once. |
- EXPECT_CALL(manager_delegate_, HideAutofillPopup()) |
- .Times(testing::AtLeast(1)); |
- |
- content::WindowedNotificationObserver observer( |
- content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
- content::Source<content::NavigationController>( |
- &(web_contents_->GetController()))); |
- browser()->OpenURL(content::OpenURLParams( |
- GURL(chrome::kChromeUIBookmarksURL), content::Referrer(), |
- CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); |
- browser()->OpenURL(content::OpenURLParams( |
- GURL(chrome::kChromeUIAboutURL), content::Referrer(), |
- CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); |
- observer.Wait(); |
-} |
- |
-} // namespace autofill |