summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/panels/panel_app_browsertest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/panels/panel_app_browsertest.cc')
-rw-r--r--chrome/browser/ui/panels/panel_app_browsertest.cc105
1 files changed, 0 insertions, 105 deletions
diff --git a/chrome/browser/ui/panels/panel_app_browsertest.cc b/chrome/browser/ui/panels/panel_app_browsertest.cc
deleted file mode 100644
index f8cb966..0000000
--- a/chrome/browser/ui/panels/panel_app_browsertest.cc
+++ /dev/null
@@ -1,105 +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/command_line.h"
-#include "base/file_path.h"
-#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/extensions/application_launch.h"
-#include "chrome/browser/ui/panels/panel_manager.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-#if defined(OS_MACOSX)
-#include "base/mac/scoped_nsautorelease_pool.h"
-#endif
-
-// Refactor has only been done for Mac panels so far.
-#if defined(OS_MACOSX)
-
-class PanelAppBrowserTest : public ExtensionBrowserTest {
- public:
- virtual void SetUpCommandLine(CommandLine* command_line) {
- ExtensionBrowserTest::SetUpCommandLine(command_line);
- command_line->AppendSwitch(switches::kBrowserlessPanels);
- }
-
- void LoadAndLaunchExtension(const char* name) {
-#if defined(OS_MACOSX)
- // Opening panels on a Mac causes NSWindowController of the Panel window
- // to be autoreleased. We need a pool drained after it's done so the test
- // can close correctly. The NSWindowController of the Panel window controls
- // lifetime of the Panel object so we want to release it as soon as
- // possible. In real Chrome, this is done by message pump.
- // On non-Mac platform, this is an empty class.
- base::mac::ScopedNSAutoreleasePool autorelease_pool;
-#endif
-
- EXPECT_TRUE(LoadExtension(test_data_dir_.AppendASCII(name)));
-
- ExtensionService* service = browser()->profile()->GetExtensionService();
- const extensions::Extension* extension = service->GetExtensionById(
- last_loaded_extension_id_, false);
- EXPECT_TRUE(extension);
-
- PanelManager* manager = PanelManager::GetInstance();
- int panel_count = manager->num_panels();
-
- application_launch::OpenApplication(
- browser()->profile(),
- extension,
- // Overriding manifest to open in a panel.
- extension_misc::LAUNCH_PANEL,
- GURL(),
- NEW_WINDOW,
- NULL);
-
- // Now we have a new browser instance.
- EXPECT_EQ(panel_count + 1, manager->num_panels());
- }
-
- void ClosePanelAndWait(Panel* panel) {
- // Closing a panel window may involve several async tasks. Need to use
- // message pump and wait for the notification.
- int panel_count = PanelManager::GetInstance()->num_panels();
- ui_test_utils::WindowedNotificationObserver signal(
- chrome::NOTIFICATION_PANEL_CLOSED,
- content::Source<Panel>(panel));
- panel->Close();
- signal.Wait();
- // Now we have one less panel instance.
- EXPECT_EQ(panel_count - 1, PanelManager::GetInstance()->num_panels());
- }
-};
-
-IN_PROC_BROWSER_TEST_F(PanelAppBrowserTest, OpenAppInPanel) {
- // Start with one browser, new Panel will NOT create another.
- ASSERT_EQ(1u, BrowserList::size());
-
- // No Panels initially.
- PanelManager* panel_manager = PanelManager::GetInstance();
- ASSERT_EQ(0, panel_manager->num_panels()); // No panels initially.
-
- LoadAndLaunchExtension("app_with_panel_container");
-
- // The launch should have created no new browsers.
- ASSERT_EQ(1u, BrowserList::size());
-
- // Now also check that PanelManager has one new Panel under management.
- EXPECT_EQ(1, panel_manager->num_panels());
-
- Panel* panel = panel_manager->panels()[0];
- ClosePanelAndWait(panel);
-
- EXPECT_EQ(0, panel_manager->num_panels());
- EXPECT_EQ(1u, BrowserList::size());
-}
-
-#endif // OS_MACOSX