Show About in a window too.

With --enable-settings-window, About should behave the same way Settings
does.

BUG=385496
[email protected],[email protected]

Review URL: https://codereview.chromium.org/339153005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278027 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc
index 3b8e4be..ad39d147 100644
--- a/chrome/browser/ui/chrome_pages.cc
+++ b/chrome/browser/ui/chrome_pages.cc
@@ -288,6 +288,11 @@
 
 void ShowAboutChrome(Browser* browser) {
   content::RecordAction(UserMetricsAction("AboutChrome"));
+  if (::switches::SettingsWindowEnabled()) {
+    SettingsWindowManager::GetInstance()->ShowChromePageForProfile(
+        browser->profile(), GURL(kChromeUIUberURL));
+    return;
+  }
   NavigateParams params(
       GetSingletonTabNavigateParams(browser, GURL(kChromeUIUberURL)));
   params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
diff --git a/chrome/browser/ui/settings_window_manager_browsertest.cc b/chrome/browser/ui/settings_window_manager_browsertest.cc
index fdb756fb..c7a4f00 100644
--- a/chrome/browser/ui/settings_window_manager_browsertest.cc
+++ b/chrome/browser/ui/settings_window_manager_browsertest.cc
@@ -194,6 +194,10 @@
   chrome::ShowSettings(browser());
   EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
 
+  // About should reuse the existing Settings window.
+  chrome::ShowAboutChrome(browser());
+  EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
+
   // Extensions should open in an existing browser window.
   CloseNonDefaultBrowsers();
   EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
@@ -204,4 +208,8 @@
   // Downloads should open in an existing browser window.
   chrome::ShowDownloads(browser());
   EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
+
+  // About should open a new browser window.
+  chrome::ShowAboutChrome(browser());
+  EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
 }