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 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 #if !defined(OS_POSIX) | 565 #if !defined(OS_POSIX) |
566 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSync)) { | 566 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSync)) { |
567 AddMessageHandler((new NewTabPageSyncHandler())->Attach(this)); | 567 AddMessageHandler((new NewTabPageSyncHandler())->Attach(this)); |
568 } | 568 } |
569 #endif | 569 #endif |
570 | 570 |
571 AddMessageHandler((new NewTabPageSetHomepageHandler())->Attach(this)); | 571 AddMessageHandler((new NewTabPageSetHomepageHandler())->Attach(this)); |
572 | 572 |
573 InitializeCSSCaches(); | 573 InitializeCSSCaches(); |
574 NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile()); | 574 NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile()); |
575 ChromeThread::PostTask( | 575 bool posted = ChromeThread::PostTask( |
576 ChromeThread::IO, FROM_HERE, | 576 ChromeThread::IO, FROM_HERE, |
577 NewRunnableMethod( | 577 NewRunnableMethod( |
578 &chrome_url_data_manager, | 578 &chrome_url_data_manager, |
579 &ChromeURLDataManager::AddDataSource, | 579 &ChromeURLDataManager::AddDataSource, |
580 html_source)); | 580 html_source)); |
| 581 if (!posted) |
| 582 delete html_source; // Keep Valgrind happy in tests. |
581 } | 583 } |
582 | 584 |
583 // Listen for theme installation. | 585 // Listen for theme installation. |
584 registrar_.Add(this, NotificationType::BROWSER_THEME_CHANGED, | 586 registrar_.Add(this, NotificationType::BROWSER_THEME_CHANGED, |
585 NotificationService::AllSources()); | 587 NotificationService::AllSources()); |
586 // Listen for bookmark bar visibility changes. | 588 // Listen for bookmark bar visibility changes. |
587 registrar_.Add(this, NotificationType::BOOKMARK_BAR_VISIBILITY_PREF_CHANGED, | 589 registrar_.Add(this, NotificationType::BOOKMARK_BAR_VISIBILITY_PREF_CHANGED, |
588 NotificationService::AllSources()); | 590 NotificationService::AllSources()); |
589 } | 591 } |
590 | 592 |
(...skipping 16 matching lines...) Expand all Loading... |
607 CallJavascriptFunction(L"themeChanged"); | 609 CallJavascriptFunction(L"themeChanged"); |
608 } else if (NotificationType::BOOKMARK_BAR_VISIBILITY_PREF_CHANGED) { | 610 } else if (NotificationType::BOOKMARK_BAR_VISIBILITY_PREF_CHANGED) { |
609 if (GetProfile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar)) | 611 if (GetProfile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar)) |
610 CallJavascriptFunction(L"bookmarkBarAttached"); | 612 CallJavascriptFunction(L"bookmarkBarAttached"); |
611 else | 613 else |
612 CallJavascriptFunction(L"bookmarkBarDetached"); | 614 CallJavascriptFunction(L"bookmarkBarDetached"); |
613 } | 615 } |
614 } | 616 } |
615 | 617 |
616 void NewTabUI::InitializeCSSCaches() { | 618 void NewTabUI::InitializeCSSCaches() { |
617 ChromeThread::PostTask( | 619 DOMUIThemeSource* theme = new DOMUIThemeSource(GetProfile()); |
| 620 bool posted = ChromeThread::PostTask( |
618 ChromeThread::IO, FROM_HERE, | 621 ChromeThread::IO, FROM_HERE, |
619 NewRunnableMethod( | 622 NewRunnableMethod( |
620 &chrome_url_data_manager, | 623 &chrome_url_data_manager, |
621 &ChromeURLDataManager::AddDataSource, | 624 &ChromeURLDataManager::AddDataSource, |
622 new DOMUIThemeSource(GetProfile()))); | 625 theme)); |
| 626 if (!posted) |
| 627 delete theme; // Keep Valgrind happy in tests. |
623 } | 628 } |
624 | 629 |
625 // static | 630 // static |
626 void NewTabUI::RegisterUserPrefs(PrefService* prefs) { | 631 void NewTabUI::RegisterUserPrefs(PrefService* prefs) { |
627 MostVisitedHandler::RegisterUserPrefs(prefs); | 632 MostVisitedHandler::RegisterUserPrefs(prefs); |
628 ShownSectionsHandler::RegisterUserPrefs(prefs); | 633 ShownSectionsHandler::RegisterUserPrefs(prefs); |
629 if (NewTabUI::WebResourcesEnabled()) | 634 if (NewTabUI::WebResourcesEnabled()) |
630 TipsHandler::RegisterUserPrefs(prefs); | 635 TipsHandler::RegisterUserPrefs(prefs); |
631 } | 636 } |
632 | 637 |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 std::string json_html; | 910 std::string json_html; |
906 jstemplate_builder::AppendJsonHtml(&localized_strings, &json_html); | 911 jstemplate_builder::AppendJsonHtml(&localized_strings, &json_html); |
907 | 912 |
908 static const std::string template_data_placeholder = | 913 static const std::string template_data_placeholder = |
909 "<!-- template data placeholder -->"; | 914 "<!-- template data placeholder -->"; |
910 ReplaceFirstSubstringAfterOffset(&full_html_, 0, template_data_placeholder, | 915 ReplaceFirstSubstringAfterOffset(&full_html_, 0, template_data_placeholder, |
911 json_html); | 916 json_html); |
912 | 917 |
913 jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html_); | 918 jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html_); |
914 } | 919 } |
OLD | NEW |