Index: chrome/browser/ui/panels/panel_browsertest.cc |
=================================================================== |
--- chrome/browser/ui/panels/panel_browsertest.cc (revision 97392) |
+++ chrome/browser/ui/panels/panel_browsertest.cc (working copy) |
@@ -2,11 +2,9 @@ |
// 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 "chrome/browser/extensions/extension_service.h" |
+#include "chrome/browser/ui/panels/base_panel_browser_test.h" |
+ |
#include "chrome/browser/prefs/pref_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/browser_window.h" |
#include "chrome/browser/ui/find_bar/find_bar.h" |
@@ -14,101 +12,45 @@ |
#include "chrome/browser/ui/panels/native_panel.h" |
#include "chrome/browser/ui/panels/panel.h" |
#include "chrome/browser/ui/panels/panel_manager.h" |
-#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
#include "chrome/browser/web_applications/web_app.h" |
#include "chrome/common/chrome_notification_types.h" |
-#include "chrome/common/chrome_switches.h" |
-#include "chrome/common/extensions/extension.h" |
#include "chrome/common/pref_names.h" |
-#include "chrome/test/base/in_process_browser_test.h" |
#include "chrome/test/base/ui_test_utils.h" |
#include "content/browser/download/download_manager.h" |
#include "content/browser/net/url_request_mock_http_job.h" |
-#include "content/browser/tab_contents/test_tab_contents.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-#if defined(OS_MACOSX) |
-#include "chrome/browser/ui/cocoa/find_bar/find_bar_bridge.h" |
-#endif |
- |
-class PanelBrowserTest : public InProcessBrowserTest { |
+class PanelBrowserTest : public BasePanelBrowserTest { |
public: |
- PanelBrowserTest() : InProcessBrowserTest() { |
-#if defined(OS_MACOSX) |
- FindBarBridge::disable_animations_during_testing_ = true; |
-#endif |
+ PanelBrowserTest() : BasePanelBrowserTest() { |
} |
- virtual void SetUpCommandLine(CommandLine* command_line) { |
- command_line->AppendSwitch(switches::kEnablePanels); |
- } |
- |
protected: |
- Panel* CreatePanel(const std::string& name, const gfx::Rect& bounds) { |
- Browser* panel_browser = Browser::CreateForApp(Browser::TYPE_PANEL, |
- name, |
- bounds, |
- browser()->profile()); |
- EXPECT_TRUE(panel_browser->is_type_panel()); |
- |
- TabContentsWrapper* tab_contents = |
- new TabContentsWrapper(new TestTabContents(browser()->profile(), NULL)); |
- panel_browser->AddTab(tab_contents, PageTransition::LINK); |
- |
- Panel* panel = static_cast<Panel*>(panel_browser->window()); |
- panel->Show(); |
- MessageLoopForUI::current()->RunAllPending(); |
- |
- return panel; |
- } |
- |
- // Creates a testing extension. |
- scoped_refptr<Extension> CreateExtension(const FilePath::StringType& path) { |
-#if defined(OS_WIN) |
- FilePath full_path(FILE_PATH_LITERAL("c:\\")); |
-#else |
- FilePath full_path(FILE_PATH_LITERAL("/")); |
-#endif |
- full_path = full_path.Append(path); |
- DictionaryValue input_value; |
- input_value.SetString(extension_manifest_keys::kVersion, "1.0.0.0"); |
- input_value.SetString(extension_manifest_keys::kName, "Sample Extension"); |
- std::string error; |
- scoped_refptr<Extension> extension = Extension::Create( |
- full_path, Extension::INVALID, input_value, |
- Extension::STRICT_ERROR_CHECKS, &error); |
- EXPECT_TRUE(extension.get()); |
- EXPECT_STREQ("", error.c_str()); |
- browser()->GetProfile()->GetExtensionService()->OnLoadSingleExtension( |
- extension.get(), false); |
- return extension; |
- } |
- |
void TestCreatePanelOnOverflow() { |
PanelManager* panel_manager = PanelManager::GetInstance(); |
EXPECT_EQ(0, panel_manager->num_panels()); // No panels initially. |
- // Specify the work area for testing purpose. |
- panel_manager->SetWorkArea(gfx::Rect(0, 0, 800, 600)); |
- |
// Create testing extensions. |
scoped_refptr<Extension> extension1 = |
- CreateExtension(FILE_PATH_LITERAL("extension1")); |
+ CreateExtension(FILE_PATH_LITERAL("extension1"), |
+ Extension::INVALID, DictionaryValue()); |
scoped_refptr<Extension> extension2 = |
- CreateExtension(FILE_PATH_LITERAL("extension2")); |
+ CreateExtension(FILE_PATH_LITERAL("extension2"), |
+ Extension::INVALID, DictionaryValue()); |
scoped_refptr<Extension> extension3 = |
- CreateExtension(FILE_PATH_LITERAL("extension3")); |
+ CreateExtension(FILE_PATH_LITERAL("extension3"), |
+ Extension::INVALID, DictionaryValue()); |
// First, create 3 panels. |
Panel* panel1 = CreatePanel( |
web_app::GenerateApplicationNameFromExtensionId(extension1->id()), |
- gfx::Rect(0, 0, 250, 200)); |
+ gfx::Rect(0, 0, 250, 200), SHOW_AS_ACTIVE); |
Panel* panel2 = CreatePanel( |
web_app::GenerateApplicationNameFromExtensionId(extension2->id()), |
- gfx::Rect(0, 0, 300, 200)); |
+ gfx::Rect(0, 0, 300, 200), SHOW_AS_ACTIVE); |
Panel* panel3 = CreatePanel( |
web_app::GenerateApplicationNameFromExtensionId(extension1->id()), |
- gfx::Rect(0, 0, 200, 200)); |
+ gfx::Rect(0, 0, 200, 200), SHOW_AS_ACTIVE); |
ASSERT_EQ(3, panel_manager->num_panels()); |
// Test closing the left-most panel that is from same extension. |
@@ -117,7 +59,7 @@ |
Source<Browser>(panel2->browser())); |
Panel* panel4 = CreatePanel( |
web_app::GenerateApplicationNameFromExtensionId(extension2->id()), |
- gfx::Rect(0, 0, 280, 200)); |
+ gfx::Rect(0, 0, 280, 200), SHOW_AS_ACTIVE); |
signal.Wait(); |
ASSERT_EQ(3, panel_manager->num_panels()); |
EXPECT_LT(panel4->GetBounds().right(), panel3->GetBounds().x()); |
@@ -129,7 +71,7 @@ |
Source<Browser>(panel4->browser())); |
Panel* panel5 = CreatePanel( |
web_app::GenerateApplicationNameFromExtensionId(extension3->id()), |
- gfx::Rect(0, 0, 300, 200)); |
+ gfx::Rect(0, 0, 300, 200), SHOW_AS_ACTIVE); |
signal2.Wait(); |
ASSERT_EQ(3, panel_manager->num_panels()); |
EXPECT_LT(panel5->GetBounds().right(), panel3->GetBounds().x()); |
@@ -144,7 +86,7 @@ |
Source<Browser>(panel5->browser())); |
Panel* panel6 = CreatePanel( |
web_app::GenerateApplicationNameFromExtensionId(extension3->id()), |
- gfx::Rect(0, 0, 500, 200)); |
+ gfx::Rect(0, 0, 500, 200), SHOW_AS_ACTIVE); |
signal3.Wait(); |
signal4.Wait(); |
ASSERT_EQ(2, panel_manager->num_panels()); |
@@ -272,7 +214,7 @@ |
PanelManager* panel_manager = PanelManager::GetInstance(); |
EXPECT_EQ(0, panel_manager->num_panels()); // No panels initially. |
- Panel* panel = CreatePanel("PanelTest", gfx::Rect()); |
+ Panel* panel = CreatePanel("PanelTest", gfx::Rect(), SHOW_AS_ACTIVE); |
EXPECT_EQ(1, panel_manager->num_panels()); |
gfx::Rect bounds = panel->GetBounds(); |
@@ -286,7 +228,9 @@ |
} |
IN_PROC_BROWSER_TEST_F(PanelBrowserTest, FindBar) { |
- Panel* panel = CreatePanel("PanelTest", gfx::Rect(0, 0, 400, 400)); |
+ Panel* panel = CreatePanel("PanelTest", |
+ gfx::Rect(0, 0, 400, 400), |
+ SHOW_AS_ACTIVE); |
Browser* browser = panel->browser(); |
browser->ShowFindBar(); |
ASSERT_TRUE(browser->GetFindBarController()->find_bar()->IsFindBarVisible()); |
@@ -312,7 +256,7 @@ |
IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MAYBE_DragPanels) { |
std::vector<Panel*> panels; |
- panels.push_back(CreatePanel("PanelTest0", gfx::Rect())); |
+ panels.push_back(CreatePanel("PanelTest0", gfx::Rect(), SHOW_AS_ACTIVE)); |
int small_delta = 5; |
int big_delta = panels[0]->GetRestoredBounds().width() * 0.5 + 5; |
@@ -333,7 +277,7 @@ |
for (int num_panels = 1; num_panels <= 3; ++num_panels) { |
if (num_panels > 1) |
- panels.push_back(CreatePanel("PanelTest", gfx::Rect())); |
+ panels.push_back(CreatePanel("PanelTest", gfx::Rect(), SHOW_AS_ACTIVE)); |
for (size_t j = 0; j < drag_test_data.size(); ++j) { |
// Test for each combination of drag test data and number of panels. |
TestDragging(&panels, drag_test_data[j]); |