| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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/dom_ui/new_tab_ui.h" | 7 #include "chrome/browser/dom_ui/new_tab_ui.h" |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 | 192 |
| 193 static const base::StringPiece incognito_tab_html( | 193 static const base::StringPiece incognito_tab_html( |
| 194 ResourceBundle::GetSharedInstance().GetRawDataResource( | 194 ResourceBundle::GetSharedInstance().GetRawDataResource( |
| 195 IDR_INCOGNITO_TAB_HTML)); | 195 IDR_INCOGNITO_TAB_HTML)); |
| 196 | 196 |
| 197 full_html_ = jstemplate_builder::GetI18nTemplateHtml(incognito_tab_html, | 197 full_html_ = jstemplate_builder::GetI18nTemplateHtml(incognito_tab_html, |
| 198 &localized_strings); | 198 &localized_strings); |
| 199 } | 199 } |
| 200 | 200 |
| 201 /////////////////////////////////////////////////////////////////////////////// | 201 /////////////////////////////////////////////////////////////////////////////// |
| 202 // PromotionalMessageHandler |
| 203 |
| 204 class PromotionalMessageHandler : public DOMMessageHandler { |
| 205 public: |
| 206 PromotionalMessageHandler() {} |
| 207 virtual ~PromotionalMessageHandler() {} |
| 208 |
| 209 // DOMMessageHandler implementation. |
| 210 virtual void RegisterMessages(); |
| 211 |
| 212 // Zero promotional message counter. |
| 213 void HandleClosePromotionalMessage(const Value* content); |
| 214 |
| 215 private: |
| 216 DISALLOW_COPY_AND_ASSIGN(PromotionalMessageHandler); |
| 217 }; |
| 218 |
| 219 void PromotionalMessageHandler::RegisterMessages() { |
| 220 dom_ui_->RegisterMessageCallback("stopPromoMessages", |
| 221 NewCallback(this, |
| 222 &PromotionalMessageHandler::HandleClosePromotionalMessage)); |
| 223 } |
| 224 |
| 225 void PromotionalMessageHandler::HandleClosePromotionalMessage( |
| 226 const Value* content) { |
| 227 dom_ui_->GetProfile()->GetPrefs()->SetInteger(prefs::kNTPPromoRemaining, 0); |
| 228 } |
| 229 |
| 230 |
| 231 /////////////////////////////////////////////////////////////////////////////// |
| 202 // RecentlyClosedTabsHandler | 232 // RecentlyClosedTabsHandler |
| 203 | 233 |
| 204 class RecentlyClosedTabsHandler : public DOMMessageHandler, | 234 class RecentlyClosedTabsHandler : public DOMMessageHandler, |
| 205 public TabRestoreService::Observer { | 235 public TabRestoreService::Observer { |
| 206 public: | 236 public: |
| 207 RecentlyClosedTabsHandler() : tab_restore_service_(NULL) {} | 237 RecentlyClosedTabsHandler() : tab_restore_service_(NULL) {} |
| 208 virtual ~RecentlyClosedTabsHandler(); | 238 virtual ~RecentlyClosedTabsHandler(); |
| 209 | 239 |
| 210 // DOMMessageHandler implementation. | 240 // DOMMessageHandler implementation. |
| 211 virtual void RegisterMessages(); | 241 virtual void RegisterMessages(); |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 AddMessageHandler((new MostVisitedHandler())->Attach(this)); | 592 AddMessageHandler((new MostVisitedHandler())->Attach(this)); |
| 563 AddMessageHandler((new RecentlyClosedTabsHandler())->Attach(this)); | 593 AddMessageHandler((new RecentlyClosedTabsHandler())->Attach(this)); |
| 564 AddMessageHandler((new MetricsHandler())->Attach(this)); | 594 AddMessageHandler((new MetricsHandler())->Attach(this)); |
| 565 if (WebResourcesEnabled()) | 595 if (WebResourcesEnabled()) |
| 566 AddMessageHandler((new TipsHandler())->Attach(this)); | 596 AddMessageHandler((new TipsHandler())->Attach(this)); |
| 567 if (ProfileSyncService::IsSyncEnabled()) { | 597 if (ProfileSyncService::IsSyncEnabled()) { |
| 568 AddMessageHandler((new NewTabPageSyncHandler())->Attach(this)); | 598 AddMessageHandler((new NewTabPageSyncHandler())->Attach(this)); |
| 569 } | 599 } |
| 570 | 600 |
| 571 AddMessageHandler((new NewTabPageSetHomePageHandler())->Attach(this)); | 601 AddMessageHandler((new NewTabPageSetHomePageHandler())->Attach(this)); |
| 602 AddMessageHandler((new PromotionalMessageHandler())->Attach(this)); |
| 572 | 603 |
| 573 NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile()); | 604 NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile()); |
| 574 bool posted = ChromeThread::PostTask( | 605 bool posted = ChromeThread::PostTask( |
| 575 ChromeThread::IO, FROM_HERE, | 606 ChromeThread::IO, FROM_HERE, |
| 576 NewRunnableMethod( | 607 NewRunnableMethod( |
| 577 Singleton<ChromeURLDataManager>::get(), | 608 Singleton<ChromeURLDataManager>::get(), |
| 578 &ChromeURLDataManager::AddDataSource, | 609 &ChromeURLDataManager::AddDataSource, |
| 579 html_source)); | 610 html_source)); |
| 580 if (!posted) { | 611 if (!posted) { |
| 581 html_source->AddRef(); | 612 html_source->AddRef(); |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 876 localized_strings.SetString(L"closefirstrunnotification", | 907 localized_strings.SetString(L"closefirstrunnotification", |
| 877 l10n_util::GetString(IDS_NEW_TAB_CLOSE_FIRST_RUN_NOTIFICATION)); | 908 l10n_util::GetString(IDS_NEW_TAB_CLOSE_FIRST_RUN_NOTIFICATION)); |
| 878 localized_strings.SetString(L"makethishomepage", | 909 localized_strings.SetString(L"makethishomepage", |
| 879 l10n_util::GetString(IDS_NEW_TAB_MAKE_THIS_HOMEPAGE)); | 910 l10n_util::GetString(IDS_NEW_TAB_MAKE_THIS_HOMEPAGE)); |
| 880 localized_strings.SetString(L"themelink", | 911 localized_strings.SetString(L"themelink", |
| 881 l10n_util::GetString(IDS_THEMES_GALLERY_URL)); | 912 l10n_util::GetString(IDS_THEMES_GALLERY_URL)); |
| 882 localized_strings.SetString(L"tips", | 913 localized_strings.SetString(L"tips", |
| 883 l10n_util::GetString(IDS_NEW_TAB_TIPS)); | 914 l10n_util::GetString(IDS_NEW_TAB_TIPS)); |
| 884 localized_strings.SetString(L"sync", | 915 localized_strings.SetString(L"sync", |
| 885 l10n_util::GetString(IDS_NEW_TAB_SHOW_HIDE_BOOKMARK_SYNC)); | 916 l10n_util::GetString(IDS_NEW_TAB_SHOW_HIDE_BOOKMARK_SYNC)); |
| 917 localized_strings.SetString(L"promonew", |
| 918 l10n_util::GetString(IDS_NTP_PROMOTION_NEW)); |
| 919 localized_strings.SetString(L"promomessage", |
| 920 l10n_util::GetStringF(IDS_NTP_PROMOTION_MESSAGE, |
| 921 l10n_util::GetString(IDS_PRODUCT_NAME), |
| 922 ASCIIToWide(Extension::kGalleryBrowseUrl), |
| 923 l10n_util::GetString(IDS_SYNC_SERVICE_HELP_URL))); |
| 924 localized_strings.SetString(L"extensionslink", |
| 925 ASCIIToWide(Extension::kGalleryBrowseUrl)); |
| 886 | 926 |
| 887 // Don't initiate the sync related message passing with the page if the sync | 927 // Don't initiate the sync related message passing with the page if the sync |
| 888 // code is not present. | 928 // code is not present. |
| 889 if (profile->GetProfileSyncService()) | 929 if (profile->GetProfileSyncService()) |
| 890 localized_strings.SetString(L"syncispresent", "true"); | 930 localized_strings.SetString(L"syncispresent", "true"); |
| 891 else | 931 else |
| 892 localized_strings.SetString(L"syncispresent", "false"); | 932 localized_strings.SetString(L"syncispresent", "false"); |
| 893 | 933 |
| 894 if (!profile->GetPrefs()->GetBoolean(prefs::kHomePageIsNewTabPage)) | 934 if (!profile->GetPrefs()->GetBoolean(prefs::kHomePageIsNewTabPage)) |
| 895 localized_strings.SetString(L"showsetashomepage", "true"); | 935 localized_strings.SetString(L"showsetashomepage", "true"); |
| 896 | 936 |
| 897 SetFontAndTextDirection(&localized_strings); | 937 SetFontAndTextDirection(&localized_strings); |
| 898 | 938 |
| 899 // Let the tab know whether it's the first tab being viewed. | 939 // Let the tab know whether it's the first tab being viewed. |
| 900 if (first_view_) { | 940 if (first_view_) { |
| 901 localized_strings.SetString(L"firstview", L"true"); | 941 localized_strings.SetString(L"firstview", L"true"); |
| 902 | 942 |
| 903 // Decrement ntp promo counter; the default value is specified in | 943 // Decrement ntp promo counter; the default value is specified in |
| 904 // Browser::RegisterUserPrefs. | 944 // Browser::RegisterUserPrefs. |
| 905 profile->GetPrefs()->SetInteger(prefs::kNTPThemePromoRemaining, | 945 profile->GetPrefs()->SetInteger(prefs::kNTPPromoRemaining, |
| 906 profile->GetPrefs()->GetInteger(prefs::kNTPThemePromoRemaining) - 1); | 946 profile->GetPrefs()->GetInteger(prefs::kNTPPromoRemaining) - 1); |
| 907 first_view_ = false; | 947 first_view_ = false; |
| 908 } | 948 } |
| 909 | 949 |
| 910 // Control fade and resize animations. | 950 // Control fade and resize animations. |
| 911 std::wstring anim = | 951 std::wstring anim = |
| 912 Animation::ShouldRenderRichAnimation() ? L"true" : L"false"; | 952 Animation::ShouldRenderRichAnimation() ? L"true" : L"false"; |
| 913 localized_strings.SetString(L"anim", anim); | 953 localized_strings.SetString(L"anim", anim); |
| 914 | 954 |
| 915 // Pass the shown_sections pref early so that we can prevent flicker. | 955 // Pass the shown_sections pref early so that we can prevent flicker. |
| 916 const int shown_sections = profile->GetPrefs()->GetInteger( | 956 const int shown_sections = profile->GetPrefs()->GetInteger( |
| (...skipping 30 matching lines...) Expand all Loading... |
| 947 full_html_.append(json_html); | 987 full_html_.append(json_html); |
| 948 size_t after_offset = pos + template_data_placeholder.size(); | 988 size_t after_offset = pos + template_data_placeholder.size(); |
| 949 full_html_.append(new_tab_html.data() + after_offset, | 989 full_html_.append(new_tab_html.data() + after_offset, |
| 950 new_tab_html.size() - after_offset); | 990 new_tab_html.size() - after_offset); |
| 951 } else { | 991 } else { |
| 952 NOTREACHED(); | 992 NOTREACHED(); |
| 953 full_html_.assign(new_tab_html.data(), new_tab_html.size()); | 993 full_html_.assign(new_tab_html.data(), new_tab_html.size()); |
| 954 } | 994 } |
| 955 jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html_); | 995 jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html_); |
| 956 } | 996 } |
| OLD | NEW |