Commit 369cc5fa authored by Steven Bennetts's avatar Steven Bennetts Committed by Commit Bot

Combine common default user image code

Bug: 730031
Change-Id: I488847d6df8a6da9d3f78676d062e1f5117e4a67
Reviewed-on: https://chromium-review.googlesource.com/566953
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: default avatarAlexander Alekseev <alemate@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486020}
parent 477a9e34
......@@ -6,11 +6,13 @@
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_piece.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/sys_info.h"
#include "base/values.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/chromeos/resources/grit/ui_chromeos_resources.h"
......@@ -261,5 +263,24 @@ int GetDefaultImageHistogramValue(int index) {
return index + 6;
}
std::unique_ptr<base::ListValue> GetAsDictionary() {
auto image_urls = base::MakeUnique<base::ListValue>();
for (int i = default_user_image::kFirstDefaultImageIndex;
i < default_user_image::kDefaultImagesCount; ++i) {
auto image_data = base::MakeUnique<base::DictionaryValue>();
image_data->SetString("url", default_user_image::GetDefaultImageUrl(i));
image_data->SetString("author",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageAuthorIDs[i]));
image_data->SetString("website",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageWebsiteIDs[i]));
image_data->SetString("title",
default_user_image::GetDefaultImageDescription(i));
image_urls->Append(std::move(image_data));
}
return image_urls;
}
} // namespace default_user_image
} // namespace chromeos
......@@ -7,11 +7,16 @@
#include <stddef.h>
#include <memory>
#include <string>
#include "base/strings/string16.h"
#include "chromeos/chromeos_export.h"
namespace base {
class ListValue;
}
namespace gfx {
class ImageSkia;
}
......@@ -74,6 +79,10 @@ CHROMEOS_EXPORT extern const int kHistogramImagesCount;
// Returns the histogram value corresponding to the given default image index.
CHROMEOS_EXPORT int GetDefaultImageHistogramValue(int index);
// Returns a list of dictionary values with url, author, website, and title
// properties set for each default user image.
CHROMEOS_EXPORT std::unique_ptr<base::ListValue> GetAsDictionary();
} // namespace default_user_image
} // namespace chromeos
......
......@@ -407,23 +407,9 @@ void SupervisedUserCreationScreenHandler::HandleAuthenticateManager(
// TODO(antrim) : this is an explicit code duplications with UserImageScreen.
// It should be removed by issue 251179.
void SupervisedUserCreationScreenHandler::HandleGetImages() {
base::ListValue image_urls;
for (int i = default_user_image::kFirstDefaultImageIndex;
i < default_user_image::kDefaultImagesCount; ++i) {
std::unique_ptr<base::DictionaryValue> image_data(
new base::DictionaryValue);
image_data->SetString("url", default_user_image::GetDefaultImageUrl(i));
image_data->SetString("author",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageAuthorIDs[i]));
image_data->SetString("website",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageWebsiteIDs[i]));
image_data->SetString("title",
default_user_image::GetDefaultImageDescription(i));
image_urls.Append(std::move(image_data));
}
CallJS("setDefaultImages", image_urls);
std::unique_ptr<base::ListValue> image_urls =
default_user_image::GetAsDictionary();
CallJS("setDefaultImages", *image_urls);
}
void SupervisedUserCreationScreenHandler::HandlePhotoTaken
......
......@@ -127,23 +127,9 @@ void UserImageScreenHandler::RegisterMessages() {
// TODO(antrim) : It looks more like parameters for "Init" rather than callback.
void UserImageScreenHandler::HandleGetImages() {
base::ListValue image_urls;
for (int i = default_user_image::kFirstDefaultImageIndex;
i < default_user_image::kDefaultImagesCount; ++i) {
std::unique_ptr<base::DictionaryValue> image_data(
new base::DictionaryValue);
image_data->SetString("url", default_user_image::GetDefaultImageUrl(i));
image_data->SetString("author",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageAuthorIDs[i]));
image_data->SetString("website",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageWebsiteIDs[i]));
image_data->SetString("title",
default_user_image::GetDefaultImageDescription(i));
image_urls.Append(std::move(image_data));
}
CallJS("setDefaultImages", image_urls);
std::unique_ptr<base::ListValue> image_urls =
default_user_image::GetAsDictionary();
CallJS("setDefaultImages", *image_urls);
}
void UserImageScreenHandler::HandleScreenReady() {
......
......@@ -127,23 +127,9 @@ void ChangePictureHandler::OnJavascriptDisallowed() {
}
void ChangePictureHandler::SendDefaultImages() {
base::ListValue image_urls;
for (int i = default_user_image::kFirstDefaultImageIndex;
i < default_user_image::kDefaultImagesCount; ++i) {
std::unique_ptr<base::DictionaryValue> image_data(
new base::DictionaryValue);
image_data->SetString("url", default_user_image::GetDefaultImageUrl(i));
image_data->SetString("author",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageAuthorIDs[i]));
image_data->SetString("website",
l10n_util::GetStringUTF16(
default_user_image::kDefaultImageWebsiteIDs[i]));
image_data->SetString("title",
default_user_image::GetDefaultImageDescription(i));
image_urls.Append(std::move(image_data));
}
FireWebUIListener("default-images-changed", image_urls);
std::unique_ptr<base::ListValue> image_urls =
default_user_image::GetAsDictionary();
FireWebUIListener("default-images-changed", *image_urls);
}
void ChangePictureHandler::HandleChooseFile(const base::ListValue* args) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment