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

Side by Side Diff: chrome/browser/dom_ui/new_tab_ui.cc

Issue 392005: NTP: Hide "Make this my home page" after setting the home page.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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/app/generated_resources.grd ('k') | chrome/browser/dom_ui/new_tab_ui_uitest.cc » ('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) 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 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 list_member->GetType() == Value::TYPE_STRING) { 469 list_member->GetType() == Value::TYPE_STRING) {
470 std::string event_name; 470 std::string event_name;
471 if (list_member->GetAsString(&event_name)) { 471 if (list_member->GetAsString(&event_name)) {
472 dom_ui_->tab_contents()->LogNewTabTime(event_name); 472 dom_ui_->tab_contents()->LogNewTabTime(event_name);
473 } 473 }
474 } 474 }
475 } 475 }
476 } 476 }
477 477
478 /////////////////////////////////////////////////////////////////////////////// 478 ///////////////////////////////////////////////////////////////////////////////
479 // NewTabPageSetHomepageHandler 479 // NewTabPageSetHomePageHandler
480 480
481 // Sets the new tab page as homepage when user clicks on "make this my homepage" 481 // Sets the new tab page as home page when user clicks on "make this my home
482 // link. 482 // page" link.
483 class NewTabPageSetHomepageHandler : public DOMMessageHandler { 483 class NewTabPageSetHomePageHandler : public DOMMessageHandler {
484 public: 484 public:
485 NewTabPageSetHomepageHandler() {} 485 NewTabPageSetHomePageHandler() {}
486 virtual ~NewTabPageSetHomepageHandler() {} 486 virtual ~NewTabPageSetHomePageHandler() {}
487 487
488 // DOMMessageHandler implementation. 488 // DOMMessageHandler implementation.
489 virtual void RegisterMessages(); 489 virtual void RegisterMessages();
490 490
491 // Callback for "SetHomepageLinkClicked". 491 // Callback for "setHomePage".
492 void HandleSetHomepageLinkClicked(const Value* value); 492 void HandleSetHomePage(const Value* value);
493 493
494 private: 494 private:
495 495
496 DISALLOW_COPY_AND_ASSIGN(NewTabPageSetHomepageHandler); 496 DISALLOW_COPY_AND_ASSIGN(NewTabPageSetHomePageHandler);
497 }; 497 };
498 498
499 void NewTabPageSetHomepageHandler::RegisterMessages() { 499 void NewTabPageSetHomePageHandler::RegisterMessages() {
500 dom_ui_->RegisterMessageCallback("SetHomepageLinkClicked", NewCallback( 500 dom_ui_->RegisterMessageCallback("setHomePage", NewCallback(
501 this, &NewTabPageSetHomepageHandler::HandleSetHomepageLinkClicked)); 501 this, &NewTabPageSetHomePageHandler::HandleSetHomePage));
502 } 502 }
503 503
504 void NewTabPageSetHomepageHandler::HandleSetHomepageLinkClicked( 504 void NewTabPageSetHomePageHandler::HandleSetHomePage(
505 const Value* value) { 505 const Value* value) {
506 dom_ui_->GetProfile()->GetPrefs()->SetBoolean(prefs::kHomePageIsNewTabPage, 506 dom_ui_->GetProfile()->GetPrefs()->SetBoolean(prefs::kHomePageIsNewTabPage,
507 true); 507 true);
508 // TODO(rahulk): Show some kind of notification that new tab page has been
509 // set as homepage. This tip only shows up for a brief moment and disappears
510 // when new tab page gets refreshed.
511 ListValue list_value; 508 ListValue list_value;
512 DictionaryValue* tip_dict = new DictionaryValue(); 509 list_value.Append(new StringValue(
513 tip_dict->SetString(L"tip_html_text", L"Welcome to your home page!"); 510 l10n_util::GetString(IDS_NEW_TAB_HOME_PAGE_SET_NOTIFICATION)));
514 list_value.Append(tip_dict); 511 list_value.Append(new StringValue(
515 dom_ui_->CallJavascriptFunction(L"tips", list_value); 512 l10n_util::GetString(IDS_NEW_TAB_HOME_PAGE_HIDE_NOTIFICATION)));
513 dom_ui_->CallJavascriptFunction(L"onHomePageSet", list_value);
516 } 514 }
517 515
518 } // namespace 516 } // namespace
519 517
520 /////////////////////////////////////////////////////////////////////////////// 518 ///////////////////////////////////////////////////////////////////////////////
521 // NewTabUI 519 // NewTabUI
522 520
523 NewTabUI::NewTabUI(TabContents* contents) 521 NewTabUI::NewTabUI(TabContents* contents)
524 : DOMUI(contents), 522 : DOMUI(contents),
525 motd_message_id_(0), 523 motd_message_id_(0),
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 AddMessageHandler((new MetricsHandler())->Attach(this)); 563 AddMessageHandler((new MetricsHandler())->Attach(this));
566 if (WebResourcesEnabled()) 564 if (WebResourcesEnabled())
567 AddMessageHandler((new TipsHandler())->Attach(this)); 565 AddMessageHandler((new TipsHandler())->Attach(this));
568 566
569 #if !defined(OS_POSIX) 567 #if !defined(OS_POSIX)
570 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSync)) { 568 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSync)) {
571 AddMessageHandler((new NewTabPageSyncHandler())->Attach(this)); 569 AddMessageHandler((new NewTabPageSyncHandler())->Attach(this));
572 } 570 }
573 #endif 571 #endif
574 572
575 AddMessageHandler((new NewTabPageSetHomepageHandler())->Attach(this)); 573 AddMessageHandler((new NewTabPageSetHomePageHandler())->Attach(this));
576 574
577 NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile()); 575 NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile());
578 bool posted = ChromeThread::PostTask( 576 bool posted = ChromeThread::PostTask(
579 ChromeThread::IO, FROM_HERE, 577 ChromeThread::IO, FROM_HERE,
580 NewRunnableMethod( 578 NewRunnableMethod(
581 Singleton<ChromeURLDataManager>::get(), 579 Singleton<ChromeURLDataManager>::get(),
582 &ChromeURLDataManager::AddDataSource, 580 &ChromeURLDataManager::AddDataSource,
583 html_source)); 581 html_source));
584 if (!posted) { 582 if (!posted) {
585 html_source->AddRef(); 583 html_source->AddRef();
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 full_html_.append(json_html); 950 full_html_.append(json_html);
953 size_t after_offset = pos + template_data_placeholder.size(); 951 size_t after_offset = pos + template_data_placeholder.size();
954 full_html_.append(new_tab_html.data() + after_offset, 952 full_html_.append(new_tab_html.data() + after_offset,
955 new_tab_html.size() - after_offset); 953 new_tab_html.size() - after_offset);
956 } else { 954 } else {
957 NOTREACHED(); 955 NOTREACHED();
958 full_html_.assign(new_tab_html.data(), new_tab_html.size()); 956 full_html_.assign(new_tab_html.data(), new_tab_html.size());
959 } 957 }
960 jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html_); 958 jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html_);
961 } 959 }
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/dom_ui/new_tab_ui_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698