| Index: chrome/browser/chromeos/login/existing_user_controller.cc
|
| diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
|
| index 97477b4bb0e789256d08288bbe406fbc2a1d379e..2dccb458a5025c1334e9431815ba12f2d4b309ef 100644
|
| --- a/chrome/browser/chromeos/login/existing_user_controller.cc
|
| +++ b/chrome/browser/chromeos/login/existing_user_controller.cc
|
| @@ -711,33 +711,46 @@ void ExistingUserController::InitializeStartUrls() const {
|
| const std::string current_locale =
|
| StringToLowerASCII(prefs->GetString(prefs::kApplicationLocale));
|
| std::string start_url;
|
| - if (prefs->GetBoolean(prefs::kSpokenFeedbackEnabled)) {
|
| - const char* url = kChromeVoxTutorialURLPattern;
|
| - start_url = base::StringPrintf(url, current_locale.c_str());
|
| + const base::ListValue *urls;
|
| + if (UserManager::Get()->IsLoggedInAsDemoUser() &&
|
| + CrosSettings::Get()->GetList(kStartUpUrls, &urls)) {
|
| + // the demo user will get its start urls from the special policy if it is
|
| + // set.
|
| + for (base::ListValue::const_iterator it = urls->begin();
|
| + it != urls->end(); ++it) {
|
| + std::string url;
|
| + if ((*it)->GetAsString(&url))
|
| + start_urls.push_back(url);
|
| + }
|
| } else {
|
| - const char* url = kGetStartedURLPattern;
|
| - start_url = base::StringPrintf(url, current_locale.c_str());
|
| - std::string params_str;
|
| + if (prefs->GetBoolean(prefs::kSpokenFeedbackEnabled)) {
|
| + const char* url = kChromeVoxTutorialURLPattern;
|
| + start_url = base::StringPrintf(url, current_locale.c_str());
|
| + } else {
|
| + const char* url = kGetStartedURLPattern;
|
| + start_url = base::StringPrintf(url, current_locale.c_str());
|
| + std::string params_str;
|
| #if 0
|
| - const char kMachineInfoBoard[] = "CHROMEOS_RELEASE_BOARD";
|
| - std::string board;
|
| - system::StatisticsProvider* provider =
|
| - system::StatisticsProvider::GetInstance();
|
| - if (!provider->GetMachineStatistic(kMachineInfoBoard, &board))
|
| - LOG(ERROR) << "Failed to get board information";
|
| - if (!board.empty()) {
|
| - params_str.append(base::StringPrintf(kGetStartedBoardParam,
|
| - board.c_str()));
|
| - }
|
| + const char kMachineInfoBoard[] = "CHROMEOS_RELEASE_BOARD";
|
| + std::string board;
|
| + system::StatisticsProvider* provider =
|
| + system::StatisticsProvider::GetInstance();
|
| + if (!provider->GetMachineStatistic(kMachineInfoBoard, &board))
|
| + LOG(ERROR) << "Failed to get board information";
|
| + if (!board.empty()) {
|
| + params_str.append(base::StringPrintf(kGetStartedBoardParam,
|
| + board.c_str()));
|
| + }
|
| #endif
|
| - if (is_owner_login_)
|
| - params_str.append(kGetStartedOwnerParam);
|
| - if (!params_str.empty()) {
|
| - params_str.insert(0, kGetStartedParamsStartMark);
|
| - start_url.append(params_str);
|
| + if (is_owner_login_)
|
| + params_str.append(kGetStartedOwnerParam);
|
| + if (!params_str.empty()) {
|
| + params_str.insert(0, kGetStartedParamsStartMark);
|
| + start_url.append(params_str);
|
| + }
|
| }
|
| + start_urls.push_back(start_url);
|
| }
|
| - start_urls.push_back(start_url);
|
|
|
| ServicesCustomizationDocument* customization =
|
| ServicesCustomizationDocument::GetInstance();
|
|
|