Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: chrome/browser/ui/extensions/hosted_app_browsertest.cc

Issue 2552903003: Remove unreleased web app frame code from ChromeOS (Closed)
Patch Set: 'nother bit Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
tapted 2016/12/16 03:30:36 nit: this one is probably unused.
benwells 2016/12/19 03:59:06 Done.
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"
tapted 2016/12/16 03:30:36 I think this was just used for GetBrowserCount. no
benwells 2016/12/19 03:59:06 Done.
14 #include "chrome/browser/ui/browser_list.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"
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 173
174 // Navigate to the app's launch page with the 'www.' prefis; the location bar 174 // Navigate to the app's launch page with the 'www.' prefis; the location bar
175 // should be hidden. 175 // should be hidden.
176 NavigateAndCheckForLocationBar( 176 NavigateAndCheckForLocationBar(
177 app_browser_, "http://www.example.com/empty.html", false); 177 app_browser_, "http://www.example.com/empty.html", false);
178 178
179 // Navigate to different origin; the location bar should now be visible. 179 // Navigate to different origin; the location bar should now be visible.
180 NavigateAndCheckForLocationBar( 180 NavigateAndCheckForLocationBar(
181 app_browser_, "http://www.foo.com/blah", true); 181 app_browser_, "http://www.foo.com/blah", true);
182 } 182 }
183
184 // Open a normal browser window, a hosted app window, a legacy packaged app
185 // window and a dev tools window, and check that the web app frame feature is
186 // supported correctly.
187 IN_PROC_BROWSER_TEST_F(HostedAppTest, ShouldUseWebAppFrame) {
188 base::CommandLine::ForCurrentProcess()->AppendSwitch(
189 switches::kEnableWebAppFrame);
190
191 // Load a hosted app.
192 const Extension* bookmark_app = InstallExtensionWithSourceAndFlags(
193 test_data_dir_.AppendASCII("app"),
194 1,
195 extensions::Manifest::INTERNAL,
196 extensions::Extension::FROM_BOOKMARK);
197 ASSERT_TRUE(bookmark_app);
198
199 // Launch it in a window, as AppLauncherHandler::HandleLaunchApp() would.
200 WebContents* bookmark_app_window = OpenApplication(AppLaunchParams(
201 browser()->profile(), bookmark_app, extensions::LAUNCH_CONTAINER_WINDOW,
202 WindowOpenDisposition::NEW_WINDOW, extensions::SOURCE_UNTRACKED));
203 ASSERT_TRUE(bookmark_app_window);
204
205 // Load a packaged app.
206 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("packaged_app")));
207 const Extension* packaged_app = nullptr;
208 extensions::ExtensionRegistry* registry =
209 extensions::ExtensionRegistry::Get(browser()->profile());
210 for (const scoped_refptr<const extensions::Extension>& extension :
211 registry->enabled_extensions()) {
212 if (extension->name() == "Packaged App Test")
213 packaged_app = extension.get();
214 }
215 ASSERT_TRUE(packaged_app);
216
217 // Launch it in a window, as AppLauncherHandler::HandleLaunchApp() would.
218 WebContents* packaged_app_window = OpenApplication(AppLaunchParams(
219 browser()->profile(), packaged_app, extensions::LAUNCH_CONTAINER_WINDOW,
220 WindowOpenDisposition::NEW_WINDOW, extensions::SOURCE_UNTRACKED));
221 ASSERT_TRUE(packaged_app_window);
222
223 DevToolsWindow* devtools_window =
224 DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false);
225
226 // The launch should have created a new app browser and a dev tools browser.
227 ASSERT_EQ(4u, chrome::GetBrowserCount(browser()->profile()));
228
229 // Find the new browsers.
230 Browser* bookmark_app_browser = nullptr;
231 Browser* packaged_app_browser = nullptr;
232 Browser* dev_tools_browser = nullptr;
233 for (auto* b : *BrowserList::GetInstance()) {
234 if (b == browser()) {
235 continue;
236 } else if (b->app_name() == DevToolsWindow::kDevToolsApp) {
237 dev_tools_browser = b;
238 } else if (b->tab_strip_model()->GetActiveWebContents() ==
239 bookmark_app_window) {
240 bookmark_app_browser = b;
241 } else {
242 packaged_app_browser = b;
243 }
244 }
245 ASSERT_TRUE(dev_tools_browser);
246 ASSERT_TRUE(bookmark_app_browser);
247 ASSERT_TRUE(bookmark_app_browser != browser());
248 ASSERT_TRUE(packaged_app_browser);
249 ASSERT_TRUE(packaged_app_browser != browser());
250 ASSERT_TRUE(packaged_app_browser != bookmark_app_browser);
251
252 EXPECT_FALSE(browser()->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME));
253 EXPECT_FALSE(
254 dev_tools_browser->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME));
255 #if defined(USE_ASH)
256 const bool kIsAsh = true;
257 #else
258 const bool kIsAsh = false;
259 #endif // USE_ASH
260 EXPECT_EQ(kIsAsh, bookmark_app_browser->SupportsWindowFeature(
261 Browser::FEATURE_WEBAPPFRAME));
262 EXPECT_FALSE(packaged_app_browser->SupportsWindowFeature(
263 Browser::FEATURE_WEBAPPFRAME));
264
265 DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_window);
266 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698