UI polish for favicons in tabgrid
Displaying favicons with clear background, shrinking down to 16pt, and
changing default icon.
Bug: 860245
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I75e75d0bb21784441561e79a623002fdc2c95ae8
Reviewed-on: https://chromium-review.googlesource.com/1151111
Commit-Queue: Elodie Banel <lod@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578313}
diff --git a/ios/chrome/browser/ui/favicon/BUILD.gn b/ios/chrome/browser/ui/favicon/BUILD.gn
index 4217b3b..71068c0b 100644
--- a/ios/chrome/browser/ui/favicon/BUILD.gn
+++ b/ios/chrome/browser/ui/favicon/BUILD.gn
@@ -12,6 +12,8 @@
deps = [
"resources:default_favicon",
"resources:default_world_favicon",
+ "resources:default_world_favicon_incognito",
+ "resources:default_world_favicon_regular",
"//base",
"//components/favicon/core",
"//components/favicon_base",
diff --git a/ios/chrome/browser/ui/favicon/resources/BUILD.gn b/ios/chrome/browser/ui/favicon/resources/BUILD.gn
index e169523..aa6b381 100644
--- a/ios/chrome/browser/ui/favicon/resources/BUILD.gn
+++ b/ios/chrome/browser/ui/favicon/resources/BUILD.gn
@@ -13,6 +13,24 @@
]
}
+imageset("default_world_favicon_incognito") {
+ sources = [
+ "default_world_favicon_incognito.imageset/Contents.json",
+ "default_world_favicon_incognito.imageset/default_world_favicon_incognito.png",
+ "default_world_favicon_incognito.imageset/default_world_favicon_incognito@2x.png",
+ "default_world_favicon_incognito.imageset/default_world_favicon_incognito@3x.png",
+ ]
+}
+
+imageset("default_world_favicon_regular") {
+ sources = [
+ "default_world_favicon_regular.imageset/Contents.json",
+ "default_world_favicon_regular.imageset/default_world_favicon_regular.png",
+ "default_world_favicon_regular.imageset/default_world_favicon_regular@2x.png",
+ "default_world_favicon_regular.imageset/default_world_favicon_regular@3x.png",
+ ]
+}
+
imageset("default_favicon") {
sources = [
"default_favicon.imageset/Contents.json",
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/Contents.json b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/Contents.json
new file mode 100644
index 0000000..166bfe8
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images": [
+ {
+ "idiom": "universal",
+ "scale": "1x",
+ "filename": "default_world_favicon_incognito.png"
+ },
+ {
+ "idiom": "universal",
+ "scale": "2x",
+ "filename": "default_world_favicon_incognito@2x.png"
+ },
+ {
+ "idiom": "universal",
+ "scale": "3x",
+ "filename": "default_world_favicon_incognito@3x.png"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito.png b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito.png
new file mode 100644
index 0000000..e40c3e5
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito.png
Binary files differ
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito@2x.png b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito@2x.png
new file mode 100644
index 0000000..2aaee82d
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito@3x.png b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito@3x.png
new file mode 100644
index 0000000..a5ab376
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_incognito.imageset/default_world_favicon_incognito@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/Contents.json b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/Contents.json
new file mode 100644
index 0000000..67ba34a9
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images": [
+ {
+ "idiom": "universal",
+ "scale": "1x",
+ "filename": "default_world_favicon_regular.png"
+ },
+ {
+ "idiom": "universal",
+ "scale": "2x",
+ "filename": "default_world_favicon_regular@2x.png"
+ },
+ {
+ "idiom": "universal",
+ "scale": "3x",
+ "filename": "default_world_favicon_regular@3x.png"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular.png b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular.png
new file mode 100644
index 0000000..6385915
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular.png
Binary files differ
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular@2x.png b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular@2x.png
new file mode 100644
index 0000000..042390d
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular@3x.png b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular@3x.png
new file mode 100644
index 0000000..8b80de5
--- /dev/null
+++ b/ios/chrome/browser/ui/favicon/resources/default_world_favicon_regular.imageset/default_world_favicon_regular@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm b/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm
index d32534bf..ff66980 100644
--- a/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm
+++ b/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm
@@ -170,7 +170,7 @@
- (void)setTheme:(GridTheme)theme {
if (_theme == theme)
return;
- self.iconView.backgroundColor = UIColorFromRGB(kGridCellIconBackgroundColor);
+ self.iconView.backgroundColor = UIColor.clearColor;
self.snapshotView.backgroundColor =
UIColorFromRGB(kGridCellSnapshotBackgroundColor);
switch (theme) {
@@ -202,14 +202,6 @@
- (void)setIcon:(UIImage*)icon {
self.iconView.image = icon;
- // if |icon| is nil (that is, the cell should have no icon), set the icon
- // background to be clear; otherwise set it to be the icon background.
- if (icon) {
- self.iconView.backgroundColor =
- UIColorFromRGB(kGridCellIconBackgroundColor);
- } else {
- self.iconView.backgroundColor = UIColor.clearColor;
- }
_icon = icon;
}
diff --git a/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm b/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm
index b81b7df..9bd1c2c 100644
--- a/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm
+++ b/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm
@@ -68,10 +68,10 @@
const CGFloat kGridCellIconCornerRadius = 3.0f;
// The cell header contains the icon, title, and close button.
const CGFloat kGridCellHeaderHeight = 32.0f;
-const CGFloat kGridCellHeaderLeadingInset = 5.0f;
+const CGFloat kGridCellHeaderLeadingInset = 9.0f;
const CGFloat kGridCellCloseTapTargetWidthHeight = 44.0f;
const CGFloat kGridCellCloseButtonContentInset = 8.5f;
const CGFloat kGridCellTitleLabelContentInset = 4.0f;
-const CGFloat kGridCellIconDiameter = 22.0f;
+const CGFloat kGridCellIconDiameter = 16.0f;
const CGFloat kGridCellSelectionRingGapWidth = 2.0f;
const CGFloat kGridCellSelectionRingTintWidth = 5.0f;
diff --git a/ios/chrome/browser/ui/tab_grid/tab_grid_mediator.mm b/ios/chrome/browser/ui/tab_grid/tab_grid_mediator.mm
index 8ee3c84..72b6994 100644
--- a/ios/chrome/browser/ui/tab_grid/tab_grid_mediator.mm
+++ b/ios/chrome/browser/ui/tab_grid/tab_grid_mediator.mm
@@ -328,9 +328,14 @@
}
UIImage* defaultFavicon;
if (experimental_flags::IsCollectionsUIRebootEnabled()) {
- defaultFavicon = [UIImage imageNamed:@"default_world_favicon"];
+ if (webState->GetBrowserState()->IsOffTheRecord()) {
+ defaultFavicon = [UIImage imageNamed:@"default_world_favicon_incognito"];
+ } else {
+ defaultFavicon = [UIImage imageNamed:@"default_world_favicon_regular"];
+ }
+ } else {
+ defaultFavicon = [UIImage imageNamed:@"default_favicon"];
}
- defaultFavicon = [UIImage imageNamed:@"default_favicon"];
completion(defaultFavicon);
favicon::FaviconDriver* faviconDriver =