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

Side by Side Diff: chrome/browser/ui/webui/ntp/ntp_resource_cache.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: move getShouldShowApps message to onLoad. 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
« no previous file with comments | « chrome/browser/ui/webui/ntp/ntp_resource_cache.h ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/browser/ui/webui/ntp/ntp_resource_cache.h" 5 #include "chrome/browser/ui/webui/ntp/ntp_resource_cache.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/file_util.h" 11 #include "base/file_util.h"
12 #include "base/memory/ref_counted_memory.h" 12 #include "base/memory/ref_counted_memory.h"
13 #include "base/string16.h" 13 #include "base/string16.h"
14 #include "base/string_number_conversions.h" 14 #include "base/string_number_conversions.h"
15 #include "base/stringprintf.h" 15 #include "base/stringprintf.h"
16 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
17 #include "base/values.h" 17 #include "base/values.h"
18 #include "chrome/browser/browser_process.h" 18 #include "chrome/browser/browser_process.h"
19 #include "chrome/browser/extensions/app_launcher.h"
19 #include "chrome/browser/first_run/first_run.h" 20 #include "chrome/browser/first_run/first_run.h"
20 #include "chrome/browser/google/google_util.h" 21 #include "chrome/browser/google/google_util.h"
21 #include "chrome/browser/policy/browser_policy_connector.h" 22 #include "chrome/browser/policy/browser_policy_connector.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/sync/profile_sync_service.h" 25 #include "chrome/browser/sync/profile_sync_service.h"
25 #include "chrome/browser/sync/profile_sync_service_factory.h" 26 #include "chrome/browser/sync/profile_sync_service_factory.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/bookmarks/bookmark_bar_constants.h" 29 #include "chrome/browser/ui/bookmarks/bookmark_bar_constants.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 const ui::ThemeProvider* theme_provider) { 157 const ui::ThemeProvider* theme_provider) {
157 int repeat_mode; 158 int repeat_mode;
158 theme_provider->GetDisplayProperty( 159 theme_provider->GetDisplayProperty(
159 ThemeService::NTP_BACKGROUND_TILING, &repeat_mode); 160 ThemeService::NTP_BACKGROUND_TILING, &repeat_mode);
160 return ThemeService::TilingToString(repeat_mode); 161 return ThemeService::TilingToString(repeat_mode);
161 } 162 }
162 163
163 } // namespace 164 } // namespace
164 165
165 NTPResourceCache::NTPResourceCache(Profile* profile) 166 NTPResourceCache::NTPResourceCache(Profile* profile)
166 : profile_(profile), is_swipe_tracking_from_scroll_events_enabled_(false) { 167 : profile_(profile), is_swipe_tracking_from_scroll_events_enabled_(false),
168 should_show_apps_page_(NewTabUI::ShouldShowApps()) {
167 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED, 169 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
168 content::Source<ThemeService>( 170 content::Source<ThemeService>(
169 ThemeServiceFactory::GetForProfile(profile))); 171 ThemeServiceFactory::GetForProfile(profile)));
170 registrar_.Add(this, chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED, 172 registrar_.Add(this, chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
171 content::NotificationService::AllSources()); 173 content::NotificationService::AllSources());
172 174
173 base::Closure callback = base::Bind(&NTPResourceCache::OnPreferenceChanged, 175 base::Closure callback = base::Bind(&NTPResourceCache::OnPreferenceChanged,
174 base::Unretained(this)); 176 base::Unretained(this));
175 177
176 // Watch for pref changes that cause us to need to invalidate the HTML cache. 178 // Watch for pref changes that cause us to need to invalidate the HTML cache.
177 pref_change_registrar_.Init(profile_->GetPrefs()); 179 pref_change_registrar_.Init(profile_->GetPrefs());
178 pref_change_registrar_.Add(prefs::kSyncAcknowledgedSyncTypes, callback); 180 pref_change_registrar_.Add(prefs::kSyncAcknowledgedSyncTypes, callback);
179 pref_change_registrar_.Add(prefs::kShowBookmarkBar, callback); 181 pref_change_registrar_.Add(prefs::kShowBookmarkBar, callback);
180 pref_change_registrar_.Add(prefs::kNtpShownPage, callback); 182 pref_change_registrar_.Add(prefs::kNtpShownPage, callback);
181 pref_change_registrar_.Add(prefs::kSyncPromoShowNTPBubble, callback); 183 pref_change_registrar_.Add(prefs::kSyncPromoShowNTPBubble, callback);
182 } 184 }
183 185
184 NTPResourceCache::~NTPResourceCache() {} 186 NTPResourceCache::~NTPResourceCache() {}
185 187
186 bool NTPResourceCache::NewTabCacheNeedsRefresh() { 188 bool NTPResourceCache::NewTabCacheNeedsRefresh() {
187 #if defined(OS_MACOSX) 189 #if defined(OS_MACOSX)
188 // Invalidate if the current value is different from the cached value. 190 // Invalidate if the current value is different from the cached value.
189 bool is_enabled = platform_util::IsSwipeTrackingFromScrollEventsEnabled(); 191 bool is_enabled = platform_util::IsSwipeTrackingFromScrollEventsEnabled();
190 if (is_enabled != is_swipe_tracking_from_scroll_events_enabled_) { 192 if (is_enabled != is_swipe_tracking_from_scroll_events_enabled_) {
191 is_swipe_tracking_from_scroll_events_enabled_ = is_enabled; 193 is_swipe_tracking_from_scroll_events_enabled_ = is_enabled;
192 return true; 194 return true;
193 } 195 }
194 #endif 196 #endif
197 bool should_show_apps_page = !extensions::IsAppLauncherEnabled();
198 if (should_show_apps_page != should_show_apps_page_) {
199 should_show_apps_page_ = should_show_apps_page;
200 return true;
201 }
195 return false; 202 return false;
196 } 203 }
197 204
198 base::RefCountedMemory* NTPResourceCache::GetNewTabHTML(bool is_incognito) { 205 base::RefCountedMemory* NTPResourceCache::GetNewTabHTML(bool is_incognito) {
199 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 206 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
200 if (is_incognito) { 207 if (is_incognito) {
201 if (!new_tab_incognito_html_.get()) 208 if (!new_tab_incognito_html_.get())
202 CreateNewTabIncognitoHTML(); 209 CreateNewTabIncognitoHTML();
203 } else { 210 } else {
204 // Refresh the cached HTML if necessary. 211 // Refresh the cached HTML if necessary.
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 load_time_data.SetString("otherSessionsLearnMoreUrl", 379 load_time_data.SetString("otherSessionsLearnMoreUrl",
373 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_LEARN_MORE_URL)); 380 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_LEARN_MORE_URL));
374 load_time_data.SetString("learnMore", 381 load_time_data.SetString("learnMore",
375 l10n_util::GetStringUTF16(IDS_LEARN_MORE)); 382 l10n_util::GetStringUTF16(IDS_LEARN_MORE));
376 load_time_data.SetString("webStoreLink", 383 load_time_data.SetString("webStoreLink",
377 GetUrlWithLang(GURL(extension_urls::GetWebstoreLaunchURL()))); 384 GetUrlWithLang(GURL(extension_urls::GetWebstoreLaunchURL())));
378 load_time_data.SetString("appInstallHintText", 385 load_time_data.SetString("appInstallHintText",
379 l10n_util::GetStringUTF16(IDS_NEW_TAB_APP_INSTALL_HINT_LABEL)); 386 l10n_util::GetStringUTF16(IDS_NEW_TAB_APP_INSTALL_HINT_LABEL));
380 load_time_data.SetBoolean("isDiscoveryInNTPEnabled", 387 load_time_data.SetBoolean("isDiscoveryInNTPEnabled",
381 NewTabUI::IsDiscoveryInNTPEnabled()); 388 NewTabUI::IsDiscoveryInNTPEnabled());
382 load_time_data.SetBoolean("showApps", NewTabUI::ShouldShowApps());
383 load_time_data.SetString("collapseSessionMenuItemText", 389 load_time_data.SetString("collapseSessionMenuItemText",
384 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_COLLAPSE_SESSION)); 390 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_COLLAPSE_SESSION));
385 load_time_data.SetString("expandSessionMenuItemText", 391 load_time_data.SetString("expandSessionMenuItemText",
386 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_EXPAND_SESSION)); 392 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_EXPAND_SESSION));
387 load_time_data.SetString("restoreSessionMenuItemText", 393 load_time_data.SetString("restoreSessionMenuItemText",
388 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_OPEN_ALL)); 394 l10n_util::GetStringUTF16(IDS_NEW_TAB_OTHER_SESSIONS_OPEN_ALL));
389 load_time_data.SetString("learn_more", 395 load_time_data.SetString("learn_more",
390 l10n_util::GetStringUTF16(IDS_LEARN_MORE)); 396 l10n_util::GetStringUTF16(IDS_LEARN_MORE));
391 load_time_data.SetString("tile_grid_screenreader_accessible_description", 397 load_time_data.SetString("tile_grid_screenreader_accessible_description",
392 l10n_util::GetStringUTF16(IDS_NEW_TAB_TILE_GRID_ACCESSIBLE_DESCRIPTION)); 398 l10n_util::GetStringUTF16(IDS_NEW_TAB_TILE_GRID_ACCESSIBLE_DESCRIPTION));
393 load_time_data.SetString("page_switcher_change_title", 399 load_time_data.SetString("page_switcher_change_title",
394 l10n_util::GetStringUTF16(IDS_NEW_TAB_PAGE_SWITCHER_CHANGE_TITLE)); 400 l10n_util::GetStringUTF16(IDS_NEW_TAB_PAGE_SWITCHER_CHANGE_TITLE));
395 load_time_data.SetString("page_switcher_same_title", 401 load_time_data.SetString("page_switcher_same_title",
396 l10n_util::GetStringUTF16(IDS_NEW_TAB_PAGE_SWITCHER_SAME_TITLE)); 402 l10n_util::GetStringUTF16(IDS_NEW_TAB_PAGE_SWITCHER_SAME_TITLE));
397 // On Mac OS X 10.7+, horizontal scrolling can be treated as a back or 403 // On Mac OS X 10.7+, horizontal scrolling can be treated as a back or
398 // forward gesture. Pass through a flag that indicates whether or not that 404 // forward gesture. Pass through a flag that indicates whether or not that
399 // feature is enabled. 405 // feature is enabled.
400 load_time_data.SetBoolean("isSwipeTrackingFromScrollEventsEnabled", 406 load_time_data.SetBoolean("isSwipeTrackingFromScrollEventsEnabled",
401 is_swipe_tracking_from_scroll_events_enabled_); 407 is_swipe_tracking_from_scroll_events_enabled_);
408 load_time_data.SetBoolean("showApps", should_show_apps_page_);
402 409
403 #if defined(OS_CHROMEOS) 410 #if defined(OS_CHROMEOS)
404 load_time_data.SetString("expandMenu", 411 load_time_data.SetString("expandMenu",
405 l10n_util::GetStringUTF16(IDS_NEW_TAB_CLOSE_MENU_EXPAND)); 412 l10n_util::GetStringUTF16(IDS_NEW_TAB_CLOSE_MENU_EXPAND));
406 #endif 413 #endif
407 414
408 NewTabPageHandler::GetLocalizedValues(profile_, &load_time_data); 415 NewTabPageHandler::GetLocalizedValues(profile_, &load_time_data);
409 NTPLoginHandler::GetLocalizedValues(profile_, &load_time_data); 416 NTPLoginHandler::GetLocalizedValues(profile_, &load_time_data);
410 417
411 webui::SetFontAndTextDirection(&load_time_data); 418 webui::SetFontAndTextDirection(&load_time_data);
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 static const base::StringPiece new_tab_theme_css( 586 static const base::StringPiece new_tab_theme_css(
580 ResourceBundle::GetSharedInstance().GetRawDataResource( 587 ResourceBundle::GetSharedInstance().GetRawDataResource(
581 chrome::search::IsInstantExtendedAPIEnabled(profile_) ? 588 chrome::search::IsInstantExtendedAPIEnabled(profile_) ?
582 IDR_NEW_TAB_SEARCH_THEME_CSS : IDR_NEW_TAB_4_THEME_CSS)); 589 IDR_NEW_TAB_SEARCH_THEME_CSS : IDR_NEW_TAB_4_THEME_CSS));
583 590
584 // Create the string from our template and the replacements. 591 // Create the string from our template and the replacements.
585 std::string css_string; 592 std::string css_string;
586 css_string = ReplaceStringPlaceholders(new_tab_theme_css, subst, NULL); 593 css_string = ReplaceStringPlaceholders(new_tab_theme_css, subst, NULL);
587 new_tab_css_ = base::RefCountedString::TakeString(&css_string); 594 new_tab_css_ = base::RefCountedString::TakeString(&css_string);
588 } 595 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/ntp/ntp_resource_cache.h ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698