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

Side by Side Diff: chrome/browser/ui/webui/ntp/new_tab_ui.cc

Issue 11953021: Don't show the apps page on the NTP if the app launcher is installed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h" 7 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
8 8
9 #include <set> 9 #include <set>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/bind_helpers.h" 12 #include "base/bind_helpers.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/i18n/rtl.h" 14 #include "base/i18n/rtl.h"
15 #include "base/lazy_instance.h" 15 #include "base/lazy_instance.h"
16 #include "base/memory/singleton.h" 16 #include "base/memory/singleton.h"
17 #include "base/metrics/histogram.h" 17 #include "base/metrics/histogram.h"
18 #include "base/string_number_conversions.h" 18 #include "base/string_number_conversions.h"
19 #include "base/threading/thread.h" 19 #include "base/threading/thread.h"
20 #include "base/utf_string_conversions.h" 20 #include "base/utf_string_conversions.h"
21 #include "chrome/browser/defaults.h" 21 #include "chrome/browser/defaults.h"
22 #include "chrome/browser/extensions/app_launcher.h"
22 #include "chrome/browser/prefs/pref_service.h" 23 #include "chrome/browser/prefs/pref_service.h"
23 #include "chrome/browser/profiles/profile.h" 24 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/sessions/session_types.h" 25 #include "chrome/browser/sessions/session_types.h"
25 #include "chrome/browser/sync/profile_sync_service.h" 26 #include "chrome/browser/sync/profile_sync_service.h"
26 #include "chrome/browser/themes/theme_service.h" 27 #include "chrome/browser/themes/theme_service.h"
27 #include "chrome/browser/themes/theme_service_factory.h" 28 #include "chrome/browser/themes/theme_service_factory.h"
28 #include "chrome/browser/ui/browser.h" 29 #include "chrome/browser/ui/browser.h"
29 #include "chrome/browser/ui/webui/metrics_handler.h" 30 #include "chrome/browser/ui/webui/metrics_handler.h"
30 #include "chrome/browser/ui/webui/ntp/favicon_webui_handler.h" 31 #include "chrome/browser/ui/webui/ntp/favicon_webui_handler.h"
31 #include "chrome/browser/ui/webui/ntp/foreign_session_handler.h" 32 #include "chrome/browser/ui/webui/ntp/foreign_session_handler.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 web_ui->AddMessageHandler(new MetricsHandler()); 112 web_ui->AddMessageHandler(new MetricsHandler());
112 #if !defined(OS_ANDROID) 113 #if !defined(OS_ANDROID)
113 web_ui->AddMessageHandler(new NewTabPageHandler()); 114 web_ui->AddMessageHandler(new NewTabPageHandler());
114 if (NewTabUI::IsDiscoveryInNTPEnabled()) 115 if (NewTabUI::IsDiscoveryInNTPEnabled())
115 web_ui->AddMessageHandler(new SuggestionsHandler()); 116 web_ui->AddMessageHandler(new SuggestionsHandler());
116 // Android doesn't have a sync promo/username on NTP. 117 // Android doesn't have a sync promo/username on NTP.
117 if (GetProfile()->IsSyncAccessible()) 118 if (GetProfile()->IsSyncAccessible())
118 web_ui->AddMessageHandler(new NewTabPageSyncHandler()); 119 web_ui->AddMessageHandler(new NewTabPageSyncHandler());
119 120
120 // Or apps. 121 // Or apps.
121 if (ShouldShowApps()) { 122 ExtensionService* service = GetProfile()->GetExtensionService();
Evan Stade 2013/01/25 00:11:02 revert this
jeremya 2013/01/25 00:20:42 Done.
122 ExtensionService* service = GetProfile()->GetExtensionService(); 123 // We might not have an ExtensionService (on ChromeOS when not logged in
123 // We might not have an ExtensionService (on ChromeOS when not logged in 124 // for example).
124 // for example). 125 if (service)
125 if (service) 126 web_ui->AddMessageHandler(new AppLauncherHandler(service));
126 web_ui->AddMessageHandler(new AppLauncherHandler(service));
127 }
128 #endif 127 #endif
129 128
130 web_ui->AddMessageHandler(new FaviconWebUIHandler()); 129 web_ui->AddMessageHandler(new FaviconWebUIHandler());
131 } 130 }
132 131
133 #if defined(OS_ANDROID) 132 #if defined(OS_ANDROID)
134 // These handlers are specific to the Android NTP page. 133 // These handlers are specific to the Android NTP page.
135 web_ui->AddMessageHandler(new BookmarksHandler()); 134 web_ui->AddMessageHandler(new BookmarksHandler());
136 web_ui->AddMessageHandler(new ContextMenuHandler()); 135 web_ui->AddMessageHandler(new ContextMenuHandler());
137 web_ui->AddMessageHandler(new NewTabPageReadyHandler()); 136 web_ui->AddMessageHandler(new NewTabPageReadyHandler());
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 NewTabPageHandler::RegisterUserPrefs(prefs); 285 NewTabPageHandler::RegisterUserPrefs(prefs);
287 if (NewTabUI::IsDiscoveryInNTPEnabled()) 286 if (NewTabUI::IsDiscoveryInNTPEnabled())
288 SuggestionsHandler::RegisterUserPrefs(prefs); 287 SuggestionsHandler::RegisterUserPrefs(prefs);
289 #endif 288 #endif
290 MostVisitedHandler::RegisterUserPrefs(prefs); 289 MostVisitedHandler::RegisterUserPrefs(prefs);
291 browser_sync::ForeignSessionHandler::RegisterUserPrefs(prefs); 290 browser_sync::ForeignSessionHandler::RegisterUserPrefs(prefs);
292 } 291 }
293 292
294 // static 293 // static
295 bool NewTabUI::ShouldShowApps() { 294 bool NewTabUI::ShouldShowApps() {
296 #if defined(USE_ASH) || defined(OS_ANDROID) 295 #if defined(OS_ANDROID)
297 // Ash shows apps in app list thus should not show apps page in NTP4. 296 // Ash shows apps in app list thus should not show apps page in NTP4.
298 // Android does not have apps. 297 // Android does not have apps.
299 return false; 298 return false;
300 #else 299 #else
301 return !CommandLine::ForCurrentProcess()->HasSwitch( 300 return !extensions::IsAppLauncherEnabled();
302 switches::kShowAppListShortcut);
303 #endif 301 #endif
304 } 302 }
305 303
306 // static 304 // static
307 bool NewTabUI::IsDiscoveryInNTPEnabled() { 305 bool NewTabUI::IsDiscoveryInNTPEnabled() {
308 // TODO(beaudoin): The flag was removed during a clean-up pass. We leave that 306 // TODO(beaudoin): The flag was removed during a clean-up pass. We leave that
309 // here to easily enable it back when we will explore this option again. 307 // here to easily enable it back when we will explore this option again.
310 return false; 308 return false;
311 } 309 }
312 310
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 void NewTabUI::NewTabHTMLSource::AddResource(const char* resource, 421 void NewTabUI::NewTabHTMLSource::AddResource(const char* resource,
424 const char* mime_type, 422 const char* mime_type,
425 int resource_id) { 423 int resource_id) {
426 DCHECK(resource); 424 DCHECK(resource);
427 DCHECK(mime_type); 425 DCHECK(mime_type);
428 resource_map_[std::string(resource)] = 426 resource_map_[std::string(resource)] =
429 std::make_pair(std::string(mime_type), resource_id); 427 std::make_pair(std::string(mime_type), resource_id);
430 } 428 }
431 429
432 NewTabUI::NewTabHTMLSource::~NewTabHTMLSource() {} 430 NewTabUI::NewTabHTMLSource::~NewTabHTMLSource() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698