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

Side by Side Diff: chrome/browser/chromeos/login/existing_user_controller.cc

Issue 9704092: Adds a device policy to specify the set of initial urls for the demo user account. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed issues and rebases to ToT. Created 8 years, 9 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/chromeos/login/existing_user_controller.h" 5 #include "chrome/browser/chromeos/login/existing_user_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 gfx::NativeWindow ExistingUserController::GetNativeWindow() const { 704 gfx::NativeWindow ExistingUserController::GetNativeWindow() const {
705 return host_->GetNativeWindow(); 705 return host_->GetNativeWindow();
706 } 706 }
707 707
708 void ExistingUserController::InitializeStartUrls() const { 708 void ExistingUserController::InitializeStartUrls() const {
709 std::vector<std::string> start_urls; 709 std::vector<std::string> start_urls;
710 PrefService* prefs = g_browser_process->local_state(); 710 PrefService* prefs = g_browser_process->local_state();
711 const std::string current_locale = 711 const std::string current_locale =
712 StringToLowerASCII(prefs->GetString(prefs::kApplicationLocale)); 712 StringToLowerASCII(prefs->GetString(prefs::kApplicationLocale));
713 std::string start_url; 713 std::string start_url;
714 if (prefs->GetBoolean(prefs::kSpokenFeedbackEnabled)) { 714 const base::ListValue *urls;
715 const char* url = kChromeVoxTutorialURLPattern; 715 if (UserManager::Get()->IsLoggedInAsDemoUser() &&
716 start_url = base::StringPrintf(url, current_locale.c_str()); 716 CrosSettings::Get()->GetList(kStartUpUrls, &urls)) {
717 // the demo user will get its start urls from the special policy if it is
718 // set.
719 for (base::ListValue::const_iterator it = urls->begin();
720 it != urls->end(); ++it) {
721 std::string url;
722 if ((*it)->GetAsString(&url))
723 start_urls.push_back(url);
724 }
717 } else { 725 } else {
718 const char* url = kGetStartedURLPattern; 726 if (prefs->GetBoolean(prefs::kSpokenFeedbackEnabled)) {
719 start_url = base::StringPrintf(url, current_locale.c_str()); 727 const char* url = kChromeVoxTutorialURLPattern;
720 std::string params_str; 728 start_url = base::StringPrintf(url, current_locale.c_str());
729 } else {
730 const char* url = kGetStartedURLPattern;
731 start_url = base::StringPrintf(url, current_locale.c_str());
732 std::string params_str;
721 #if 0 733 #if 0
722 const char kMachineInfoBoard[] = "CHROMEOS_RELEASE_BOARD"; 734 const char kMachineInfoBoard[] = "CHROMEOS_RELEASE_BOARD";
723 std::string board; 735 std::string board;
724 system::StatisticsProvider* provider = 736 system::StatisticsProvider* provider =
725 system::StatisticsProvider::GetInstance(); 737 system::StatisticsProvider::GetInstance();
726 if (!provider->GetMachineStatistic(kMachineInfoBoard, &board)) 738 if (!provider->GetMachineStatistic(kMachineInfoBoard, &board))
727 LOG(ERROR) << "Failed to get board information"; 739 LOG(ERROR) << "Failed to get board information";
728 if (!board.empty()) { 740 if (!board.empty()) {
729 params_str.append(base::StringPrintf(kGetStartedBoardParam, 741 params_str.append(base::StringPrintf(kGetStartedBoardParam,
730 board.c_str())); 742 board.c_str()));
743 }
744 #endif
745 if (is_owner_login_)
746 params_str.append(kGetStartedOwnerParam);
747 if (!params_str.empty()) {
748 params_str.insert(0, kGetStartedParamsStartMark);
749 start_url.append(params_str);
750 }
731 } 751 }
732 #endif 752 start_urls.push_back(start_url);
733 if (is_owner_login_)
734 params_str.append(kGetStartedOwnerParam);
735 if (!params_str.empty()) {
736 params_str.insert(0, kGetStartedParamsStartMark);
737 start_url.append(params_str);
738 }
739 } 753 }
740 start_urls.push_back(start_url);
741 754
742 ServicesCustomizationDocument* customization = 755 ServicesCustomizationDocument* customization =
743 ServicesCustomizationDocument::GetInstance(); 756 ServicesCustomizationDocument::GetInstance();
744 if (!ServicesCustomizationDocument::WasApplied() && 757 if (!ServicesCustomizationDocument::WasApplied() &&
745 customization->IsReady()) { 758 customization->IsReady()) {
746 std::string locale = g_browser_process->GetApplicationLocale(); 759 std::string locale = g_browser_process->GetApplicationLocale();
747 std::string initial_start_page = 760 std::string initial_start_page =
748 customization->GetInitialStartPage(locale); 761 customization->GetInitialStartPage(locale);
749 if (!initial_start_page.empty()) 762 if (!initial_start_page.empty())
750 start_urls.push_back(initial_start_page); 763 start_urls.push_back(initial_start_page);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 // changed. 808 // changed.
796 UserManager::Get()->SaveUserOAuthStatus(username, 809 UserManager::Get()->SaveUserOAuthStatus(username,
797 User::OAUTH_TOKEN_STATUS_INVALID); 810 User::OAUTH_TOKEN_STATUS_INVALID);
798 811
799 login_display_->SetUIEnabled(true); 812 login_display_->SetUIEnabled(true);
800 SetStatusAreaEnabled(true); 813 SetStatusAreaEnabled(true);
801 login_display_->ShowGaiaPasswordChanged(username); 814 login_display_->ShowGaiaPasswordChanged(username);
802 } 815 }
803 816
804 } // namespace chromeos 817 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/device_settings_provider.cc ('k') | chrome/browser/policy/device_policy_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698