Skip to content

Commit

Permalink
[views] Remove unneeded ColorTrackingIconView
Browse files Browse the repository at this point in the history
This CL removes the ColorTrackingIconView class and replaces it with
instances of ImageView. A new constructor has been added to ImageView
to make instantiation simpler.

This also has the great effect of eliminating ColorTrackingIconView
getting the global NativeTheme instance when calling GetNativeTheme()
in its constructor.

Bug: None
Change-Id: Ifa8ec7013444fc04da9fb7c6e646b65ef931f0a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3027404
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#901637}
  • Loading branch information
tom authored and Chromium LUCI CQ committed Jul 14, 2021
1 parent 16185a4 commit 99ef34a
Show file tree
Hide file tree
Showing 20 changed files with 82 additions and 124 deletions.
7 changes: 4 additions & 3 deletions chrome/browser/ui/ash/sharesheet/sharesheet_target_button.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/ui/ash/sharesheet/sharesheet_constants.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/font_list.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/layout/box_layout.h"

Expand All @@ -37,8 +37,9 @@ std::unique_ptr<views::ImageView> CreateImageView(
image->SetImage(icon.value());
return image;
} else if (vector_icon != nullptr) {
return std::make_unique<views::ColorTrackingIconView>(
*vector_icon, sharesheet::kIconSize);
return std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
*vector_icon, ui::NativeTheme::kColorId_DefaultIconColor,
sharesheet::kIconSize));
}
NOTREACHED();
return nullptr;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/favicon_size.h"
Expand All @@ -43,7 +44,6 @@
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/border.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/menu/menu_config.h"
Expand Down Expand Up @@ -125,8 +125,9 @@ std::unique_ptr<views::ImageView> ImageViewFromImageSkia(

std::unique_ptr<views::ImageView> ImageViewFromVectorIcon(
const gfx::VectorIcon& vector_icon) {
return std::make_unique<views::ColorTrackingIconView>(vector_icon,
gfx::kFaviconSize);
return std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
vector_icon, ui::NativeTheme::kColorId_DefaultIconColor,
gfx::kFaviconSize));
}

std::unique_ptr<views::ImageView> GetIconImageViewByName(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
#include "chrome/browser/ui/views/chrome_typography.h"
#include "components/constrained_window/constrained_window_views.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/vector_icon_utils.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/layout/box_layout.h"

namespace autofill {
Expand Down Expand Up @@ -66,10 +67,10 @@ views::View* AutofillErrorDialogViewNativeViews::GetContentsView() {
layout->set_cross_axis_alignment(
views::BoxLayout::CrossAxisAlignment::kCenter);

AddChildView(std::make_unique<views::ColorTrackingIconView>(
vector_icons::kErrorIcon,
gfx::GetDefaultSizeOfVectorIcon(vector_icons::kErrorIcon),
ui::NativeTheme::kColorId_AlertSeverityHigh));
AddChildView(
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
vector_icons::kErrorIcon, ui::NativeTheme::kColorId_AlertSeverityHigh,
gfx::GetDefaultSizeOfVectorIcon(vector_icons::kErrorIcon))));

auto* label = AddChildView(std::make_unique<views::Label>(
controller_->GetDescription(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include "third_party/skia/include/core/SkColor.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/paint_vector_icon.h"
Expand All @@ -33,7 +34,6 @@
#include "ui/views/background.h"
#include "ui/views/border.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/combobox/combobox.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
Expand Down Expand Up @@ -389,10 +389,10 @@ void CardUnmaskPromptViews::InitIfNecessary() {
views::BoxLayout::CrossAxisAlignment::kCenter);

temporary_error->SetVisible(false);
temporary_error->AddChildView(std::make_unique<views::ColorTrackingIconView>(
vector_icons::kErrorIcon,
gfx::GetDefaultSizeOfVectorIcon(vector_icons::kErrorIcon),
ui::NativeTheme::kColorId_AlertSeverityHigh));
temporary_error->AddChildView(
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
vector_icons::kErrorIcon, ui::NativeTheme::kColorId_AlertSeverityHigh,
gfx::GetDefaultSizeOfVectorIcon(vector_icons::kErrorIcon))));

auto error_label = std::make_unique<views::Label>(
std::u16string(), ChromeTextContext::CONTEXT_DIALOG_BODY_TEXT_SMALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/ui_base_types.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/native_theme/native_theme.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/controls/throbber.h"
#include "ui/views/layout/box_layout.h"
Expand Down Expand Up @@ -74,8 +74,10 @@ std::unique_ptr<views::View> CreatePrimaryIconForSink(const UIMediaSink& sink) {
return CreatePrimaryIconView(gfx::CreateVectorIcon(
kGenericStopIcon, kPrimaryIconSize, gfx::kGoogleBlue500));
} else if (sink.issue) {
auto icon = std::make_unique<views::ColorTrackingIconView>(
::vector_icons::kInfoOutlineIcon, kPrimaryIconSize);
auto icon =
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
::vector_icons::kInfoOutlineIcon,
ui::NativeTheme::kColorId_DefaultIconColor, kPrimaryIconSize));
icon->SetBorder(views::CreateEmptyBorder(kPrimaryIconBorder));
return icon;
} else if (sink.state == UIMediaSinkState::CONNECTING ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_utils.h"
Expand All @@ -30,7 +31,7 @@
#include "ui/gfx/text_constants.h"
#include "ui/gfx/vector_icon_types.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/layout/layout_provider.h"
Expand Down Expand Up @@ -231,8 +232,10 @@ MoveToAccountStoreBubbleView::MovingBannerView::MovingBannerView(

from_view = AddChildView(std::move(from_image));

auto arrow_view = std::make_unique<views::ColorTrackingIconView>(
kChevronRightIcon, gfx::kFaviconSize);
auto arrow_view =
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
kChevronRightIcon, ui::NativeTheme::kColorId_DefaultIconColor,
gfx::kFaviconSize));
arrow_view->SetFlipCanvasOnPaintForRTLUI(true);
AddChildView(std::move(arrow_view));

Expand Down
8 changes: 5 additions & 3 deletions chrome/browser/ui/views/passwords/password_items_view.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include "components/password_manager/core/common/password_manager_ui.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/image_model.h"
#include "ui/base/models/simple_combobox_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/favicon_size.h"
Expand All @@ -35,7 +36,6 @@
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.h"
#include "ui/views/controls/button/md_text_button.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/link.h"
Expand Down Expand Up @@ -195,8 +195,10 @@ void PasswordItemsView::PasswordRow::AddPasswordRow(

if (parent_->favicon_.IsEmpty()) {
// Use a globe fallback until the actual favicon is loaded.
layout->AddView(std::make_unique<views::ColorTrackingIconView>(
kGlobeIcon, gfx::kFaviconSize));
layout->AddView(
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
kGlobeIcon, ui::NativeTheme::kColorId_DefaultIconColor,
gfx::kFaviconSize)));
} else {
layout->AddView(std::make_unique<views::ImageView>())
->SetImage(parent_->favicon_.AsImageSkia());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/color_utils.h"
Expand All @@ -52,7 +53,6 @@
#include "ui/gfx/vector_icon_utils.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/md_text_button.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/styled_label.h"
Expand Down Expand Up @@ -279,9 +279,11 @@ class PaymentSheetRowBuilder {
std::unique_ptr<PaymentRequestRowView> CreateWithChevron(
std::unique_ptr<views::View> content_view,
std::unique_ptr<views::View> extra_content_view) {
auto chevron = std::make_unique<views::ColorTrackingIconView>(
vector_icons::kSubmenuArrowIcon,
gfx::GetDefaultSizeOfVectorIcon(vector_icons::kSubmenuArrowIcon));
auto chevron =
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
vector_icons::kSubmenuArrowIcon,
ui::NativeTheme::kColorId_DefaultIconColor,
gfx::GetDefaultSizeOfVectorIcon(vector_icons::kSubmenuArrowIcon)));
chevron->SetCanProcessEventsWithinSubtree(false);
std::unique_ptr<PaymentRequestRowView> section = CreatePaymentSheetRow(
GetPressedCallback(), section_name_, accessible_content_,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
#include "content/public/browser/web_contents.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/text_elider.h"
#include "ui/views/controls/button/checkbox.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/flex_layout.h"
Expand Down Expand Up @@ -74,10 +74,11 @@ FileHandlingPermissionRequestDialog::FileHandlingPermissionRequestDialog(

// File icon.
auto checkbox = std::make_unique<views::Checkbox>();
auto* icon =
files_view->AddChildView(std::make_unique<views::ColorTrackingIconView>(
auto* icon = files_view->AddChildView(
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
vector_icons::kDescriptionIcon,
checkbox->GetImage(views::Button::STATE_NORMAL).width()));
ui::NativeTheme::kColorId_DefaultIconColor,
checkbox->GetImage(views::Button::STATE_NORMAL).width())));
const int icon_margin = views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_RELATED_LABEL_HORIZONTAL);
icon->SetProperty(views::kMarginsKey, gfx::Insets(0, 0, 0, icon_margin));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include "extensions/common/constants.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/gfx/text_constants.h"
Expand All @@ -38,7 +39,6 @@
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.h"
#include "ui/views/controls/button/md_text_button.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h"
Expand Down Expand Up @@ -209,9 +209,9 @@ void PermissionPromptBubbleView::AddRequestLine(

constexpr int kPermissionIconSize = 18;
auto* icon = line_container->AddChildView(
std::make_unique<views::ColorTrackingIconView>(
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
permissions::GetIconId(request->GetRequestType()),
kPermissionIconSize));
ui::NativeTheme::kColorId_DefaultIconColor, kPermissionIconSize)));
icon->SetVerticalAlignment(views::ImageView::Alignment::kLeading);

auto* label = line_container->AddChildView(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,21 @@
#include "components/sync/protocol/sync.pb.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"

namespace send_tab_to_self {

namespace {

std::unique_ptr<views::ColorTrackingIconView> CreateIcon(
std::unique_ptr<views::ImageView> CreateIcon(
const sync_pb::SyncEnums::DeviceType device_type) {
static constexpr int kPrimaryIconSize = 20;
auto icon = std::make_unique<views::ColorTrackingIconView>(
auto icon = std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
device_type == sync_pb::SyncEnums::TYPE_PHONE ? kHardwareSmartphoneIcon
: kHardwareComputerIcon,
kPrimaryIconSize);
ui::NativeTheme::kColorId_DefaultIconColor, kPrimaryIconSize));
constexpr auto kPrimaryIconBorder = gfx::Insets(6);
icon->SetBorder(views::CreateEmptyBorder(kPrimaryIconBorder));
return icon;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,18 @@
#include "components/send_tab_to_self/send_tab_to_self_entry.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/favicon_size.h"
#include "ui/views/controls/button/button_controller.h"
#include "ui/views/controls/color_tracking_icon_view.h"

namespace send_tab_to_self {

SendTabToSelfToolbarIconView::SendTabToSelfToolbarIconView(
BrowserView* browser_view)
: ColorTrackingIconView(kSendTabToSelfIcon, gfx::kFaviconSize),
: ImageView(ui::ImageModel::FromVectorIcon(
kSendTabToSelfIcon,
ui::NativeTheme::kColorId_DefaultIconColor,
gfx::kFaviconSize)),
browser_(browser_view->browser()) {
SetAccessibleName(l10n_util::GetStringUTF16(
IDS_TOOLBAR_BUTTON_SEND_TAB_TO_SELF_BUTTON_A11Y_NAME));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller_delegate.h"
#include "components/send_tab_to_self/send_tab_to_self_entry.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/image_view.h"

class Browser;
class BrowserView;
Expand All @@ -19,7 +19,7 @@ namespace send_tab_to_self {
// of its parent ToolbarView. The icon is made visible when there is a received
// STTS notification.
class SendTabToSelfToolbarIconView
: public views::ColorTrackingIconView,
: public views::ImageView,
public SendTabToSelfToolbarIconControllerDelegate {
public:
explicit SendTabToSelfToolbarIconView(BrowserView* browser_view);
Expand Down
18 changes: 10 additions & 8 deletions chrome/browser/ui/views/sharing/sharing_dialog_view.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
#include "components/url_formatter/elide_url.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/image_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/strings/grit/ui_strings.h"
#include "ui/views/border.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/color_tracking_icon_view.h"
#include "ui/views/controls/scroll_view.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/layout/box_layout.h"
Expand Down Expand Up @@ -244,11 +244,12 @@ void SharingDialogView::InitListView() {
LogSharingDevicesToShow(data_.prefix, kSharingUiDialog, data_.devices.size());
size_t index = 0;
for (const auto& device : data_.devices) {
auto icon = std::make_unique<views::ColorTrackingIconView>(
device->device_type() == sync_pb::SyncEnums::TYPE_TABLET
? kTabletIcon
: kHardwareSmartphoneIcon,
kPrimaryIconSize);
auto icon =
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
device->device_type() == sync_pb::SyncEnums::TYPE_TABLET
? kTabletIcon
: kHardwareSmartphoneIcon,
ui::NativeTheme::kColorId_DefaultIconColor, kPrimaryIconSize));

auto* dialog_button =
button_list->AddChildView(std::make_unique<HoverButton>(
Expand All @@ -266,8 +267,9 @@ void SharingDialogView::InitListView() {
for (const auto& app : data_.apps) {
std::unique_ptr<views::ImageView> icon;
if (app.vector_icon) {
icon = std::make_unique<views::ColorTrackingIconView>(*app.vector_icon,
kPrimaryIconSize);
icon = std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
*app.vector_icon, ui::NativeTheme::kColorId_DefaultIconColor,
kPrimaryIconSize));
} else {
icon = std::make_unique<views::ImageView>();
icon->SetImage(app.image.AsImageSkia());
Expand Down
Loading

0 comments on commit 99ef34a

Please sign in to comment.