OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/settings/about_handler.h" | 5 #include "chrome/browser/ui/webui/settings/about_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 FROM_HERE, base::TaskTraits().MayBlock().WithPriority( | 489 FROM_HERE, base::TaskTraits().MayBlock().WithPriority( |
490 base::TaskPriority::USER_VISIBLE), | 490 base::TaskPriority::USER_VISIBLE), |
491 base::Bind(&GetVersionInfo), | 491 base::Bind(&GetVersionInfo), |
492 base::Bind(&AboutHandler::OnGetVersionInfoReady, | 492 base::Bind(&AboutHandler::OnGetVersionInfoReady, |
493 weak_factory_.GetWeakPtr(), callback_id)); | 493 weak_factory_.GetWeakPtr(), callback_id)); |
494 } | 494 } |
495 | 495 |
496 void AboutHandler::OnGetVersionInfoReady( | 496 void AboutHandler::OnGetVersionInfoReady( |
497 std::string callback_id, | 497 std::string callback_id, |
498 std::unique_ptr<base::DictionaryValue> version_info) { | 498 std::unique_ptr<base::DictionaryValue> version_info) { |
499 ResolveJavascriptCallback(base::StringValue(callback_id), *version_info); | 499 ResolveJavascriptCallback(base::Value(callback_id), *version_info); |
500 } | 500 } |
501 | 501 |
502 void AboutHandler::HandleGetRegulatoryInfo(const base::ListValue* args) { | 502 void AboutHandler::HandleGetRegulatoryInfo(const base::ListValue* args) { |
503 CHECK_EQ(1U, args->GetSize()); | 503 CHECK_EQ(1U, args->GetSize()); |
504 std::string callback_id; | 504 std::string callback_id; |
505 CHECK(args->GetString(0, &callback_id)); | 505 CHECK(args->GetString(0, &callback_id)); |
506 | 506 |
507 base::PostTaskWithTraitsAndReplyWithResult( | 507 base::PostTaskWithTraitsAndReplyWithResult( |
508 FROM_HERE, base::TaskTraits().MayBlock().WithPriority( | 508 FROM_HERE, base::TaskTraits().MayBlock().WithPriority( |
509 base::TaskPriority::USER_VISIBLE), | 509 base::TaskPriority::USER_VISIBLE), |
(...skipping 23 matching lines...) Expand all Loading... |
533 void AboutHandler::OnGetTargetChannel(std::string callback_id, | 533 void AboutHandler::OnGetTargetChannel(std::string callback_id, |
534 const std::string& current_channel, | 534 const std::string& current_channel, |
535 const std::string& target_channel) { | 535 const std::string& target_channel) { |
536 std::unique_ptr<base::DictionaryValue> channel_info( | 536 std::unique_ptr<base::DictionaryValue> channel_info( |
537 new base::DictionaryValue); | 537 new base::DictionaryValue); |
538 channel_info->SetString("currentChannel", current_channel); | 538 channel_info->SetString("currentChannel", current_channel); |
539 channel_info->SetString("targetChannel", target_channel); | 539 channel_info->SetString("targetChannel", target_channel); |
540 channel_info->SetBoolean("canChangeChannel", | 540 channel_info->SetBoolean("canChangeChannel", |
541 CanChangeChannel(Profile::FromWebUI(web_ui()))); | 541 CanChangeChannel(Profile::FromWebUI(web_ui()))); |
542 | 542 |
543 ResolveJavascriptCallback(base::StringValue(callback_id), *channel_info); | 543 ResolveJavascriptCallback(base::Value(callback_id), *channel_info); |
544 } | 544 } |
545 | 545 |
546 void AboutHandler::HandleRequestUpdate(const base::ListValue* args) { | 546 void AboutHandler::HandleRequestUpdate(const base::ListValue* args) { |
547 RequestUpdate(); | 547 RequestUpdate(); |
548 } | 548 } |
549 | 549 |
550 #endif // defined(OS_CHROMEOS) | 550 #endif // defined(OS_CHROMEOS) |
551 | 551 |
552 void AboutHandler::RequestUpdate() { | 552 void AboutHandler::RequestUpdate() { |
553 version_updater_->CheckForUpdate( | 553 version_updater_->CheckForUpdate( |
(...skipping 23 matching lines...) Expand all Loading... |
577 if (!types_msg.empty()) | 577 if (!types_msg.empty()) |
578 event->SetString("connectionTypes", types_msg); | 578 event->SetString("connectionTypes", types_msg); |
579 else | 579 else |
580 event->Set("connectionTypes", base::Value::CreateNullValue()); | 580 event->Set("connectionTypes", base::Value::CreateNullValue()); |
581 } else { | 581 } else { |
582 event->Set("connectionTypes", base::Value::CreateNullValue()); | 582 event->Set("connectionTypes", base::Value::CreateNullValue()); |
583 } | 583 } |
584 #endif // defined(OS_CHROMEOS) | 584 #endif // defined(OS_CHROMEOS) |
585 | 585 |
586 CallJavascriptFunction("cr.webUIListenerCallback", | 586 CallJavascriptFunction("cr.webUIListenerCallback", |
587 base::StringValue("update-status-changed"), *event); | 587 base::Value("update-status-changed"), *event); |
588 } | 588 } |
589 | 589 |
590 #if defined(OS_MACOSX) | 590 #if defined(OS_MACOSX) |
591 void AboutHandler::SetPromotionState(VersionUpdater::PromotionState state) { | 591 void AboutHandler::SetPromotionState(VersionUpdater::PromotionState state) { |
592 // Worth noting: PROMOTE_DISABLED indicates that promotion is possible, | 592 // Worth noting: PROMOTE_DISABLED indicates that promotion is possible, |
593 // there's just something else going on right now (e.g. checking for update). | 593 // there's just something else going on right now (e.g. checking for update). |
594 bool hidden = state == VersionUpdater::PROMOTE_HIDDEN; | 594 bool hidden = state == VersionUpdater::PROMOTE_HIDDEN; |
595 bool disabled = state == VersionUpdater::PROMOTE_HIDDEN || | 595 bool disabled = state == VersionUpdater::PROMOTE_HIDDEN || |
596 state == VersionUpdater::PROMOTE_DISABLED || | 596 state == VersionUpdater::PROMOTE_DISABLED || |
597 state == VersionUpdater::PROMOTED; | 597 state == VersionUpdater::PROMOTED; |
598 bool actionable = state == VersionUpdater::PROMOTE_DISABLED || | 598 bool actionable = state == VersionUpdater::PROMOTE_DISABLED || |
599 state == VersionUpdater::PROMOTE_ENABLED; | 599 state == VersionUpdater::PROMOTE_ENABLED; |
600 | 600 |
601 base::string16 text = base::string16(); | 601 base::string16 text = base::string16(); |
602 if (actionable) | 602 if (actionable) |
603 text = l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_AUTOUPDATE_ALL); | 603 text = l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_AUTOUPDATE_ALL); |
604 else if (state == VersionUpdater::PROMOTED) | 604 else if (state == VersionUpdater::PROMOTED) |
605 text = l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_AUTOUPDATE_ALL_IS_ON); | 605 text = l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_AUTOUPDATE_ALL_IS_ON); |
606 | 606 |
607 base::DictionaryValue promo_state; | 607 base::DictionaryValue promo_state; |
608 promo_state.SetBoolean("hidden", hidden); | 608 promo_state.SetBoolean("hidden", hidden); |
609 promo_state.SetBoolean("disabled", disabled); | 609 promo_state.SetBoolean("disabled", disabled); |
610 promo_state.SetBoolean("actionable", actionable); | 610 promo_state.SetBoolean("actionable", actionable); |
611 if (!text.empty()) | 611 if (!text.empty()) |
612 promo_state.SetString("text", text); | 612 promo_state.SetString("text", text); |
613 | 613 |
614 CallJavascriptFunction("cr.webUIListenerCallback", | 614 CallJavascriptFunction("cr.webUIListenerCallback", |
615 base::StringValue("promotion-state-changed"), | 615 base::Value("promotion-state-changed"), promo_state); |
616 promo_state); | |
617 } | 616 } |
618 #endif // defined(OS_MACOSX) | 617 #endif // defined(OS_MACOSX) |
619 | 618 |
620 #if defined(OS_CHROMEOS) | 619 #if defined(OS_CHROMEOS) |
621 void AboutHandler::OnRegulatoryLabelDirFound( | 620 void AboutHandler::OnRegulatoryLabelDirFound( |
622 std::string callback_id, | 621 std::string callback_id, |
623 const base::FilePath& label_dir_path) { | 622 const base::FilePath& label_dir_path) { |
624 if (label_dir_path.empty()) { | 623 if (label_dir_path.empty()) { |
625 ResolveJavascriptCallback(base::StringValue(callback_id), | 624 ResolveJavascriptCallback(base::Value(callback_id), |
626 *base::Value::CreateNullValue()); | 625 *base::Value::CreateNullValue()); |
627 return; | 626 return; |
628 } | 627 } |
629 | 628 |
630 base::PostTaskWithTraitsAndReplyWithResult( | 629 base::PostTaskWithTraitsAndReplyWithResult( |
631 FROM_HERE, base::TaskTraits().MayBlock().WithPriority( | 630 FROM_HERE, base::TaskTraits().MayBlock().WithPriority( |
632 base::TaskPriority::USER_VISIBLE), | 631 base::TaskPriority::USER_VISIBLE), |
633 base::Bind(&ReadRegulatoryLabelText, label_dir_path), | 632 base::Bind(&ReadRegulatoryLabelText, label_dir_path), |
634 base::Bind(&AboutHandler::OnRegulatoryLabelTextRead, | 633 base::Bind(&AboutHandler::OnRegulatoryLabelTextRead, |
635 weak_factory_.GetWeakPtr(), callback_id, label_dir_path)); | 634 weak_factory_.GetWeakPtr(), callback_id, label_dir_path)); |
636 } | 635 } |
637 | 636 |
638 void AboutHandler::OnRegulatoryLabelTextRead( | 637 void AboutHandler::OnRegulatoryLabelTextRead( |
639 std::string callback_id, | 638 std::string callback_id, |
640 const base::FilePath& label_dir_path, | 639 const base::FilePath& label_dir_path, |
641 const std::string& text) { | 640 const std::string& text) { |
642 std::unique_ptr<base::DictionaryValue> regulatory_info( | 641 std::unique_ptr<base::DictionaryValue> regulatory_info( |
643 new base::DictionaryValue); | 642 new base::DictionaryValue); |
644 // Remove unnecessary whitespace. | 643 // Remove unnecessary whitespace. |
645 regulatory_info->SetString("text", base::CollapseWhitespaceASCII(text, true)); | 644 regulatory_info->SetString("text", base::CollapseWhitespaceASCII(text, true)); |
646 | 645 |
647 std::string image_path = | 646 std::string image_path = |
648 label_dir_path.AppendASCII(kRegulatoryLabelImageFilename).MaybeAsASCII(); | 647 label_dir_path.AppendASCII(kRegulatoryLabelImageFilename).MaybeAsASCII(); |
649 std::string url = | 648 std::string url = |
650 std::string("chrome://") + chrome::kChromeOSAssetHost + "/" + image_path; | 649 std::string("chrome://") + chrome::kChromeOSAssetHost + "/" + image_path; |
651 regulatory_info->SetString("url", url); | 650 regulatory_info->SetString("url", url); |
652 | 651 |
653 ResolveJavascriptCallback(base::StringValue(callback_id), *regulatory_info); | 652 ResolveJavascriptCallback(base::Value(callback_id), *regulatory_info); |
654 } | 653 } |
655 #endif // defined(OS_CHROMEOS) | 654 #endif // defined(OS_CHROMEOS) |
656 | 655 |
657 } // namespace settings | 656 } // namespace settings |
OLD | NEW |