1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 23345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Use of this source code is governed by a BSD-style license that can be 33345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// found in the LICENSE file. 43345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 53345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/command_line.h" 63345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/file_path.h" 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/file_util.h" 83345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/message_loop.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/path_service.h" 1021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/profiles/profile.h" 114a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "chrome/browser/ui/browser.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/ui/browser_list.h" 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/ui/browser_window.h" 143345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/common/chrome_paths.h" 153345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/test/in_process_browser_test.h" 163345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/test/ui_test_utils.h" 17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/tab_contents/tab_contents.h" 183345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "testing/gtest/include/gtest/gtest.h" 193345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 203345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merricknamespace { 213345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 223345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickstatic const FilePath::CharType* kTestDir = FILE_PATH_LITERAL("popup_blocker"); 233345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 243345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merricktypedef InProcessBrowserTest PopupBlockerBrowserTest; 253345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 263345a6884c488ff3a535c2c9acdd33d74b37e311Iain MerrickIN_PROC_BROWSER_TEST_F(PopupBlockerBrowserTest, PopupBlockedPostBlank) { 273345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick FilePath file_name(FILE_PATH_LITERAL("popup-blocked-to-post-blank.html")); 283345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick FilePath test_dir(kTestDir); 293345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick GURL url(ui_test_utils::GetTestUrl(test_dir, file_name)); 303345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick ui_test_utils::NavigateToURL(browser(), url); 313345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 323345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick // If the popup blocker blocked the blank post, there should be only one 333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick // tab in only one browser window and the URL of current tab must be equal 343345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick // to the original URL. 353345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick EXPECT_EQ(1u, BrowserList::GetBrowserCount(browser()->profile())); 363345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick EXPECT_EQ(1, browser()->tab_count()); 373345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick TabContents* cur_tab = browser()->GetSelectedTabContents(); 383345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick ASSERT_TRUE(cur_tab); 393345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick EXPECT_EQ(url, cur_tab->GetURL()); 403345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick} 413345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 423345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick} // namespace 43