Index: chrome/browser/browser.cc |
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc |
index f375ce068a19332d9b40560f7f8a46620ef74e3b..ce7cae7604a619397f21e56dbc080ef5fd1072f3 100644 |
--- a/chrome/browser/browser.cc |
+++ b/chrome/browser/browser.cc |
@@ -111,6 +111,10 @@ |
#include "chrome/browser/cocoa/find_pasteboard.h" |
#endif |
+#if defined(OS_CHROMEOS) |
+#include "chrome/browser/views/app_launcher.h" |
+#endif |
+ |
using base::TimeDelta; |
// How long we wait before updating the browser chrome while loading a page. |
@@ -1045,6 +1049,21 @@ void Browser::UpdateCommandsForFullscreenMode(bool is_fullscreen) { |
command_updater_.UpdateCommandEnabled(IDC_SHOW_PAGE_MENU, show_main_ui); |
} |
+bool Browser::OpenAppsPanelAsNewTab() { |
+#if defined(OS_CHROMEOS) || defined(OS_WIN) |
+ CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ if (command_line->HasSwitch(switches::kDisableAppsPanel) || |
+ (!browser_defaults::kShowAppsPanelForNewTab && |
+ !command_line->HasSwitch(switches::kAppsPanel))) { |
+ return false; |
+ } |
+ AppLauncher::ShowForNewTab(this, std::string()); |
+ return true; |
+#endif // OS_CHROMEOS || OS_WIN |
+ |
+ return false; |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////// |
// Browser, Assorted browser commands: |
@@ -1248,12 +1267,10 @@ void Browser::CloseWindow() { |
void Browser::NewTab() { |
UserMetrics::RecordAction(UserMetricsAction("NewTab"), profile_); |
-#if defined(OS_WIN) |
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAppsPanel)) { |
- AppLauncher::ShowForNewTab(this, std::string()); |
+ |
+ if (OpenAppsPanelAsNewTab()) |
return; |
- } |
-#endif |
+ |
if (type() == TYPE_NORMAL) { |
AddBlankTab(true); |
} else { |