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

Unified Diff: chrome/browser/ui/browser_browsertest.cc

Issue 1037003002: Only use web app frame for bookmark apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/extensions/bookmark_app_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/browser_browsertest.cc
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
index e38be5b56d4a90d69939ee45469c8c0847ccd18e..757773110e0e63d97f8ee7bd3f3f49eeb03906bb 100644
--- a/chrome/browser/ui/browser_browsertest.cc
+++ b/chrome/browser/ui/browser_browsertest.cc
@@ -49,7 +49,6 @@
#include "chrome/browser/ui/startup/startup_browser_creator_impl.h"
#include "chrome/browser/ui/tabs/pinned_tab_codec.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/web_applications/web_app.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
#include "chrome/common/pref_names.h"
@@ -210,19 +209,6 @@ void RunCloseWithAppMenuCallback(Browser* browser) {
chrome::ShowAppMenu(browser);
}
-#if !defined(OS_MACOSX)
-// Used by ShouldLocationBarForXXX. Performs a navigation and then checks that
-// the location bar visibility is as expcted.
-void NavigateAndCheckForLocationBar(Browser* browser,
- const std::string& url_string,
- bool expected_visibility) {
- GURL url(url_string);
- ui_test_utils::NavigateToURL(browser, url);
- EXPECT_EQ(expected_visibility,
- browser->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR));
-}
-#endif // !defined(OS_MACOSX)
-
// Displays "INTERSTITIAL" while the interstitial is attached.
// (InterstitialPage can be used in a test directly, but there would be no way
// to visually tell if it is showing or not.)
@@ -1400,204 +1386,8 @@ IN_PROC_BROWSER_TEST_F(BrowserTest, ShouldShowLocationBar) {
DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_window);
}
-
-// Check that the location bar is shown correctly for HTTP bookmark apps.
-IN_PROC_BROWSER_TEST_F(BrowserTest, ShouldShowLocationBarForHTTPBookmarkApp) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableNewBookmarkApps);
- ASSERT_TRUE(test_server()->Start());
-
- // Load a http bookmark app.
- const Extension* http_bookmark_app = InstallExtensionWithSourceAndFlags(
- test_data_dir_.AppendASCII("app/"),
- 1,
- extensions::Manifest::INTERNAL,
- extensions::Extension::FROM_BOOKMARK);
- ASSERT_TRUE(http_bookmark_app);
-
- // Launch it in a window.
- WebContents* app_window = OpenApplication(AppLaunchParams(
- browser()->profile(), http_bookmark_app,
- extensions::LAUNCH_CONTAINER_WINDOW, NEW_WINDOW,
- extensions::SOURCE_TEST));
- ASSERT_TRUE(app_window);
-
- // Find the new browser.
- Browser* http_app_browser = NULL;
- for (chrome::BrowserIterator it; !it.done(); it.Next()) {
- std::string app_id =
- web_app::GetExtensionIdFromApplicationName((*it)->app_name());
- if (*it == browser()) {
- continue;
- } else if (app_id == http_bookmark_app->id()) {
- http_app_browser = *it;
- }
- }
- ASSERT_TRUE(http_app_browser);
- ASSERT_TRUE(http_app_browser != browser());
-
- // Navigate to the app's launch page; the location bar should be hidden.
- NavigateAndCheckForLocationBar(
- http_app_browser, "http://www.example.com/empty.html", false);
-
- // Navigate to another page on the same origin; the location bar should still
- // hidden.
- NavigateAndCheckForLocationBar(
- http_app_browser, "http://www.example.com/blah", false);
-
- // Navigate to the https version of the site; the location bar should
- // be hidden for both browsers.
- NavigateAndCheckForLocationBar(
- http_app_browser, "https://www.example.com/blah", false);
-
- // Navigate to different origin; the location bar should now be visible.
- NavigateAndCheckForLocationBar(
- http_app_browser, "http://www.foo.com/blah", true);
-
- // Navigate back to the app's origin; the location bar should now be hidden.
- NavigateAndCheckForLocationBar(
- http_app_browser, "http://www.example.com/blah", false);
-}
-
-// Check that the location bar is shown correctly for HTTPS bookmark apps.
-IN_PROC_BROWSER_TEST_F(BrowserTest, ShouldShowLocationBarForHTTPSBookmarkApp) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableNewBookmarkApps);
- ASSERT_TRUE(test_server()->Start());
-
- // Load a https bookmark app.
- const Extension* https_bookmark_app = InstallExtensionWithSourceAndFlags(
- test_data_dir_.AppendASCII("https_app/"),
- 1,
- extensions::Manifest::INTERNAL,
- extensions::Extension::FROM_BOOKMARK);
- ASSERT_TRUE(https_bookmark_app);
-
- // Launch it in a window.
- WebContents* app_window = OpenApplication(AppLaunchParams(
- browser()->profile(), https_bookmark_app,
- extensions::LAUNCH_CONTAINER_WINDOW, NEW_WINDOW,
- extensions::SOURCE_TEST));
- ASSERT_TRUE(app_window);
-
- // Find the new browser.
- Browser* https_app_browser = NULL;
- for (chrome::BrowserIterator it; !it.done(); it.Next()) {
- std::string app_id =
- web_app::GetExtensionIdFromApplicationName((*it)->app_name());
- if (*it == browser()) {
- continue;
- } else if (app_id == https_bookmark_app->id()) {
- https_app_browser = *it;
- }
- }
- ASSERT_TRUE(https_app_browser);
- ASSERT_TRUE(https_app_browser != browser());
-
- // Navigate to the app's launch page; the location bar should be hidden.
- NavigateAndCheckForLocationBar(
- https_app_browser, "https://www.example.com/empty.html", false);
-
- // Navigate to another page on the same origin; the location bar should still
- // hidden.
- NavigateAndCheckForLocationBar(
- https_app_browser, "https://www.example.com/blah", false);
-
- // Navigate to the http version of the site; the location bar should
- // be visible for the https version as it is now on a less secure version
- // of its host.
- NavigateAndCheckForLocationBar(
- https_app_browser, "http://www.example.com/blah", true);
-
- // Navigate to different origin; the location bar should now be visible.
- NavigateAndCheckForLocationBar(
- https_app_browser, "http://www.foo.com/blah", true);
-
- // Navigate back to the app's origin; the location bar should now be hidden.
- NavigateAndCheckForLocationBar(
- https_app_browser, "https://www.example.com/blah", false);
-}
#endif // !defined(OS_MACOSX)
-// Open a normal browser window, a hosted app window, a legacy packaged app
-// window and a dev tools window, and check that the web app frame feature is
-// supported correctly.
-IN_PROC_BROWSER_TEST_F(BrowserTest, ShouldUseWebAppFrame) {
- ASSERT_TRUE(test_server()->Start());
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableWebAppFrame);
-
- // Load a hosted app.
- host_resolver()->AddRule("www.example.com", "127.0.0.1");
- ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/")));
- const Extension* hosted_app = GetExtension();
-
- // Launch it in a window, as AppLauncherHandler::HandleLaunchApp() would.
- WebContents* hosted_app_window = OpenApplication(AppLaunchParams(
- browser()->profile(), hosted_app, extensions::LAUNCH_CONTAINER_WINDOW,
- NEW_WINDOW, extensions::SOURCE_UNTRACKED));
- ASSERT_TRUE(hosted_app_window);
-
- // Load a packaged app.
- ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("packaged_app/")));
- const Extension* packaged_app = nullptr;
- extensions::ExtensionRegistry* registry =
- extensions::ExtensionRegistry::Get(browser()->profile());
- for (const scoped_refptr<const extensions::Extension>& extension :
- registry->enabled_extensions()) {
- if (extension->name() == "Packaged App Test")
- packaged_app = extension.get();
- }
- ASSERT_TRUE(packaged_app);
-
- // Launch it in a window, as AppLauncherHandler::HandleLaunchApp() would.
- WebContents* packaged_app_window = OpenApplication(AppLaunchParams(
- browser()->profile(), packaged_app, extensions::LAUNCH_CONTAINER_WINDOW,
- NEW_WINDOW, extensions::SOURCE_UNTRACKED));
- ASSERT_TRUE(packaged_app_window);
-
- DevToolsWindow* devtools_window =
- DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false);
-
- // The launch should have created a new app browser and a dev tools browser.
- ASSERT_EQ(4u, chrome::GetBrowserCount(browser()->profile(),
- browser()->host_desktop_type()));
-
- // Find the new browsers.
- Browser* hosted_app_browser = NULL;
- Browser* packaged_app_browser = NULL;
- Browser* dev_tools_browser = NULL;
- for (chrome::BrowserIterator it; !it.done(); it.Next()) {
- if (*it == browser()) {
- continue;
- } else if ((*it)->app_name() == DevToolsWindow::kDevToolsApp) {
- dev_tools_browser = *it;
- } else if ((*it)->tab_strip_model()->GetActiveWebContents() ==
- hosted_app_window) {
- hosted_app_browser = *it;
- } else {
- packaged_app_browser = *it;
- }
- }
- ASSERT_TRUE(dev_tools_browser);
- ASSERT_TRUE(hosted_app_browser);
- ASSERT_TRUE(hosted_app_browser != browser());
- ASSERT_TRUE(packaged_app_browser);
- ASSERT_TRUE(packaged_app_browser != browser());
- ASSERT_TRUE(packaged_app_browser != hosted_app_browser);
-
- EXPECT_FALSE(browser()->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME));
- EXPECT_FALSE(
- dev_tools_browser->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME));
- EXPECT_EQ(
- browser()->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH,
- hosted_app_browser->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME));
- EXPECT_FALSE(packaged_app_browser->SupportsWindowFeature(
- Browser::FEATURE_WEBAPPFRAME));
-
- DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_window);
-}
-
// Tests that the CLD (Compact Language Detection) works properly.
IN_PROC_BROWSER_TEST_F(BrowserTest, PageLanguageDetection) {
scoped_ptr<test::CldDataHarness> cld_data_harness =
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/extensions/bookmark_app_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698