diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-19 21:09:14 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-19 21:09:14 +0000 |
commit | cff386ccf5eb4de8bc409b85da0855e610824b24 (patch) | |
tree | 0a1b9d4c4abc26258d4b0f1cc9bac4bf326913de /chrome/browser/extensions/browser_action_apitest.cc | |
parent | 76fbe717255e22a0d326b518165750e8d27a82cb (diff) | |
download | chromium_src-cff386ccf5eb4de8bc409b85da0855e610824b24.zip chromium_src-cff386ccf5eb4de8bc409b85da0855e610824b24.tar.gz chromium_src-cff386ccf5eb4de8bc409b85da0855e610824b24.tar.bz2 |
Port BrowserActionApiTest.BrowserActionPopup to linux.
Also make the test proprely wait for the EXTENSION_HOST_DID_STOP_LOADING signal.
BUG=29710
TEST=compiles
Review URL: http://codereview.chromium.org/515065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36544 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/browser_action_apitest.cc')
-rw-r--r-- | chrome/browser/extensions/browser_action_apitest.cc | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/chrome/browser/extensions/browser_action_apitest.cc b/chrome/browser/extensions/browser_action_apitest.cc index 0ef8f9b..1eb1a3b 100644 --- a/chrome/browser/extensions/browser_action_apitest.cc +++ b/chrome/browser/extensions/browser_action_apitest.cc @@ -22,6 +22,8 @@ #include "chrome/common/extensions/extension_action.h" #include "chrome/test/ui_test_utils.h" +static const int kTimeoutMs = 60 * 1000; // 1 minute + class BrowserActionApiTest : public ExtensionApiTest { public: BrowserActionApiTest() {} @@ -32,16 +34,23 @@ class BrowserActionApiTest : public ExtensionApiTest { return BrowserActionTestUtil(browser()); } -// TODO(estade): http://crbug.com/29710 port to Linux -#if !defined(TOOLKIT_GTK) gfx::Rect OpenPopup(int index) { - ResultCatcher catcher; - GetBrowserActionsBar().Press(index); + { + NotificationRegistrar registrar; + registrar.Add(this, NotificationType::EXTENSION_HOST_DID_STOP_LOADING, + NotificationService::AllSources()); + GetBrowserActionsBar().Press(index); + // If the popup is already showing then we needn't wait for the + // notification before proceeding. + if (!GetBrowserActionsBar().HasPopup()) { + MessageLoop::current()->PostDelayedTask( + FROM_HERE, new MessageLoop::QuitTask, kTimeoutMs); + } + ui_test_utils::RunMessageLoop(); + } EXPECT_TRUE(GetBrowserActionsBar().HasPopup()); - EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); return GetBrowserActionsBar().GetPopupBounds(); } -#endif // !defined(TOOLKIT_GTK) }; IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, Basic) { @@ -141,14 +150,10 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, TabSpecificBrowserActionState) { EXPECT_EQ("hi!", GetBrowserActionsBar().GetTooltip(0)); } -// TODO(estade): http://crbug.com/29710 port to Linux -#if !defined(TOOLKIT_GTK) IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, BrowserActionPopup) { ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( "browser_action/popup"))); - ResultCatcher catcher; - // The extension's popup's size grows by |growFactor| each click. const int growFactor = 500; gfx::Size minSize = BrowserActionTestUtil::GetMinPopupSize(); @@ -173,4 +178,3 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, BrowserActionPopup) { EXPECT_EQ(maxSize, bounds.size()); EXPECT_TRUE(GetBrowserActionsBar().HidePopup()); } -#endif // !defined(TOOLKIT_GTK) |