tab search tab indicator
This ensures that (a) glic-focused tabs are listed at the top of the tab
search window with other media and shared tabs, and (b) they show the
correct indicator with the correct color, matching the tab indicator
icon.
No tests are provided as the underlying system needs testing first.
Tests will be added later.
Bug: 382694073
Change-Id: I3a5fbd4b8e2b097b671495bbb215e7c488ea9165
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6109994
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Dana Fried <dfried@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Fred Shih <ffred@chromium.org>
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399559}
diff --git a/chrome/browser/resources/tab_search/BUILD.gn b/chrome/browser/resources/tab_search/BUILD.gn
index e643dd7..06e7993 100644
--- a/chrome/browser/resources/tab_search/BUILD.gn
+++ b/chrome/browser/resources/tab_search/BUILD.gn
@@ -15,6 +15,7 @@
static_files = [
"alert_indicators/tab_audio_muting_rounded.svg",
"alert_indicators/tab_audio_rounded.svg",
+ "alert_indicators/tab_media_glic_active.svg",
"alert_indicators/tab_media_recording.svg",
"tab_search.html",
]
diff --git a/chrome/browser/resources/tab_search/alert_indicators/tab_media_glic_active.svg b/chrome/browser/resources/tab_search/alert_indicators/tab_media_glic_active.svg
new file mode 100644
index 0000000..a3b213b
--- /dev/null
+++ b/chrome/browser/resources/tab_search/alert_indicators/tab_media_glic_active.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 -960 960 960"><path d="M792-576v-120H672v-72h120q30 0 51 21.15T864-696v120h-72Zm-696 0v-120q0-30 21.15-51T168-768h120v72H168v120H96Zm576 384v-72h120v-120h72v120q0 30-21.15 51T792-192H672Zm-504 0q-30 0-51-21.15T96-264v-120h72v120h120v72H168Zm72-144v-288h480v288H240Zm72-72h336v-144H312v144Zm0 0v-144 144Z"/></svg>
\ No newline at end of file
diff --git a/chrome/browser/resources/tab_search/tab_search_item.css b/chrome/browser/resources/tab_search/tab_search_item.css
index 02d9437..588742c 100644
--- a/chrome/browser/resources/tab_search/tab_search_item.css
+++ b/chrome/browser/resources/tab_search/tab_search_item.css
@@ -14,6 +14,7 @@
:host {
--audio-icon-color: var(--color-tab-search-media-icon);
+ --glic-active-icon-color: var(--color-tab-search-media-glic-active-icon);
--media-recording-icon-color: var(--color-tab-search-media-recording-icon);
}
@@ -150,10 +151,15 @@
}
#mediaAlert[class = 'audio-muting'] {
--webkit-mask-image: url(alert_indicators/tab_audio_muting_rounded.svg);
+ -webkit-mask-image: url(alert_indicators/tab_audio_muting_rounded.svg);
background-color: var(--audio-icon-color);
}
+#mediaAlert[class = 'glic-accessing'] {
+ -webkit-mask-image: url(alert_indicators/tab_media_glic_active.svg);
+ background-color: var(--glic-active-icon-color);
+}
+
#iconContainer {
align-items: center;
background: var(--tab-search-favicon-background,
diff --git a/chrome/browser/resources/tab_search/tab_search_item.ts b/chrome/browser/resources/tab_search/tab_search_item.ts
index bb2446a..1153990 100644
--- a/chrome/browser/resources/tab_search/tab_search_item.ts
+++ b/chrome/browser/resources/tab_search/tab_search_item.ts
@@ -202,6 +202,8 @@
return 'audio-playing';
case TabAlertState.kAudioMuting:
return 'audio-muting';
+ case TabAlertState.kGlicAccessing:
+ return 'glic-accessing';
default:
return '';
}
diff --git a/chrome/browser/ui/color/chrome_color_id.h b/chrome/browser/ui/color/chrome_color_id.h
index 836633d..7437311 100644
--- a/chrome/browser/ui/color/chrome_color_id.h
+++ b/chrome/browser/ui/color/chrome_color_id.h
@@ -778,6 +778,7 @@
E_CPONLY(kColorTabSearchImageWindowFrame) \
E_CPONLY(kColorTabSearchMediaIcon) \
E_CPONLY(kColorTabSearchMediaRecordingIcon) \
+ E_CPONLY(kColorTabSearchMediaGlicActiveIcon) \
E_CPONLY(kColorTabSearchPrimaryForeground) \
E_CPONLY(kColorTabSearchSecondaryForeground) \
E_CPONLY(kColorTabSearchSelected) \
diff --git a/chrome/browser/ui/color/material_chrome_color_mixer.cc b/chrome/browser/ui/color/material_chrome_color_mixer.cc
index 6104b5b..a4cc512 100644
--- a/chrome/browser/ui/color/material_chrome_color_mixer.cc
+++ b/chrome/browser/ui/color/material_chrome_color_mixer.cc
@@ -156,6 +156,7 @@
mixer[kColorTabSearchImageWindowFrame] = {ui::kColorSysInversePrimary};
mixer[kColorTabSearchMediaIcon] = {ui::kColorSysOnSurfaceSubtle};
mixer[kColorTabSearchMediaRecordingIcon] = {ui::kColorSysError};
+ mixer[kColorTabSearchMediaGlicActiveIcon] = {ui::kColorSysPrimary};
mixer[kColorTabSearchPrimaryForeground] = {ui::kColorSysOnSurface};
mixer[kColorTabSearchSecondaryForeground] = {ui::kColorSysOnSurfaceSubtle};
mixer[kColorTabSearchSelected] = {ui::kColorSysPrimary};
diff --git a/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc b/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
index c81b9894..7d82d340 100644
--- a/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
+++ b/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
@@ -1480,7 +1480,8 @@
alert == TabAlertState::AUDIO_RECORDING ||
alert == TabAlertState::VIDEO_RECORDING ||
alert == TabAlertState::AUDIO_PLAYING ||
- alert == TabAlertState::AUDIO_MUTING;
+ alert == TabAlertState::AUDIO_MUTING ||
+ alert == TabAlertState::GLIC_ACCESSING;
});
return tab_data;
diff --git a/chrome/browser/ui/webui/tabs/tabs.mojom b/chrome/browser/ui/webui/tabs/tabs.mojom
index b42cea2e..4335825c 100644
--- a/chrome/browser/ui/webui/tabs/tabs.mojom
+++ b/chrome/browser/ui/webui/tabs/tabs.mojom
@@ -12,6 +12,7 @@
kAudioPlaying,
kBluetoothConnected,
kDesktopCapturing,
+ kGlicAccessing,
kHidConnected,
kMediaRecording,
kPipPlaying,
diff --git a/chrome/browser/ui/webui/tabs/tabs_mojom_traits.h b/chrome/browser/ui/webui/tabs/tabs_mojom_traits.h
index 16407479..c5e62ab9 100644
--- a/chrome/browser/ui/webui/tabs/tabs_mojom_traits.h
+++ b/chrome/browser/ui/webui/tabs/tabs_mojom_traits.h
@@ -43,7 +43,9 @@
{TabAlertState::AUDIO_RECORDING,
tabs::mojom::TabAlertState::kAudioRecording},
{TabAlertState::VIDEO_RECORDING,
- tabs::mojom::TabAlertState::kVideoRecording}});
+ tabs::mojom::TabAlertState::kVideoRecording},
+ {TabAlertState::GLIC_ACCESSING,
+ tabs::mojom::TabAlertState::kGlicAccessing}});
return alert_state_map.at(input);
}