| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "chrome/browser/devtools/devtools_window_testing.h" | 9 #include "chrome/browser/devtools/devtools_window_testing.h" |
| 10 #include "chrome/browser/extensions/extension_browsertest.h" | 10 #include "chrome/browser/extensions/extension_browsertest.h" |
| 11 #include "chrome/browser/extensions/extension_service.h" | 11 #include "chrome/browser/extensions/extension_service.h" |
| 12 #include "chrome/browser/extensions/extension_util.h" | 12 #include "chrome/browser/extensions/extension_util.h" |
| 13 #include "chrome/browser/ui/browser_finder.h" | 13 #include "chrome/browser/ui/browser_finder.h" |
| 14 #include "chrome/browser/ui/browser_iterator.h" | 14 #include "chrome/browser/ui/browser_list.h" |
| 15 #include "chrome/browser/ui/extensions/app_launch_params.h" | 15 #include "chrome/browser/ui/extensions/app_launch_params.h" |
| 16 #include "chrome/browser/ui/extensions/application_launch.h" | 16 #include "chrome/browser/ui/extensions/application_launch.h" |
| 17 #include "chrome/browser/ui/extensions/hosted_app_browser_controller.h" | 17 #include "chrome/browser/ui/extensions/hosted_app_browser_controller.h" |
| 18 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 18 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 19 #include "chrome/browser/web_applications/web_app.h" | 19 #include "chrome/browser/web_applications/web_app.h" |
| 20 #include "chrome/common/chrome_switches.h" | 20 #include "chrome/common/chrome_switches.h" |
| 21 #include "chrome/test/base/ui_test_utils.h" | 21 #include "chrome/test/base/ui_test_utils.h" |
| 22 #include "content/public/browser/web_contents.h" | 22 #include "content/public/browser/web_contents.h" |
| 23 #include "extensions/browser/extension_registry.h" | 23 #include "extensions/browser/extension_registry.h" |
| 24 #include "extensions/common/constants.h" | 24 #include "extensions/common/constants.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 55 extensions::Manifest::INTERNAL, | 55 extensions::Manifest::INTERNAL, |
| 56 is_bookmark_app ? extensions::Extension::FROM_BOOKMARK | 56 is_bookmark_app ? extensions::Extension::FROM_BOOKMARK |
| 57 : extensions::Extension::NO_FLAGS); | 57 : extensions::Extension::NO_FLAGS); |
| 58 ASSERT_TRUE(app); | 58 ASSERT_TRUE(app); |
| 59 | 59 |
| 60 // Launch it in a window. | 60 // Launch it in a window. |
| 61 ASSERT_TRUE(OpenApplication(AppLaunchParams( | 61 ASSERT_TRUE(OpenApplication(AppLaunchParams( |
| 62 browser()->profile(), app, extensions::LAUNCH_CONTAINER_WINDOW, | 62 browser()->profile(), app, extensions::LAUNCH_CONTAINER_WINDOW, |
| 63 NEW_WINDOW, extensions::SOURCE_TEST))); | 63 NEW_WINDOW, extensions::SOURCE_TEST))); |
| 64 | 64 |
| 65 for (chrome::BrowserIterator it; !it.done(); it.Next()) { | 65 for (auto& b : *BrowserList::GetInstance()) { |
| 66 if (*it == browser()) | 66 if (b == browser()) |
| 67 continue; | 67 continue; |
| 68 | 68 |
| 69 std::string browser_app_id = | 69 std::string browser_app_id = |
| 70 web_app::GetExtensionIdFromApplicationName((*it)->app_name()); | 70 web_app::GetExtensionIdFromApplicationName(b->app_name()); |
| 71 if (browser_app_id == app->id()) { | 71 if (browser_app_id == app->id()) { |
| 72 app_browser_ = *it; | 72 app_browser_ = b; |
| 73 break; | 73 break; |
| 74 } | 74 } |
| 75 } | 75 } |
| 76 | 76 |
| 77 ASSERT_TRUE(app_browser_); | 77 ASSERT_TRUE(app_browser_); |
| 78 ASSERT_TRUE(app_browser_ != browser()); | 78 ASSERT_TRUE(app_browser_ != browser()); |
| 79 } | 79 } |
| 80 | 80 |
| 81 Browser* app_browser_; | 81 Browser* app_browser_; |
| 82 }; | 82 }; |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false); | 224 DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false); |
| 225 | 225 |
| 226 // The launch should have created a new app browser and a dev tools browser. | 226 // The launch should have created a new app browser and a dev tools browser. |
| 227 ASSERT_EQ(4u, chrome::GetBrowserCount(browser()->profile(), | 227 ASSERT_EQ(4u, chrome::GetBrowserCount(browser()->profile(), |
| 228 browser()->host_desktop_type())); | 228 browser()->host_desktop_type())); |
| 229 | 229 |
| 230 // Find the new browsers. | 230 // Find the new browsers. |
| 231 Browser* bookmark_app_browser = nullptr; | 231 Browser* bookmark_app_browser = nullptr; |
| 232 Browser* packaged_app_browser = nullptr; | 232 Browser* packaged_app_browser = nullptr; |
| 233 Browser* dev_tools_browser = nullptr; | 233 Browser* dev_tools_browser = nullptr; |
| 234 for (chrome::BrowserIterator it; !it.done(); it.Next()) { | 234 for (auto& b : *BrowserList::GetInstance()) { |
| 235 if (*it == browser()) { | 235 if (b == browser()) { |
| 236 continue; | 236 continue; |
| 237 } else if ((*it)->app_name() == DevToolsWindow::kDevToolsApp) { | 237 } else if (b->app_name() == DevToolsWindow::kDevToolsApp) { |
| 238 dev_tools_browser = *it; | 238 dev_tools_browser = b; |
| 239 } else if ((*it)->tab_strip_model()->GetActiveWebContents() == | 239 } else if (b->tab_strip_model()->GetActiveWebContents() == |
| 240 bookmark_app_window) { | 240 bookmark_app_window) { |
| 241 bookmark_app_browser = *it; | 241 bookmark_app_browser = b; |
| 242 } else { | 242 } else { |
| 243 packaged_app_browser = *it; | 243 packaged_app_browser = b; |
| 244 } | 244 } |
| 245 } | 245 } |
| 246 ASSERT_TRUE(dev_tools_browser); | 246 ASSERT_TRUE(dev_tools_browser); |
| 247 ASSERT_TRUE(bookmark_app_browser); | 247 ASSERT_TRUE(bookmark_app_browser); |
| 248 ASSERT_TRUE(bookmark_app_browser != browser()); | 248 ASSERT_TRUE(bookmark_app_browser != browser()); |
| 249 ASSERT_TRUE(packaged_app_browser); | 249 ASSERT_TRUE(packaged_app_browser); |
| 250 ASSERT_TRUE(packaged_app_browser != browser()); | 250 ASSERT_TRUE(packaged_app_browser != browser()); |
| 251 ASSERT_TRUE(packaged_app_browser != bookmark_app_browser); | 251 ASSERT_TRUE(packaged_app_browser != bookmark_app_browser); |
| 252 | 252 |
| 253 EXPECT_FALSE(browser()->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME)); | 253 EXPECT_FALSE(browser()->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME)); |
| 254 EXPECT_FALSE( | 254 EXPECT_FALSE( |
| 255 dev_tools_browser->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME)); | 255 dev_tools_browser->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME)); |
| 256 EXPECT_EQ(browser()->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH, | 256 EXPECT_EQ(browser()->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH, |
| 257 bookmark_app_browser->SupportsWindowFeature( | 257 bookmark_app_browser->SupportsWindowFeature( |
| 258 Browser::FEATURE_WEBAPPFRAME)); | 258 Browser::FEATURE_WEBAPPFRAME)); |
| 259 EXPECT_FALSE(packaged_app_browser->SupportsWindowFeature( | 259 EXPECT_FALSE(packaged_app_browser->SupportsWindowFeature( |
| 260 Browser::FEATURE_WEBAPPFRAME)); | 260 Browser::FEATURE_WEBAPPFRAME)); |
| 261 | 261 |
| 262 DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_window); | 262 DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_window); |
| 263 } | 263 } |
| OLD | NEW |