| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 localized_strings.SetString("serverpromo", | 417 localized_strings.SetString("serverpromo", |
| 418 profile_->GetPrefs()->GetString(prefs::kNTPPromoLine)); | 418 profile_->GetPrefs()->GetString(prefs::kNTPPromoLine)); |
| 419 UserMetrics::RecordAction(UserMetricsAction("NTPPromoShown")); | 419 UserMetrics::RecordAction(UserMetricsAction("NTPPromoShown")); |
| 420 } | 420 } |
| 421 | 421 |
| 422 // Enable or disable bookmark features based on an about flag. | 422 // Enable or disable bookmark features based on an about flag. |
| 423 localized_strings.SetString("bookmark_features", | 423 localized_strings.SetString("bookmark_features", |
| 424 NewTabUI::NTP4BookmarkFeaturesEnabled() ? "true" : "false"); | 424 NewTabUI::NTP4BookmarkFeaturesEnabled() ? "true" : "false"); |
| 425 | 425 |
| 426 // Load the new tab page appropriate for this build | 426 // Load the new tab page appropriate for this build |
| 427 // Note that some builds (eg. TOUCHUI) don't make use of everything we | |
| 428 // do here (all of the template data, etc.), but we keep the back end | |
| 429 // consistent across builds, supporting the union of all NTP front-ends | |
| 430 // for simplicity. | |
| 431 std::string full_html; | 427 std::string full_html; |
| 432 if (NewTabUI::NTP4Enabled()) { | 428 base::StringPiece new_tab_html(ResourceBundle::GetSharedInstance(). |
| 433 base::StringPiece new_tab_html(ResourceBundle::GetSharedInstance(). | 429 GetRawDataResource(IDR_NEW_TAB_4_HTML)); |
| 434 GetRawDataResource(IDR_NEW_TAB_4_HTML)); | 430 full_html = jstemplate_builder::GetI18nTemplateHtml(new_tab_html, |
| 435 full_html = jstemplate_builder::GetI18nTemplateHtml(new_tab_html, | 431 &localized_strings); |
| 436 &localized_strings); | |
| 437 } else { | |
| 438 base::StringPiece new_tab_html(ResourceBundle::GetSharedInstance(). | |
| 439 GetRawDataResource(IDR_NEW_TAB_HTML)); | |
| 440 | |
| 441 // Inject the template data into the HTML so that it is available before any | |
| 442 // layout is needed. | |
| 443 std::string json_html; | |
| 444 jstemplate_builder::AppendJsonHtml(&localized_strings, &json_html); | |
| 445 | |
| 446 static const base::StringPiece template_data_placeholder( | |
| 447 "<!-- template data placeholder -->"); | |
| 448 size_t pos = new_tab_html.find(template_data_placeholder); | |
| 449 | |
| 450 if (pos != base::StringPiece::npos) { | |
| 451 full_html.assign(new_tab_html.data(), pos); | |
| 452 full_html.append(json_html); | |
| 453 size_t after_offset = pos + template_data_placeholder.size(); | |
| 454 full_html.append(new_tab_html.data() + after_offset, | |
| 455 new_tab_html.size() - after_offset); | |
| 456 } else { | |
| 457 NOTREACHED(); | |
| 458 full_html.assign(new_tab_html.data(), new_tab_html.size()); | |
| 459 } | |
| 460 } | |
| 461 | |
| 462 new_tab_html_ = base::RefCountedString::TakeString(&full_html); | 432 new_tab_html_ = base::RefCountedString::TakeString(&full_html); |
| 463 } | 433 } |
| 464 | 434 |
| 465 void NTPResourceCache::CreateNewTabIncognitoCSS() { | 435 void NTPResourceCache::CreateNewTabIncognitoCSS() { |
| 466 ui::ThemeProvider* tp = ThemeServiceFactory::GetForProfile(profile_); | 436 ui::ThemeProvider* tp = ThemeServiceFactory::GetForProfile(profile_); |
| 467 DCHECK(tp); | 437 DCHECK(tp); |
| 468 | 438 |
| 469 // Get our theme colors | 439 // Get our theme colors |
| 470 SkColor color_background = | 440 SkColor color_background = |
| 471 tp->GetColor(ThemeService::COLOR_NTP_BACKGROUND); | 441 tp->GetColor(ThemeService::COLOR_NTP_BACKGROUND); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 subst.push_back(SkColorToRGBAString(color_section_header_rule)); // $18 | 542 subst.push_back(SkColorToRGBAString(color_section_header_rule)); // $18 |
| 573 subst.push_back(SkColorToRGBAString( | 543 subst.push_back(SkColorToRGBAString( |
| 574 color_section_header_rule_light)); // $19 | 544 color_section_header_rule_light)); // $19 |
| 575 subst.push_back(SkColorToRGBAString( | 545 subst.push_back(SkColorToRGBAString( |
| 576 SkColorSetA(color_section_header_rule, 0))); // $20 | 546 SkColorSetA(color_section_header_rule, 0))); // $20 |
| 577 subst.push_back(SkColorToRGBAString(color_text_light)); // $21 | 547 subst.push_back(SkColorToRGBAString(color_text_light)); // $21 |
| 578 subst.push_back(SkColorToRGBComponents(color_section_border)); // $22 | 548 subst.push_back(SkColorToRGBComponents(color_section_border)); // $22 |
| 579 subst.push_back(SkColorToRGBComponents(color_text)); // $23 | 549 subst.push_back(SkColorToRGBComponents(color_text)); // $23 |
| 580 | 550 |
| 581 // Get our template. | 551 // Get our template. |
| 582 int ntp_css_resource_id = NewTabUI::NTP4Enabled() ? | |
| 583 IDR_NEW_TAB_4_THEME_CSS : IDR_NEW_TAB_THEME_CSS; | |
| 584 static const base::StringPiece new_tab_theme_css( | 552 static const base::StringPiece new_tab_theme_css( |
| 585 ResourceBundle::GetSharedInstance().GetRawDataResource( | 553 ResourceBundle::GetSharedInstance().GetRawDataResource( |
| 586 ntp_css_resource_id)); | 554 IDR_NEW_TAB_4_THEME_CSS)); |
| 587 | 555 |
| 588 // Create the string from our template and the replacements. | 556 // Create the string from our template and the replacements. |
| 589 std::string css_string; | 557 std::string css_string; |
| 590 css_string = ReplaceStringPlaceholders(new_tab_theme_css, subst, NULL); | 558 css_string = ReplaceStringPlaceholders(new_tab_theme_css, subst, NULL); |
| 591 new_tab_css_ = base::RefCountedString::TakeString(&css_string); | 559 new_tab_css_ = base::RefCountedString::TakeString(&css_string); |
| 592 } | 560 } |
| OLD | NEW |