| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 base::Bind(&chromeos::version_loader::GetARCVersion), | 481 base::Bind(&chromeos::version_loader::GetARCVersion), |
| 482 base::Bind(&HelpHandler::OnARCVersion, | 482 base::Bind(&HelpHandler::OnARCVersion, |
| 483 weak_factory_.GetWeakPtr())); | 483 weak_factory_.GetWeakPtr())); |
| 484 base::PostTaskAndReplyWithResult( | 484 base::PostTaskAndReplyWithResult( |
| 485 content::BrowserThread::GetBlockingPool(), | 485 content::BrowserThread::GetBlockingPool(), |
| 486 FROM_HERE, | 486 FROM_HERE, |
| 487 base::Bind(&chromeos::version_loader::GetFirmware), | 487 base::Bind(&chromeos::version_loader::GetFirmware), |
| 488 base::Bind(&HelpHandler::OnOSFirmware, | 488 base::Bind(&HelpHandler::OnOSFirmware, |
| 489 weak_factory_.GetWeakPtr())); | 489 weak_factory_.GetWeakPtr())); |
| 490 | 490 |
| 491 web_ui()->CallJavascriptFunction( | 491 web_ui()->CallJavascriptFunctionUnsafe( |
| 492 "help.HelpPage.updateEnableReleaseChannel", | 492 "help.HelpPage.updateEnableReleaseChannel", |
| 493 base::FundamentalValue(CanChangeChannel(Profile::FromWebUI(web_ui())))); | 493 base::FundamentalValue(CanChangeChannel(Profile::FromWebUI(web_ui())))); |
| 494 | 494 |
| 495 base::Time build_time = base::SysInfo::GetLsbReleaseTime(); | 495 base::Time build_time = base::SysInfo::GetLsbReleaseTime(); |
| 496 base::string16 build_date = base::TimeFormatFriendlyDate(build_time); | 496 base::string16 build_date = base::TimeFormatFriendlyDate(build_time); |
| 497 web_ui()->CallJavascriptFunction("help.HelpPage.setBuildDate", | 497 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setBuildDate", |
| 498 base::StringValue(build_date)); | 498 base::StringValue(build_date)); |
| 499 #endif // defined(OS_CHROMEOS) | 499 #endif // defined(OS_CHROMEOS) |
| 500 | 500 |
| 501 RefreshUpdateStatus(); | 501 RefreshUpdateStatus(); |
| 502 | 502 |
| 503 web_ui()->CallJavascriptFunction( | 503 web_ui()->CallJavascriptFunctionUnsafe( |
| 504 "help.HelpPage.setObsoleteSystem", | 504 "help.HelpPage.setObsoleteSystem", |
| 505 base::FundamentalValue(ObsoleteSystem::IsObsoleteNowOrSoon())); | 505 base::FundamentalValue(ObsoleteSystem::IsObsoleteNowOrSoon())); |
| 506 web_ui()->CallJavascriptFunction( | 506 web_ui()->CallJavascriptFunctionUnsafe( |
| 507 "help.HelpPage.setObsoleteSystemEndOfTheLine", | 507 "help.HelpPage.setObsoleteSystemEndOfTheLine", |
| 508 base::FundamentalValue(ObsoleteSystem::IsObsoleteNowOrSoon() && | 508 base::FundamentalValue(ObsoleteSystem::IsObsoleteNowOrSoon() && |
| 509 ObsoleteSystem::IsEndOfTheLine())); | 509 ObsoleteSystem::IsEndOfTheLine())); |
| 510 | 510 |
| 511 #if defined(OS_CHROMEOS) | 511 #if defined(OS_CHROMEOS) |
| 512 web_ui()->CallJavascriptFunction( | 512 web_ui()->CallJavascriptFunctionUnsafe( |
| 513 "help.HelpPage.updateIsEnterpriseManaged", | 513 "help.HelpPage.updateIsEnterpriseManaged", |
| 514 base::FundamentalValue(IsEnterpriseManaged())); | 514 base::FundamentalValue(IsEnterpriseManaged())); |
| 515 // First argument to GetChannel() is a flag that indicates whether | 515 // First argument to GetChannel() is a flag that indicates whether |
| 516 // current channel should be returned (if true) or target channel | 516 // current channel should be returned (if true) or target channel |
| 517 // (otherwise). | 517 // (otherwise). |
| 518 version_updater_->GetChannel(true, | 518 version_updater_->GetChannel(true, |
| 519 base::Bind(&HelpHandler::OnCurrentChannel, weak_factory_.GetWeakPtr())); | 519 base::Bind(&HelpHandler::OnCurrentChannel, weak_factory_.GetWeakPtr())); |
| 520 version_updater_->GetChannel(false, | 520 version_updater_->GetChannel(false, |
| 521 base::Bind(&HelpHandler::OnTargetChannel, weak_factory_.GetWeakPtr())); | 521 base::Bind(&HelpHandler::OnTargetChannel, weak_factory_.GetWeakPtr())); |
| 522 | 522 |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 status_str = "failed"; | 635 status_str = "failed"; |
| 636 break; | 636 break; |
| 637 case VersionUpdater::DISABLED: | 637 case VersionUpdater::DISABLED: |
| 638 status_str = "disabled"; | 638 status_str = "disabled"; |
| 639 break; | 639 break; |
| 640 case VersionUpdater::DISABLED_BY_ADMIN: | 640 case VersionUpdater::DISABLED_BY_ADMIN: |
| 641 status_str = "disabled_by_admin"; | 641 status_str = "disabled_by_admin"; |
| 642 break; | 642 break; |
| 643 } | 643 } |
| 644 | 644 |
| 645 web_ui()->CallJavascriptFunction("help.HelpPage.setUpdateStatus", | 645 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setUpdateStatus", |
| 646 base::StringValue(status_str), | 646 base::StringValue(status_str), |
| 647 base::StringValue(message)); | 647 base::StringValue(message)); |
| 648 | 648 |
| 649 if (status == VersionUpdater::UPDATING) { | 649 if (status == VersionUpdater::UPDATING) { |
| 650 web_ui()->CallJavascriptFunction("help.HelpPage.setProgress", | 650 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setProgress", |
| 651 base::FundamentalValue(progress)); | 651 base::FundamentalValue(progress)); |
| 652 } | 652 } |
| 653 | 653 |
| 654 #if defined(OS_CHROMEOS) | 654 #if defined(OS_CHROMEOS) |
| 655 if (status == VersionUpdater::FAILED_OFFLINE || | 655 if (status == VersionUpdater::FAILED_OFFLINE || |
| 656 status == VersionUpdater::FAILED_CONNECTION_TYPE_DISALLOWED) { | 656 status == VersionUpdater::FAILED_CONNECTION_TYPE_DISALLOWED) { |
| 657 base::string16 types_msg = GetAllowedConnectionTypesMessage(); | 657 base::string16 types_msg = GetAllowedConnectionTypesMessage(); |
| 658 if (!types_msg.empty()) { | 658 if (!types_msg.empty()) { |
| 659 web_ui()->CallJavascriptFunction( | 659 web_ui()->CallJavascriptFunctionUnsafe( |
| 660 "help.HelpPage.setAndShowAllowedConnectionTypesMsg", | 660 "help.HelpPage.setAndShowAllowedConnectionTypesMsg", |
| 661 base::StringValue(types_msg)); | 661 base::StringValue(types_msg)); |
| 662 } else { | 662 } else { |
| 663 web_ui()->CallJavascriptFunction( | 663 web_ui()->CallJavascriptFunctionUnsafe( |
| 664 "help.HelpPage.showAllowedConnectionTypesMsg", | 664 "help.HelpPage.showAllowedConnectionTypesMsg", |
| 665 base::FundamentalValue(false)); | 665 base::FundamentalValue(false)); |
| 666 } | 666 } |
| 667 } else { | 667 } else { |
| 668 web_ui()->CallJavascriptFunction( | 668 web_ui()->CallJavascriptFunctionUnsafe( |
| 669 "help.HelpPage.showAllowedConnectionTypesMsg", | 669 "help.HelpPage.showAllowedConnectionTypesMsg", |
| 670 base::FundamentalValue(false)); | 670 base::FundamentalValue(false)); |
| 671 } | 671 } |
| 672 #endif // defined(OS_CHROMEOS) | 672 #endif // defined(OS_CHROMEOS) |
| 673 } | 673 } |
| 674 | 674 |
| 675 #if defined(OS_MACOSX) | 675 #if defined(OS_MACOSX) |
| 676 void HelpHandler::SetPromotionState(VersionUpdater::PromotionState state) { | 676 void HelpHandler::SetPromotionState(VersionUpdater::PromotionState state) { |
| 677 std::string state_str; | 677 std::string state_str; |
| 678 switch (state) { | 678 switch (state) { |
| 679 case VersionUpdater::PROMOTE_HIDDEN: | 679 case VersionUpdater::PROMOTE_HIDDEN: |
| 680 state_str = "hidden"; | 680 state_str = "hidden"; |
| 681 break; | 681 break; |
| 682 case VersionUpdater::PROMOTE_ENABLED: | 682 case VersionUpdater::PROMOTE_ENABLED: |
| 683 state_str = "enabled"; | 683 state_str = "enabled"; |
| 684 break; | 684 break; |
| 685 case VersionUpdater::PROMOTE_DISABLED: | 685 case VersionUpdater::PROMOTE_DISABLED: |
| 686 state_str = "disabled"; | 686 state_str = "disabled"; |
| 687 break; | 687 break; |
| 688 } | 688 } |
| 689 | 689 |
| 690 web_ui()->CallJavascriptFunction("help.HelpPage.setPromotionState", | 690 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setPromotionState", |
| 691 base::StringValue(state_str)); | 691 base::StringValue(state_str)); |
| 692 } | 692 } |
| 693 #endif // defined(OS_MACOSX) | 693 #endif // defined(OS_MACOSX) |
| 694 | 694 |
| 695 #if defined(OS_CHROMEOS) | 695 #if defined(OS_CHROMEOS) |
| 696 void HelpHandler::OnOSVersion(const std::string& version) { | 696 void HelpHandler::OnOSVersion(const std::string& version) { |
| 697 web_ui()->CallJavascriptFunction("help.HelpPage.setOSVersion", | 697 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setOSVersion", |
| 698 base::StringValue(version)); | 698 base::StringValue(version)); |
| 699 } | 699 } |
| 700 | 700 |
| 701 void HelpHandler::OnARCVersion(const std::string& firmware) { | 701 void HelpHandler::OnARCVersion(const std::string& firmware) { |
| 702 web_ui()->CallJavascriptFunction("help.HelpPage.setARCVersion", | 702 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setARCVersion", |
| 703 base::StringValue(firmware)); | 703 base::StringValue(firmware)); |
| 704 } | 704 } |
| 705 | 705 |
| 706 void HelpHandler::OnOSFirmware(const std::string& firmware) { | 706 void HelpHandler::OnOSFirmware(const std::string& firmware) { |
| 707 web_ui()->CallJavascriptFunction("help.HelpPage.setOSFirmware", | 707 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setOSFirmware", |
| 708 base::StringValue(firmware)); | 708 base::StringValue(firmware)); |
| 709 } | 709 } |
| 710 | 710 |
| 711 void HelpHandler::OnCurrentChannel(const std::string& channel) { | 711 void HelpHandler::OnCurrentChannel(const std::string& channel) { |
| 712 web_ui()->CallJavascriptFunction( | 712 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.updateCurrentChannel", |
| 713 "help.HelpPage.updateCurrentChannel", base::StringValue(channel)); | 713 base::StringValue(channel)); |
| 714 } | 714 } |
| 715 | 715 |
| 716 void HelpHandler::OnTargetChannel(const std::string& channel) { | 716 void HelpHandler::OnTargetChannel(const std::string& channel) { |
| 717 web_ui()->CallJavascriptFunction( | 717 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.updateTargetChannel", |
| 718 "help.HelpPage.updateTargetChannel", base::StringValue(channel)); | 718 base::StringValue(channel)); |
| 719 } | 719 } |
| 720 | 720 |
| 721 void HelpHandler::OnRegulatoryLabelDirFound(const base::FilePath& path) { | 721 void HelpHandler::OnRegulatoryLabelDirFound(const base::FilePath& path) { |
| 722 if (path.empty()) | 722 if (path.empty()) |
| 723 return; | 723 return; |
| 724 | 724 |
| 725 base::PostTaskAndReplyWithResult( | 725 base::PostTaskAndReplyWithResult( |
| 726 content::BrowserThread::GetBlockingPool(), FROM_HERE, | 726 content::BrowserThread::GetBlockingPool(), FROM_HERE, |
| 727 base::Bind(&ReadRegulatoryLabelText, path), | 727 base::Bind(&ReadRegulatoryLabelText, path), |
| 728 base::Bind(&HelpHandler::OnRegulatoryLabelTextRead, | 728 base::Bind(&HelpHandler::OnRegulatoryLabelTextRead, |
| 729 weak_factory_.GetWeakPtr())); | 729 weak_factory_.GetWeakPtr())); |
| 730 | 730 |
| 731 // Send the image path to the WebUI. | 731 // Send the image path to the WebUI. |
| 732 OnRegulatoryLabelImageFound(path.AppendASCII(kRegulatoryLabelImageFilename)); | 732 OnRegulatoryLabelImageFound(path.AppendASCII(kRegulatoryLabelImageFilename)); |
| 733 } | 733 } |
| 734 | 734 |
| 735 void HelpHandler::OnRegulatoryLabelImageFound(const base::FilePath& path) { | 735 void HelpHandler::OnRegulatoryLabelImageFound(const base::FilePath& path) { |
| 736 std::string url = std::string("chrome://") + chrome::kChromeOSAssetHost + | 736 std::string url = std::string("chrome://") + chrome::kChromeOSAssetHost + |
| 737 "/" + path.MaybeAsASCII(); | 737 "/" + path.MaybeAsASCII(); |
| 738 web_ui()->CallJavascriptFunction("help.HelpPage.setRegulatoryLabelPath", | 738 web_ui()->CallJavascriptFunctionUnsafe("help.HelpPage.setRegulatoryLabelPath", |
| 739 base::StringValue(url)); | 739 base::StringValue(url)); |
| 740 } | 740 } |
| 741 | 741 |
| 742 void HelpHandler::OnRegulatoryLabelTextRead(const std::string& text) { | 742 void HelpHandler::OnRegulatoryLabelTextRead(const std::string& text) { |
| 743 // Remove unnecessary whitespace. | 743 // Remove unnecessary whitespace. |
| 744 web_ui()->CallJavascriptFunction( | 744 web_ui()->CallJavascriptFunctionUnsafe( |
| 745 "help.HelpPage.setRegulatoryLabelText", | 745 "help.HelpPage.setRegulatoryLabelText", |
| 746 base::StringValue(base::CollapseWhitespaceASCII(text, true))); | 746 base::StringValue(base::CollapseWhitespaceASCII(text, true))); |
| 747 } | 747 } |
| 748 | 748 |
| 749 #endif // defined(OS_CHROMEOS) | 749 #endif // defined(OS_CHROMEOS) |
| OLD | NEW |