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 |