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

Unified Diff: trunk/src/chrome/browser/ui/webui/ntp/new_tab_ui.cc

Issue 264543002: Revert 267095 "Remove WebUI NTP on Android." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 8 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
Index: trunk/src/chrome/browser/ui/webui/ntp/new_tab_ui.cc
===================================================================
--- trunk/src/chrome/browser/ui/webui/ntp/new_tab_ui.cc (revision 267099)
+++ trunk/src/chrome/browser/ui/webui/ntp/new_tab_ui.cc (working copy)
@@ -15,19 +15,13 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/metrics_handler.h"
-#include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
-#include "chrome/browser/ui/webui/ntp/core_app_launcher_handler.h"
#include "chrome/browser/ui/webui/ntp/favicon_webui_handler.h"
#include "chrome/browser/ui/webui/ntp/foreign_session_handler.h"
#include "chrome/browser/ui/webui/ntp/most_visited_handler.h"
-#include "chrome/browser/ui/webui/ntp/new_tab_page_handler.h"
-#include "chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.h"
-#include "chrome/browser/ui/webui/ntp/ntp_login_handler.h"
#include "chrome/browser/ui/webui/ntp/ntp_resource_cache.h"
#include "chrome/browser/ui/webui/ntp/ntp_resource_cache_factory.h"
#include "chrome/browser/ui/webui/ntp/ntp_user_data_logger.h"
#include "chrome/browser/ui/webui/ntp/recently_closed_tabs_handler.h"
-#include "chrome/browser/ui/webui/ntp/suggestions_page_handler.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "components/user_prefs/pref_registry_syncable.h"
@@ -42,6 +36,21 @@
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#if !defined(OS_ANDROID)
+#include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
+#include "chrome/browser/ui/webui/ntp/core_app_launcher_handler.h"
+#include "chrome/browser/ui/webui/ntp/new_tab_page_handler.h"
+#include "chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.h"
+#include "chrome/browser/ui/webui/ntp/ntp_login_handler.h"
+#include "chrome/browser/ui/webui/ntp/suggestions_page_handler.h"
+#else
+#include "chrome/browser/ui/webui/ntp/android/bookmarks_handler.h"
+#include "chrome/browser/ui/webui/ntp/android/context_menu_handler.h"
+#include "chrome/browser/ui/webui/ntp/android/navigation_handler.h"
+#include "chrome/browser/ui/webui/ntp/android/new_tab_page_ready_handler.h"
+#include "chrome/browser/ui/webui/ntp/android/promo_handler.h"
+#endif
+
#if defined(ENABLE_THEMES)
#include "chrome/browser/ui/webui/theme_handler.h"
#endif
@@ -96,22 +105,39 @@
web_ui->AddMessageHandler(new MetricsHandler());
web_ui->AddMessageHandler(new MostVisitedHandler());
web_ui->AddMessageHandler(new RecentlyClosedTabsHandler());
+#if !defined(OS_ANDROID)
web_ui->AddMessageHandler(new FaviconWebUIHandler());
web_ui->AddMessageHandler(new NewTabPageHandler());
web_ui->AddMessageHandler(new CoreAppLauncherHandler());
if (NewTabUI::IsDiscoveryInNTPEnabled())
web_ui->AddMessageHandler(new SuggestionsHandler());
+ // Android doesn't have a sync promo/username on NTP.
web_ui->AddMessageHandler(new NewTabPageSyncHandler());
- ExtensionService* service = GetProfile()->GetExtensionService();
- // We might not have an ExtensionService (on ChromeOS when not logged in
- // for example).
- if (service)
- web_ui->AddMessageHandler(new AppLauncherHandler(service));
+ if (MightShowApps()) {
+ ExtensionService* service = GetProfile()->GetExtensionService();
+ // We might not have an ExtensionService (on ChromeOS when not logged in
+ // for example).
+ if (service)
+ web_ui->AddMessageHandler(new AppLauncherHandler(service));
+ }
+#endif
}
+#if defined(OS_ANDROID)
+ // These handlers are specific to the Android NTP page.
+ web_ui->AddMessageHandler(new BookmarksHandler());
+ web_ui->AddMessageHandler(new ContextMenuHandler());
+ web_ui->AddMessageHandler(new FaviconWebUIHandler());
+ web_ui->AddMessageHandler(new NavigationHandler());
+ web_ui->AddMessageHandler(new NewTabPageReadyHandler());
+ if (!GetProfile()->IsOffTheRecord())
+ web_ui->AddMessageHandler(new PromoHandler());
+#else
+ // Android uses native UI for sync setup.
if (NTPLoginHandler::ShouldShow(GetProfile()))
web_ui->AddMessageHandler(new NTPLoginHandler());
+#endif
#if defined(ENABLE_THEMES)
// The theme handler can require some CPU, so do it after hooking up the most
@@ -221,18 +247,33 @@
// static
void NewTabUI::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
+#if !defined(OS_ANDROID)
CoreAppLauncherHandler::RegisterProfilePrefs(registry);
NewTabPageHandler::RegisterProfilePrefs(registry);
if (NewTabUI::IsDiscoveryInNTPEnabled())
SuggestionsHandler::RegisterProfilePrefs(registry);
+#endif
MostVisitedHandler::RegisterProfilePrefs(registry);
browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry);
}
// static
+bool NewTabUI::MightShowApps() {
+// Android does not have apps.
+#if defined(OS_ANDROID)
+ return false;
+#else
+ return true;
+#endif
+}
+
+// static
bool NewTabUI::ShouldShowApps() {
// Ash shows apps in app list thus should not show apps page in NTP4.
-#if defined(USE_ASH)
+// Android does not have apps.
+#if defined(OS_ANDROID)
+ return false;
+#elif defined(USE_ASH)
return chrome::GetActiveDesktop() != chrome::HOST_DESKTOP_TYPE_ASH;
#else
return true;
@@ -331,7 +372,14 @@
if (!path.empty() && path[0] != '#') {
// A path under new-tab was requested; it's likely a bad relative
// URL from the new tab page, but in any case it's an error.
+
+ // TODO(dtrainor): Can remove this #if check once we update the
+ // accessibility script to no longer try to access urls like
+ // '?2314124523523'.
+ // See http://crbug.com/150252.
+#if !defined(OS_ANDROID)
NOTREACHED() << path << " should not have been requested on the NTP";
+#endif
callback.Run(NULL);
return;
}
« no previous file with comments | « trunk/src/chrome/browser/ui/webui/ntp/new_tab_ui.h ('k') | trunk/src/chrome/browser/ui/webui/ntp/ntp_login_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698