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

Side by Side Diff: chrome/browser/ui/webui/help/help_handler.cc

Issue 476983002: About page should not automatically trigger OS updates (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months 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
OLDNEW
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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 #if defined(OS_CHROMEOS) 42 #if defined(OS_CHROMEOS)
43 #include "base/files/file_util_proxy.h" 43 #include "base/files/file_util_proxy.h"
44 #include "base/i18n/time_formatting.h" 44 #include "base/i18n/time_formatting.h"
45 #include "base/prefs/pref_service.h" 45 #include "base/prefs/pref_service.h"
46 #include "base/sys_info.h" 46 #include "base/sys_info.h"
47 #include "chrome/browser/chromeos/login/users/user_manager.h" 47 #include "chrome/browser/chromeos/login/users/user_manager.h"
48 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 48 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
49 #include "chrome/browser/chromeos/settings/cros_settings.h" 49 #include "chrome/browser/chromeos/settings/cros_settings.h"
50 #include "chrome/browser/profiles/profile.h" 50 #include "chrome/browser/profiles/profile.h"
51 #include "chrome/browser/ui/webui/help/help_utils_chromeos.h" 51 #include "chrome/browser/ui/webui/help/help_utils_chromeos.h"
52 #include "chrome/browser/ui/webui/help/version_updater_chromeos.h"
52 #include "chromeos/chromeos_switches.h" 53 #include "chromeos/chromeos_switches.h"
53 #include "chromeos/dbus/dbus_thread_manager.h" 54 #include "chromeos/dbus/dbus_thread_manager.h"
54 #include "chromeos/dbus/power_manager_client.h" 55 #include "chromeos/dbus/power_manager_client.h"
55 #endif 56 #endif
56 57
57 using base::ListValue; 58 using base::ListValue;
58 using content::BrowserThread; 59 using content::BrowserThread;
59 60
60 namespace { 61 namespace {
61 62
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 { "aboutProductDescription", IDS_ABOUT_PRODUCT_DESCRIPTION }, 136 { "aboutProductDescription", IDS_ABOUT_PRODUCT_DESCRIPTION },
136 { "relaunch", IDS_RELAUNCH_BUTTON }, 137 { "relaunch", IDS_RELAUNCH_BUTTON },
137 #if defined(OS_CHROMEOS) 138 #if defined(OS_CHROMEOS)
138 { "relaunchAndPowerwash", IDS_RELAUNCH_AND_POWERWASH_BUTTON }, 139 { "relaunchAndPowerwash", IDS_RELAUNCH_AND_POWERWASH_BUTTON },
139 #endif 140 #endif
140 { "productName", IDS_PRODUCT_NAME }, 141 { "productName", IDS_PRODUCT_NAME },
141 { "updateCheckStarted", IDS_UPGRADE_CHECK_STARTED }, 142 { "updateCheckStarted", IDS_UPGRADE_CHECK_STARTED },
142 { "upToDate", IDS_UPGRADE_UP_TO_DATE }, 143 { "upToDate", IDS_UPGRADE_UP_TO_DATE },
143 { "updating", IDS_UPGRADE_UPDATING }, 144 { "updating", IDS_UPGRADE_UPDATING },
144 #if defined(OS_CHROMEOS) 145 #if defined(OS_CHROMEOS)
146 { "updateButton", IDS_UPGRADE_BUTTON },
145 { "updatingChannelSwitch", IDS_UPGRADE_UPDATING_CHANNEL_SWITCH }, 147 { "updatingChannelSwitch", IDS_UPGRADE_UPDATING_CHANNEL_SWITCH },
146 #endif 148 #endif
147 { "updateAlmostDone", IDS_UPGRADE_SUCCESSFUL_RELAUNCH }, 149 { "updateAlmostDone", IDS_UPGRADE_SUCCESSFUL_RELAUNCH },
148 #if defined(OS_CHROMEOS) 150 #if defined(OS_CHROMEOS)
149 { "successfulChannelSwitch", IDS_UPGRADE_SUCCESSFUL_CHANNEL_SWITCH }, 151 { "successfulChannelSwitch", IDS_UPGRADE_SUCCESSFUL_CHANNEL_SWITCH },
150 #endif 152 #endif
151 { "getHelpWithChrome", IDS_GET_HELP_USING_CHROME }, 153 { "getHelpWithChrome", IDS_GET_HELP_USING_CHROME },
152 { "reportAnIssue", IDS_REPORT_AN_ISSUE }, 154 { "reportAnIssue", IDS_REPORT_AN_ISSUE },
153 #if defined(OS_CHROMEOS) 155 #if defined(OS_CHROMEOS)
154 { "platform", IDS_PLATFORM_LABEL }, 156 { "platform", IDS_PLATFORM_LABEL },
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 base::Bind(&HelpHandler::RelaunchNow, base::Unretained(this))); 277 base::Bind(&HelpHandler::RelaunchNow, base::Unretained(this)));
276 web_ui()->RegisterMessageCallback("openFeedbackDialog", 278 web_ui()->RegisterMessageCallback("openFeedbackDialog",
277 base::Bind(&HelpHandler::OpenFeedbackDialog, base::Unretained(this))); 279 base::Bind(&HelpHandler::OpenFeedbackDialog, base::Unretained(this)));
278 web_ui()->RegisterMessageCallback("openHelpPage", 280 web_ui()->RegisterMessageCallback("openHelpPage",
279 base::Bind(&HelpHandler::OpenHelpPage, base::Unretained(this))); 281 base::Bind(&HelpHandler::OpenHelpPage, base::Unretained(this)));
280 #if defined(OS_CHROMEOS) 282 #if defined(OS_CHROMEOS)
281 web_ui()->RegisterMessageCallback("setChannel", 283 web_ui()->RegisterMessageCallback("setChannel",
282 base::Bind(&HelpHandler::SetChannel, base::Unretained(this))); 284 base::Bind(&HelpHandler::SetChannel, base::Unretained(this)));
283 web_ui()->RegisterMessageCallback("relaunchAndPowerwash", 285 web_ui()->RegisterMessageCallback("relaunchAndPowerwash",
284 base::Bind(&HelpHandler::RelaunchAndPowerwash, base::Unretained(this))); 286 base::Bind(&HelpHandler::RelaunchAndPowerwash, base::Unretained(this)));
287 web_ui()->RegisterMessageCallback("requestUpdate",
288 base::Bind(&HelpHandler::RequestUpdate, base::Unretained(this)));
285 #endif 289 #endif
286 #if defined(OS_MACOSX) 290 #if defined(OS_MACOSX)
287 web_ui()->RegisterMessageCallback("promoteUpdater", 291 web_ui()->RegisterMessageCallback("promoteUpdater",
288 base::Bind(&HelpHandler::PromoteUpdater, base::Unretained(this))); 292 base::Bind(&HelpHandler::PromoteUpdater, base::Unretained(this)));
289 #endif 293 #endif
290 } 294 }
291 295
292 void HelpHandler::Observe(int type, const content::NotificationSource& source, 296 void HelpHandler::Observe(int type, const content::NotificationSource& source,
293 const content::NotificationDetails& details) { 297 const content::NotificationDetails& details) {
294 switch (type) { 298 switch (type) {
295 case chrome::NOTIFICATION_UPGRADE_RECOMMENDED: { 299 case chrome::NOTIFICATION_UPGRADE_RECOMMENDED: {
296 // A version update is installed and ready to go. Refresh the UI so the 300 // A version update is installed and ready to go. Refresh the UI so the
297 // correct state will be shown. 301 // correct state will be shown.
298 version_updater_->CheckForUpdate( 302 RequestUpdate(NULL);
299 base::Bind(&HelpHandler::SetUpdateStatus, base::Unretained(this))
300 #if defined(OS_MACOSX)
301 , base::Bind(&HelpHandler::SetPromotionState, base::Unretained(this))
302 #endif
303 );
304 break; 303 break;
305 } 304 }
306 default: 305 default:
307 NOTREACHED(); 306 NOTREACHED();
308 } 307 }
309 } 308 }
310 309
311 // static 310 // static
312 base::string16 HelpHandler::BuildBrowserVersionString() { 311 base::string16 HelpHandler::BuildBrowserVersionString() {
313 chrome::VersionInfo version_info; 312 chrome::VersionInfo version_info;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 web_ui()->CallJavascriptFunction( 345 web_ui()->CallJavascriptFunction(
347 "help.HelpPage.updateEnableReleaseChannel", 346 "help.HelpPage.updateEnableReleaseChannel",
348 base::FundamentalValue(CanChangeChannel())); 347 base::FundamentalValue(CanChangeChannel()));
349 348
350 base::Time build_time = base::SysInfo::GetLsbReleaseTime(); 349 base::Time build_time = base::SysInfo::GetLsbReleaseTime();
351 base::string16 build_date = base::TimeFormatFriendlyDate(build_time); 350 base::string16 build_date = base::TimeFormatFriendlyDate(build_time);
352 web_ui()->CallJavascriptFunction("help.HelpPage.setBuildDate", 351 web_ui()->CallJavascriptFunction("help.HelpPage.setBuildDate",
353 base::StringValue(build_date)); 352 base::StringValue(build_date));
354 #endif // defined(OS_CHROMEOS) 353 #endif // defined(OS_CHROMEOS)
355 354
356 version_updater_->CheckForUpdate( 355 // On Chrome OS, do not check for an update automatically.
357 base::Bind(&HelpHandler::SetUpdateStatus, base::Unretained(this)) 356 #if defined(OS_CHROMEOS)
358 #if defined(OS_MACOSX) 357 static_cast<VersionUpdaterCros*>(version_updater_.get())->GetUpdateStatus(
359 , base::Bind(&HelpHandler::SetPromotionState, base::Unretained(this)) 358 base::Bind(&HelpHandler::SetUpdateStatus, base::Unretained(this)));
359 #else
360 RequestUpdate(NULL);
360 #endif 361 #endif
361 );
362 362
363 #if defined(OS_MACOSX) 363 #if defined(OS_MACOSX)
364 web_ui()->CallJavascriptFunction( 364 web_ui()->CallJavascriptFunction(
365 "help.HelpPage.setObsoleteSystem", 365 "help.HelpPage.setObsoleteSystem",
366 base::FundamentalValue(ObsoleteSystemMac::Is32BitObsoleteNowOrSoon() && 366 base::FundamentalValue(ObsoleteSystemMac::Is32BitObsoleteNowOrSoon() &&
367 ObsoleteSystemMac::Has32BitOnlyCPU())); 367 ObsoleteSystemMac::Has32BitOnlyCPU()));
368 web_ui()->CallJavascriptFunction( 368 web_ui()->CallJavascriptFunction(
369 "help.HelpPage.setObsoleteSystemEndOfTheLine", 369 "help.HelpPage.setObsoleteSystemEndOfTheLine",
370 base::FundamentalValue(ObsoleteSystemMac::Is32BitObsoleteNowOrSoon() && 370 base::FundamentalValue(ObsoleteSystemMac::Is32BitObsoleteNowOrSoon() &&
371 ObsoleteSystemMac::Is32BitEndOfTheLine())); 371 ObsoleteSystemMac::Is32BitEndOfTheLine()));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 prefs->SetBoolean(prefs::kFactoryResetRequested, true); 447 prefs->SetBoolean(prefs::kFactoryResetRequested, true);
448 prefs->CommitPendingWrite(); 448 prefs->CommitPendingWrite();
449 449
450 // Perform sign out. Current chrome process will then terminate, new one will 450 // Perform sign out. Current chrome process will then terminate, new one will
451 // be launched (as if it was a restart). 451 // be launched (as if it was a restart).
452 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); 452 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
453 } 453 }
454 454
455 #endif // defined(OS_CHROMEOS) 455 #endif // defined(OS_CHROMEOS)
456 456
457 void HelpHandler::RequestUpdate(const base::ListValue* args) {
458 version_updater_->CheckForUpdate(
459 base::Bind(&HelpHandler::SetUpdateStatus, base::Unretained(this))
460 #if defined(OS_MACOSX)
461 , base::Bind(&HelpHandler::SetPromotionState, base::Unretained(this))
462 #endif
463 );
464 }
465
457 void HelpHandler::SetUpdateStatus(VersionUpdater::Status status, 466 void HelpHandler::SetUpdateStatus(VersionUpdater::Status status,
458 int progress, const base::string16& message) { 467 int progress, const base::string16& message) {
459 // Only UPDATING state should have progress set. 468 // Only UPDATING state should have progress set.
460 DCHECK(status == VersionUpdater::UPDATING || progress == 0); 469 DCHECK(status == VersionUpdater::UPDATING || progress == 0);
461 470
462 std::string status_str; 471 std::string status_str;
463 switch (status) { 472 switch (status) {
464 case VersionUpdater::CHECKING: 473 case VersionUpdater::CHECKING:
465 status_str = "checking"; 474 status_str = "checking";
466 break; 475 break;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 web_ui()->CallJavascriptFunction( 557 web_ui()->CallJavascriptFunction(
549 "help.HelpPage.updateCurrentChannel", base::StringValue(channel)); 558 "help.HelpPage.updateCurrentChannel", base::StringValue(channel));
550 } 559 }
551 560
552 void HelpHandler::OnTargetChannel(const std::string& channel) { 561 void HelpHandler::OnTargetChannel(const std::string& channel) {
553 web_ui()->CallJavascriptFunction( 562 web_ui()->CallJavascriptFunction(
554 "help.HelpPage.updateTargetChannel", base::StringValue(channel)); 563 "help.HelpPage.updateTargetChannel", base::StringValue(channel));
555 } 564 }
556 565
557 #endif // defined(OS_CHROMEOS) 566 #endif // defined(OS_CHROMEOS)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698