summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui/new_tab_ui.cc
diff options
context:
space:
mode:
authorarv@chromium.org <arv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-12 21:08:43 +0000
committerarv@chromium.org <arv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-12 21:08:43 +0000
commit4c68ef64b5246de874c28dac745038ec713884c5 (patch)
treed3590f927d144be642500b2099aff96dd080dbb5 /chrome/browser/dom_ui/new_tab_ui.cc
parent0e9981e59506eddcbb66a23cf11639e983553e61 (diff)
downloadchromium_src-4c68ef64b5246de874c28dac745038ec713884c5.zip
chromium_src-4c68ef64b5246de874c28dac745038ec713884c5.tar.gz
chromium_src-4c68ef64b5246de874c28dac745038ec713884c5.tar.bz2
NTP: Hide "Make this my home page" after setting the home page.
This also fixes an l10n issue where the string was hard coded in English. Instead of using the tips infrastructure, after setting the home page we send an ack to the NTP and show a notification. In this way the user will see the notification even if they have hidden the tips. Added a ui test that clicks on the link and checks the state of the UI afterwards. BUG=25101 TEST=Set your home page to non NTP. Go the the NTP by opening a new tab. Click on the link "Make this my home page" at the bottom. You should see a banner at the top. Pressing Alt-Home should now go to the NTP. Review URL: http://codereview.chromium.org/392005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31823 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui/new_tab_ui.cc')
-rw-r--r--chrome/browser/dom_ui/new_tab_ui.cc40
1 files changed, 19 insertions, 21 deletions
diff --git a/chrome/browser/dom_ui/new_tab_ui.cc b/chrome/browser/dom_ui/new_tab_ui.cc
index 2b4174b..8956c47 100644
--- a/chrome/browser/dom_ui/new_tab_ui.cc
+++ b/chrome/browser/dom_ui/new_tab_ui.cc
@@ -477,43 +477,41 @@ void MetricsHandler::HandleLogEventTime(const Value* content) {
}
///////////////////////////////////////////////////////////////////////////////
-// NewTabPageSetHomepageHandler
+// NewTabPageSetHomePageHandler
-// Sets the new tab page as homepage when user clicks on "make this my homepage"
-// link.
-class NewTabPageSetHomepageHandler : public DOMMessageHandler {
+// Sets the new tab page as home page when user clicks on "make this my home
+// page" link.
+class NewTabPageSetHomePageHandler : public DOMMessageHandler {
public:
- NewTabPageSetHomepageHandler() {}
- virtual ~NewTabPageSetHomepageHandler() {}
+ NewTabPageSetHomePageHandler() {}
+ virtual ~NewTabPageSetHomePageHandler() {}
// DOMMessageHandler implementation.
virtual void RegisterMessages();
- // Callback for "SetHomepageLinkClicked".
- void HandleSetHomepageLinkClicked(const Value* value);
+ // Callback for "setHomePage".
+ void HandleSetHomePage(const Value* value);
private:
- DISALLOW_COPY_AND_ASSIGN(NewTabPageSetHomepageHandler);
+ DISALLOW_COPY_AND_ASSIGN(NewTabPageSetHomePageHandler);
};
-void NewTabPageSetHomepageHandler::RegisterMessages() {
- dom_ui_->RegisterMessageCallback("SetHomepageLinkClicked", NewCallback(
- this, &NewTabPageSetHomepageHandler::HandleSetHomepageLinkClicked));
+void NewTabPageSetHomePageHandler::RegisterMessages() {
+ dom_ui_->RegisterMessageCallback("setHomePage", NewCallback(
+ this, &NewTabPageSetHomePageHandler::HandleSetHomePage));
}
-void NewTabPageSetHomepageHandler::HandleSetHomepageLinkClicked(
+void NewTabPageSetHomePageHandler::HandleSetHomePage(
const Value* value) {
dom_ui_->GetProfile()->GetPrefs()->SetBoolean(prefs::kHomePageIsNewTabPage,
true);
- // TODO(rahulk): Show some kind of notification that new tab page has been
- // set as homepage. This tip only shows up for a brief moment and disappears
- // when new tab page gets refreshed.
ListValue list_value;
- DictionaryValue* tip_dict = new DictionaryValue();
- tip_dict->SetString(L"tip_html_text", L"Welcome to your home page!");
- list_value.Append(tip_dict);
- dom_ui_->CallJavascriptFunction(L"tips", list_value);
+ list_value.Append(new StringValue(
+ l10n_util::GetString(IDS_NEW_TAB_HOME_PAGE_SET_NOTIFICATION)));
+ list_value.Append(new StringValue(
+ l10n_util::GetString(IDS_NEW_TAB_HOME_PAGE_HIDE_NOTIFICATION)));
+ dom_ui_->CallJavascriptFunction(L"onHomePageSet", list_value);
}
} // namespace
@@ -570,7 +568,7 @@ NewTabUI::NewTabUI(TabContents* contents)
AddMessageHandler((new NewTabPageSyncHandler())->Attach(this));
}
- AddMessageHandler((new NewTabPageSetHomepageHandler())->Attach(this));
+ AddMessageHandler((new NewTabPageSetHomePageHandler())->Attach(this));
NewTabHTMLSource* html_source = new NewTabHTMLSource(GetProfile());
bool posted = ChromeThread::PostTask(