OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/help/help_handler.h" | 5 #include "chrome/browser/ui/webui/help/help_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 { "aboutTitle", IDS_ABOUT_CHROME_TITLE }, | 109 { "aboutTitle", IDS_ABOUT_CHROME_TITLE }, |
110 { "aboutProductTitle", IDS_PRODUCT_NAME }, | 110 { "aboutProductTitle", IDS_PRODUCT_NAME }, |
111 { "aboutProductDescription", IDS_ABOUT_PRODUCT_DESCRIPTION }, | 111 { "aboutProductDescription", IDS_ABOUT_PRODUCT_DESCRIPTION }, |
112 { "relaunch", IDS_RELAUNCH_BUTTON }, | 112 { "relaunch", IDS_RELAUNCH_BUTTON }, |
113 { "productName", IDS_PRODUCT_NAME }, | 113 { "productName", IDS_PRODUCT_NAME }, |
114 { "productCopyright", IDS_ABOUT_VERSION_COPYRIGHT }, | 114 { "productCopyright", IDS_ABOUT_VERSION_COPYRIGHT }, |
115 { "updateCheckStarted", IDS_UPGRADE_CHECK_STARTED }, | 115 { "updateCheckStarted", IDS_UPGRADE_CHECK_STARTED }, |
116 { "upToDate", IDS_UPGRADE_UP_TO_DATE }, | 116 { "upToDate", IDS_UPGRADE_UP_TO_DATE }, |
117 { "updating", IDS_UPGRADE_UPDATING }, | 117 { "updating", IDS_UPGRADE_UPDATING }, |
118 { "updateAlmostDone", IDS_UPGRADE_SUCCESSFUL_RELAUNCH }, | 118 { "updateAlmostDone", IDS_UPGRADE_SUCCESSFUL_RELAUNCH }, |
119 #if defined(OFFICIAL_BUILD) | |
120 { "getHelpWithChrome", IDS_GET_HELP_USING_CHROME }, | 119 { "getHelpWithChrome", IDS_GET_HELP_USING_CHROME }, |
121 { "reportAnIssue", IDS_REPORT_AN_ISSUE }, | 120 { "reportAnIssue", IDS_REPORT_AN_ISSUE }, |
122 #endif | |
123 #if defined(OS_CHROMEOS) | 121 #if defined(OS_CHROMEOS) |
124 { "platform", IDS_PLATFORM_LABEL }, | 122 { "platform", IDS_PLATFORM_LABEL }, |
125 { "firmware", IDS_ABOUT_PAGE_FIRMWARE }, | 123 { "firmware", IDS_ABOUT_PAGE_FIRMWARE }, |
126 // TODO(jhawkins): more_info_handler.cc. | 124 // TODO(jhawkins): more_info_handler.cc. |
127 { "moreInfoTitle", IDS_PRODUCT_OS_NAME }, | 125 { "moreInfoTitle", IDS_PRODUCT_OS_NAME }, |
128 { "moreInfoLink", IDS_MORE_INFO }, | 126 { "moreInfoLink", IDS_MORE_INFO }, |
129 { "channel", IDS_ABOUT_PAGE_CHANNEL }, | 127 { "channel", IDS_ABOUT_PAGE_CHANNEL }, |
130 { "stable", IDS_ABOUT_PAGE_CHANNEL_STABLE }, | 128 { "stable", IDS_ABOUT_PAGE_CHANNEL_STABLE }, |
131 { "beta", IDS_ABOUT_PAGE_CHANNEL_BETA }, | 129 { "beta", IDS_ABOUT_PAGE_CHANNEL_BETA }, |
132 { "dev", IDS_ABOUT_PAGE_CHANNEL_DEVELOPMENT }, | 130 { "dev", IDS_ABOUT_PAGE_CHANNEL_DEVELOPMENT }, |
(...skipping 21 matching lines...) Expand all Loading... |
154 localized_strings->SetString("productLicense", license); | 152 localized_strings->SetString("productLicense", license); |
155 | 153 |
156 string16 tos = l10n_util::GetStringFUTF16( | 154 string16 tos = l10n_util::GetStringFUTF16( |
157 IDS_ABOUT_TERMS_OF_SERVICE, UTF8ToUTF16(chrome::kChromeUITermsURL)); | 155 IDS_ABOUT_TERMS_OF_SERVICE, UTF8ToUTF16(chrome::kChromeUITermsURL)); |
158 localized_strings->SetString("productTOS", tos); | 156 localized_strings->SetString("productTOS", tos); |
159 } | 157 } |
160 | 158 |
161 void HelpHandler::RegisterMessages() { | 159 void HelpHandler::RegisterMessages() { |
162 web_ui()->RegisterMessageCallback("onPageLoaded", | 160 web_ui()->RegisterMessageCallback("onPageLoaded", |
163 base::Bind(&HelpHandler::OnPageLoaded, base::Unretained(this))); | 161 base::Bind(&HelpHandler::OnPageLoaded, base::Unretained(this))); |
| 162 web_ui()->RegisterMessageCallback("relaunchNow", |
| 163 base::Bind(&HelpHandler::RelaunchNow, base::Unretained(this))); |
| 164 web_ui()->RegisterMessageCallback("openFeedbackDialog", |
| 165 base::Bind(&HelpHandler::OpenFeedbackDialog, base::Unretained(this))); |
| 166 web_ui()->RegisterMessageCallback("openHelpPage", |
| 167 base::Bind(&HelpHandler::OpenHelpPage, base::Unretained(this))); |
| 168 #if defined(OS_CHROMEOS) |
| 169 web_ui()->RegisterMessageCallback("setReleaseTrack", |
| 170 base::Bind(&HelpHandler::SetReleaseTrack, base::Unretained(this))); |
| 171 #endif |
164 #if defined(OS_MACOSX) | 172 #if defined(OS_MACOSX) |
165 web_ui()->RegisterMessageCallback("promoteUpdater", | 173 web_ui()->RegisterMessageCallback("promoteUpdater", |
166 base::Bind(&HelpHandler::PromoteUpdater, base::Unretained(this))); | 174 base::Bind(&HelpHandler::PromoteUpdater, base::Unretained(this))); |
167 #endif | 175 #endif |
168 web_ui()->RegisterMessageCallback("relaunchNow", | |
169 base::Bind(&HelpHandler::RelaunchNow, base::Unretained(this))); | |
170 web_ui()->RegisterMessageCallback("openFeedbackDialog", | |
171 base::Bind(&HelpHandler::OpenFeedbackDialog, base::Unretained(this))); | |
172 #if defined(OS_CHROMEOS) | |
173 web_ui()->RegisterMessageCallback("setReleaseTrack", | |
174 base::Bind(&HelpHandler::SetReleaseTrack, base::Unretained(this))); | |
175 #endif | |
176 } | 176 } |
177 | 177 |
178 void HelpHandler::OnPageLoaded(const ListValue* args) { | 178 void HelpHandler::OnPageLoaded(const ListValue* args) { |
179 #if defined(OS_CHROMEOS) | 179 #if defined(OS_CHROMEOS) |
180 // Version information is loaded from a callback | 180 // Version information is loaded from a callback |
181 loader_.GetVersion(&consumer_, base::Bind(&HelpHandler::OnOSVersion, | 181 loader_.GetVersion(&consumer_, base::Bind(&HelpHandler::OnOSVersion, |
182 base::Unretained(this)), | 182 base::Unretained(this)), |
183 chromeos::VersionLoader::VERSION_FULL); | 183 chromeos::VersionLoader::VERSION_FULL); |
184 loader_.GetFirmware(&consumer_, base::Bind(&HelpHandler::OnOSFirmware, | 184 loader_.GetFirmware(&consumer_, base::Bind(&HelpHandler::OnOSFirmware, |
185 base::Unretained(this))); | 185 base::Unretained(this))); |
(...skipping 17 matching lines...) Expand all Loading... |
203 #endif | 203 #endif |
204 } | 204 } |
205 | 205 |
206 #if defined(OS_MACOSX) | 206 #if defined(OS_MACOSX) |
207 void HelpHandler::PromoteUpdater(const ListValue* args) { | 207 void HelpHandler::PromoteUpdater(const ListValue* args) { |
208 version_updater_->PromoteUpdater(); | 208 version_updater_->PromoteUpdater(); |
209 } | 209 } |
210 #endif | 210 #endif |
211 | 211 |
212 void HelpHandler::RelaunchNow(const ListValue* args) { | 212 void HelpHandler::RelaunchNow(const ListValue* args) { |
213 CHECK(args->empty()); | 213 DCHECK(args->empty()); |
214 version_updater_->RelaunchBrowser(); | 214 version_updater_->RelaunchBrowser(); |
215 } | 215 } |
216 | 216 |
217 void HelpHandler::OpenFeedbackDialog(const ListValue* args) { | 217 void HelpHandler::OpenFeedbackDialog(const ListValue* args) { |
218 CHECK(args->empty()); | 218 DCHECK(args->empty()); |
219 Browser* browser = BrowserList::FindBrowserWithWebContents( | 219 Browser* browser = BrowserList::FindBrowserWithWebContents( |
220 web_ui()->GetWebContents()); | 220 web_ui()->GetWebContents()); |
221 browser->OpenFeedbackDialog(); | 221 browser->OpenFeedbackDialog(); |
222 } | 222 } |
223 | 223 |
| 224 void HelpHandler::OpenHelpPage(const base::ListValue* args) { |
| 225 DCHECK(args->empty()); |
| 226 Browser* browser = BrowserList::FindBrowserWithWebContents( |
| 227 web_ui()->GetWebContents()); |
| 228 browser->ShowHelpTab(); |
| 229 } |
| 230 |
224 #if defined(OS_CHROMEOS) | 231 #if defined(OS_CHROMEOS) |
225 | 232 |
226 void HelpHandler::SetReleaseTrack(const ListValue* args) { | 233 void HelpHandler::SetReleaseTrack(const ListValue* args) { |
227 if (!CanChangeReleaseChannel()) { | 234 if (!CanChangeReleaseChannel()) { |
228 LOG(WARNING) << "Non-owner tried to change release track."; | 235 LOG(WARNING) << "Non-owner tried to change release track."; |
229 return; | 236 return; |
230 } | 237 } |
231 | 238 |
232 const std::string channel = UTF16ToUTF8(ExtractStringValue(args)); | 239 const std::string channel = UTF16ToUTF8(ExtractStringValue(args)); |
233 Profile* profile = Profile::FromWebUI(web_ui()); | 240 Profile* profile = Profile::FromWebUI(web_ui()); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 web_ui()->CallJavascriptFunction("help.HelpPage.setOSFirmware", | 318 web_ui()->CallJavascriptFunction("help.HelpPage.setOSFirmware", |
312 *firmware_string); | 319 *firmware_string); |
313 } | 320 } |
314 | 321 |
315 void HelpHandler::OnReleaseChannel(const std::string& channel) { | 322 void HelpHandler::OnReleaseChannel(const std::string& channel) { |
316 scoped_ptr<Value> channel_string(Value::CreateStringValue(channel)); | 323 scoped_ptr<Value> channel_string(Value::CreateStringValue(channel)); |
317 web_ui()->CallJavascriptFunction( | 324 web_ui()->CallJavascriptFunction( |
318 "help.HelpPage.updateSelectedChannel", *channel_string); | 325 "help.HelpPage.updateSelectedChannel", *channel_string); |
319 } | 326 } |
320 #endif // defined(OS_CHROMEOS) | 327 #endif // defined(OS_CHROMEOS) |
OLD | NEW |