summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-25 12:39:46 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-25 12:39:46 +0000
commite0731d7cb5c16e970cd3c83f3b6c59100a1c793d (patch)
treebefa4cc4fb93a726beef299d3eac2114bf98ce98
parent67264060d13d0028b61ab4ecc14c33b3f7004d39 (diff)
downloadchromium_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.cc25
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