|  | // Copyright 2022 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "chrome/browser/extensions/extension_browsertest.h" | 
|  | #include "chrome/browser/themes/theme_properties.h" | 
|  | #include "chrome/browser/ui/browser_window.h" | 
|  | #include "chrome/browser/ui/color/chrome_color_id.h" | 
|  | #include "content/public/test/browser_test.h" | 
|  | #include "extensions/common/image_util.h" | 
|  | #include "ui/base/buildflags.h" | 
|  | #include "ui/base/ui_base_features.h" | 
|  | #include "ui/color/color_provider.h" | 
|  | #include "ui/native_theme/mock_os_settings_provider.h" | 
|  |  | 
|  | #if BUILDFLAG(IS_LINUX) | 
|  | #include "ui/linux/linux_ui.h" | 
|  | #include "ui/linux/linux_ui_getter.h" | 
|  | #include "ui/native_theme/native_theme.h" | 
|  | #endif | 
|  |  | 
|  | namespace { | 
|  |  | 
|  | using ImageUtilTest = extensions::ExtensionBrowserTest; | 
|  |  | 
|  | // This test verifies that the assumed default color of the toolbar | 
|  | // doesn't change, and if it does, we update the default value. We | 
|  | // need this test at the browser level, since the lower levels where | 
|  | // we use this value don't have access to the ThemeService. | 
|  | // | 
|  | // TODO(crbug.com/40559794): The validation that uses this color | 
|  | // should happen at some point where the requesting Chrome window can supply the | 
|  | // relevant toolbar color through an interface of some sort, removing this | 
|  | // hardcoded value. | 
|  | // TODO(crbug.com/41493594): This test is disabled because we are unable to | 
|  | // express the correct color for extensions::image_util::kDefaultToolbarColor | 
|  | // due to the color pipeline changes that happened with the ChromeRefresh2023 | 
|  | // update. In order to re-enable this test, find a way to pass the correct | 
|  | // toolbar color into image_util::kDefaultToolbarColor. If not possible, | 
|  | // consider deleting this test. | 
|  | IN_PROC_BROWSER_TEST_F(ImageUtilTest, DISABLED_CheckDefaultToolbarColor) { | 
|  | // This test relies on being run with the default light mode theme. | 
|  | ui::MockOsSettingsProvider os_settings_provider;  // Forces light mode. | 
|  | #if BUILDFLAG(IS_LINUX) | 
|  | ui::LinuxUiGetter::set_instance(nullptr); | 
|  | ui::NativeTheme::GetInstanceForNativeUi()->NotifyOnNativeThemeUpdated(); | 
|  | #endif  // BUILDFLAG(IS_LINUX) | 
|  |  | 
|  | EXPECT_EQ(extensions::image_util::kDefaultToolbarColor, | 
|  | browser()->window()->GetColorProvider()->GetColor(kColorToolbar)) | 
|  | << "Please update image_util::kDefaultToolbarColor to the new value"; | 
|  | } | 
|  |  | 
|  | }  // namespace |