OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
8 #include "chrome/browser/devtools/devtools_window.h" | 8 #include "chrome/browser/devtools/devtools_window.h" |
9 #include "chrome/browser/extensions/extension_apitest.h" | 9 #include "chrome/browser/extensions/extension_apitest.h" |
10 #include "chrome/browser/net/url_request_mock_util.h" | 10 #include "chrome/browser/net/url_request_mock_util.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 #include "content/public/common/url_constants.h" | 38 #include "content/public/common/url_constants.h" |
39 #include "content/public/test/browser_test_utils.h" | 39 #include "content/public/test/browser_test_utils.h" |
40 #include "content/test/net/url_request_mock_http_job.h" | 40 #include "content/test/net/url_request_mock_http_job.h" |
41 #include "extensions/common/constants.h" | 41 #include "extensions/common/constants.h" |
42 #include "net/base/net_util.h" | 42 #include "net/base/net_util.h" |
43 #include "testing/gtest/include/gtest/gtest.h" | 43 #include "testing/gtest/include/gtest/gtest.h" |
44 #include "ui/base/events/event_utils.h" | 44 #include "ui/base/events/event_utils.h" |
45 #include "ui/gfx/screen.h" | 45 #include "ui/gfx/screen.h" |
46 | 46 |
47 using content::WebContents; | 47 using content::WebContents; |
48 using extensions::Extension; | |
49 | 48 |
50 class PanelBrowserTest : public BasePanelBrowserTest { | 49 class PanelBrowserTest : public BasePanelBrowserTest { |
51 public: | 50 public: |
52 PanelBrowserTest() : BasePanelBrowserTest() { | 51 PanelBrowserTest() : BasePanelBrowserTest() { |
53 } | 52 } |
54 | 53 |
55 protected: | 54 protected: |
56 // Helper function for debugging. | 55 // Helper function for debugging. |
57 void PrintAllPanelBounds() { | 56 void PrintAllPanelBounds() { |
58 const std::vector<Panel*>& panels = PanelManager::GetInstance()->panels(); | 57 const std::vector<Panel*>& panels = PanelManager::GetInstance()->panels(); |
(...skipping 1372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1431 // http://crbug.com/143247 | 1430 // http://crbug.com/143247 |
1432 #if !defined(OS_WIN) | 1431 #if !defined(OS_WIN) |
1433 #define MAYBE_NonExtensionDomainPanelsCloseOnUninstall DISABLED_NonExtensionDoma
inPanelsCloseOnUninstall | 1432 #define MAYBE_NonExtensionDomainPanelsCloseOnUninstall DISABLED_NonExtensionDoma
inPanelsCloseOnUninstall |
1434 #else | 1433 #else |
1435 #define MAYBE_NonExtensionDomainPanelsCloseOnUninstall NonExtensionDomainPanelsC
loseOnUninstall | 1434 #define MAYBE_NonExtensionDomainPanelsCloseOnUninstall NonExtensionDomainPanelsC
loseOnUninstall |
1436 #endif | 1435 #endif |
1437 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, | 1436 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1438 MAYBE_NonExtensionDomainPanelsCloseOnUninstall) { | 1437 MAYBE_NonExtensionDomainPanelsCloseOnUninstall) { |
1439 // Create a test extension. | 1438 // Create a test extension. |
1440 DictionaryValue empty_value; | 1439 DictionaryValue empty_value; |
1441 scoped_refptr<Extension> extension = | 1440 scoped_refptr<extensions::Extension> extension = |
1442 CreateExtension(FILE_PATH_LITERAL("TestExtension"), | 1441 CreateExtension(FILE_PATH_LITERAL("TestExtension"), |
1443 Extension::INVALID, empty_value); | 1442 extensions::Manifest::INVALID_LOCATION, empty_value); |
1444 std::string extension_app_name = | 1443 std::string extension_app_name = |
1445 web_app::GenerateApplicationNameFromExtensionId(extension->id()); | 1444 web_app::GenerateApplicationNameFromExtensionId(extension->id()); |
1446 | 1445 |
1447 PanelManager* panel_manager = PanelManager::GetInstance(); | 1446 PanelManager* panel_manager = PanelManager::GetInstance(); |
1448 EXPECT_EQ(0, panel_manager->num_panels()); | 1447 EXPECT_EQ(0, panel_manager->num_panels()); |
1449 | 1448 |
1450 // Create a panel with the extension as host. | 1449 // Create a panel with the extension as host. |
1451 CreatePanelParams params(extension_app_name, gfx::Rect(), SHOW_AS_INACTIVE); | 1450 CreatePanelParams params(extension_app_name, gfx::Rect(), SHOW_AS_INACTIVE); |
1452 std::string extension_domain_url(extensions::kExtensionScheme); | 1451 std::string extension_domain_url(extensions::kExtensionScheme); |
1453 extension_domain_url += "://"; | 1452 extension_domain_url += "://"; |
1454 extension_domain_url += extension->id(); | 1453 extension_domain_url += extension->id(); |
1455 extension_domain_url += "/hello.html"; | 1454 extension_domain_url += "/hello.html"; |
1456 params.url = GURL(extension_domain_url); | 1455 params.url = GURL(extension_domain_url); |
1457 Panel* panel = CreatePanelWithParams(params); | 1456 Panel* panel = CreatePanelWithParams(params); |
1458 EXPECT_EQ(1, panel_manager->num_panels()); | 1457 EXPECT_EQ(1, panel_manager->num_panels()); |
1459 | 1458 |
1460 // Create a panel with a non-extension host. | 1459 // Create a panel with a non-extension host. |
1461 CreatePanelParams params1(extension_app_name, gfx::Rect(), SHOW_AS_INACTIVE); | 1460 CreatePanelParams params1(extension_app_name, gfx::Rect(), SHOW_AS_INACTIVE); |
1462 params1.url = GURL(chrome::kAboutBlankURL); | 1461 params1.url = GURL(chrome::kAboutBlankURL); |
1463 Panel* panel1 = CreatePanelWithParams(params1); | 1462 Panel* panel1 = CreatePanelWithParams(params1); |
1464 EXPECT_EQ(2, panel_manager->num_panels()); | 1463 EXPECT_EQ(2, panel_manager->num_panels()); |
1465 | 1464 |
1466 // Create another extension and a panel from that extension. | 1465 // Create another extension and a panel from that extension. |
1467 scoped_refptr<Extension> extension_other = | 1466 scoped_refptr<extensions::Extension> extension_other = |
1468 CreateExtension(FILE_PATH_LITERAL("TestExtensionOther"), | 1467 CreateExtension(FILE_PATH_LITERAL("TestExtensionOther"), |
1469 Extension::INVALID, empty_value); | 1468 extensions::Manifest::INVALID_LOCATION, empty_value); |
1470 std::string extension_app_name_other = | 1469 std::string extension_app_name_other = |
1471 web_app::GenerateApplicationNameFromExtensionId(extension_other->id()); | 1470 web_app::GenerateApplicationNameFromExtensionId(extension_other->id()); |
1472 Panel* panel_other = CreatePanel(extension_app_name_other); | 1471 Panel* panel_other = CreatePanel(extension_app_name_other); |
1473 | 1472 |
1474 content::WindowedNotificationObserver signal( | 1473 content::WindowedNotificationObserver signal( |
1475 chrome::NOTIFICATION_PANEL_CLOSED, | 1474 chrome::NOTIFICATION_PANEL_CLOSED, |
1476 content::Source<Panel>(panel)); | 1475 content::Source<Panel>(panel)); |
1477 content::WindowedNotificationObserver signal1( | 1476 content::WindowedNotificationObserver signal1( |
1478 chrome::NOTIFICATION_PANEL_CLOSED, | 1477 chrome::NOTIFICATION_PANEL_CLOSED, |
1479 content::Source<Panel>(panel1)); | 1478 content::Source<Panel>(panel1)); |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1759 #else | 1758 #else |
1760 #define MAYBE_FocusChangeEventOnMinimize FocusChangeEventOnMinimize | 1759 #define MAYBE_FocusChangeEventOnMinimize FocusChangeEventOnMinimize |
1761 #endif | 1760 #endif |
1762 IN_PROC_BROWSER_TEST_F(PanelExtensionApiTest, | 1761 IN_PROC_BROWSER_TEST_F(PanelExtensionApiTest, |
1763 MAYBE_FocusChangeEventOnMinimize) { | 1762 MAYBE_FocusChangeEventOnMinimize) { |
1764 // This is needed so the subsequently created panels can be activated. | 1763 // This is needed so the subsequently created panels can be activated. |
1765 // On a Mac, it transforms background-only test process into foreground one. | 1764 // On a Mac, it transforms background-only test process into foreground one. |
1766 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); | 1765 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
1767 ASSERT_TRUE(RunExtensionTest("panels/focus_change_on_minimize")) << message_; | 1766 ASSERT_TRUE(RunExtensionTest("panels/focus_change_on_minimize")) << message_; |
1768 } | 1767 } |
OLD | NEW |