diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-25 12:39:46 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-25 12:39:46 +0000 |
commit | e0731d7cb5c16e970cd3c83f3b6c59100a1c793d (patch) | |
tree | befa4cc4fb93a726beef299d3eac2114bf98ce98 | |
parent | 67264060d13d0028b61ab4ecc14c33b3f7004d39 (diff) | |
download | chromium_src-e0731d7cb5c16e970cd3c83f3b6c59100a1c793d.zip chromium_src-e0731d7cb5c16e970cd3c83f3b6c59100a1c793d.tar.gz chromium_src-e0731d7cb5c16e970cd3c83f3b6c59100a1c793d.tar.bz2 |
Make BlockedAppApiTest.OpenAppFromIframe pass with and without new popup blocker
BUG=38458
R=marja@chromium.org
Review URL: https://codereview.chromium.org/20297002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213618 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/extensions/app_process_apitest.cc | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc index ee5a829..a1c30b5 100644 --- a/chrome/browser/extensions/app_process_apitest.cc +++ b/chrome/browser/extensions/app_process_apitest.cc @@ -10,6 +10,7 @@ #include "chrome/browser/extensions/process_map.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h" +#include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_finder.h" @@ -656,20 +657,28 @@ IN_PROC_BROWSER_TEST_F(BlockedAppApiTest, MAYBE_OpenAppFromIframe) { LoadExtension(test_data_dir_.AppendASCII("app_process")); ASSERT_TRUE(app); - content::WindowedNotificationObserver blocker_observer( - chrome::NOTIFICATION_CONTENT_BLOCKED_STATE_CHANGED, - content::NotificationService::AllSources()); ui_test_utils::NavigateToURL( browser(), GetTestBaseURL("app_process").Resolve("path3/container.html")); - blocker_observer.Wait(); - WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); BlockedContentTabHelper* blocked_content_tab_helper = BlockedContentTabHelper::FromWebContents(tab); - std::vector<WebContents*> blocked_contents; - blocked_content_tab_helper->GetBlockedContents(&blocked_contents); - EXPECT_EQ(blocked_contents.size(), 1u); + PopupBlockerTabHelper* popup_blocker_tab_helper = + PopupBlockerTabHelper::FromWebContents(tab); + if (!blocked_content_tab_helper->GetBlockedContentsCount() && + (!popup_blocker_tab_helper || + !popup_blocker_tab_helper->GetBlockedPopupsCount())) { + content::WindowedNotificationObserver observer( + chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, + content::NotificationService::AllSources()); + observer.Wait(); + } + + EXPECT_EQ(1u, + blocked_content_tab_helper->GetBlockedContentsCount() + + (popup_blocker_tab_helper + ? popup_blocker_tab_helper->GetBlockedPopupsCount() + : 0)); } // Tests that if an extension launches an app via chrome.tabs.create with an URL |