| 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 |