Commit 532834e1 authored by Marijn Kruisselbrink's avatar Marijn Kruisselbrink Committed by Commit Bot

[NativeFS] Get icon color from theme rather than hardcode it.

Color should be different in for example dark mode, so make sure
to get the color from the current theme.

Bug: 1065451
Change-Id: I581605d4f4c52f2ca2a50126e1a20d9ec865c2d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2125034
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Auto-Submit: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#754195}
parent 84e5beba
......@@ -228,9 +228,12 @@ NativeFileSystemUsageBubbleView::Usage& NativeFileSystemUsageBubbleView::Usage::
operator=(Usage&&) = default;
NativeFileSystemUsageBubbleView::FilePathListModel::FilePathListModel(
const views::View* owner,
std::vector<base::FilePath> files,
std::vector<base::FilePath> directories)
: files_(std::move(files)), directories_(std::move(directories)) {}
: owner_(owner),
files_(std::move(files)),
directories_(std::move(directories)) {}
NativeFileSystemUsageBubbleView::FilePathListModel::~FilePathListModel() =
default;
......@@ -249,10 +252,12 @@ base::string16 NativeFileSystemUsageBubbleView::FilePathListModel::GetText(
gfx::ImageSkia NativeFileSystemUsageBubbleView::FilePathListModel::GetIcon(
int row) {
const SkColor icon_color = owner_->GetNativeTheme()->GetSystemColor(
ui::NativeTheme::kColorId_DefaultIconColor);
return gfx::CreateVectorIcon(size_t{row} < files_.size()
? vector_icons::kInsertDriveFileOutlineIcon
: vector_icons::kFolderOpenIcon,
kIconSize, gfx::kChromeIconGrey);
kIconSize, icon_color);
}
base::string16 NativeFileSystemUsageBubbleView::FilePathListModel::GetTooltip(
......@@ -330,9 +335,11 @@ NativeFileSystemUsageBubbleView::NativeFileSystemUsageBubbleView(
: LocationBarBubbleDelegateView(anchor_view, web_contents),
origin_(origin),
usage_(std::move(usage)),
readable_paths_model_(std::move(usage_.readable_files),
readable_paths_model_(this,
std::move(usage_.readable_files),
std::move(usage_.readable_directories)),
writable_paths_model_(std::move(usage_.writable_files),
writable_paths_model_(this,
std::move(usage_.writable_files),
std::move(usage_.writable_directories)) {
DialogDelegate::SetButtonLabel(ui::DIALOG_BUTTON_OK,
l10n_util::GetStringUTF16(IDS_DONE));
......
......@@ -38,7 +38,8 @@ class NativeFileSystemUsageBubbleView : public LocationBarBubbleDelegateView {
private:
class FilePathListModel : public ui::TableModel {
public:
FilePathListModel(std::vector<base::FilePath> files,
FilePathListModel(const views::View* view,
std::vector<base::FilePath> files,
std::vector<base::FilePath> directories);
~FilePathListModel() override;
// ui::TableModel:
......@@ -49,6 +50,10 @@ class NativeFileSystemUsageBubbleView : public LocationBarBubbleDelegateView {
void SetObserver(ui::TableModelObserver*) override;
private:
// The model needs access to the view it is in to access the correct theme
// for icon colors.
const views::View* const owner_;
const std::vector<base::FilePath> files_;
const std::vector<base::FilePath> directories_;
DISALLOW_COPY_AND_ASSIGN(FilePathListModel);
......
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