| Index: chrome/browser/ui/panels/panel_browsertest.cc
|
| ===================================================================
|
| --- chrome/browser/ui/panels/panel_browsertest.cc (revision 97726)
|
| +++ 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]);
|
|
|