cef/patch/patches/win_taskbar_decorator_3645....

42 lines
1.8 KiB
Diff
Raw Normal View History

diff --git chrome/browser/taskbar/taskbar_decorator_win.cc chrome/browser/taskbar/taskbar_decorator_win.cc
index 20f37cf8b31ee..85569f9a9694c 100644
--- chrome/browser/taskbar/taskbar_decorator_win.cc
+++ chrome/browser/taskbar/taskbar_decorator_win.cc
@@ -18,12 +18,14 @@
#include "base/strings/utf_string_conversions.h"
#include "base/task/thread_pool.h"
#include "base/win/scoped_gdi_object.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/avatar_menu.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_attributes_storage.h"
#include "chrome/browser/profiles/profile_avatar_icon_util.h"
#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
#include "skia/ext/font_utils.h"
#include "skia/ext/image_operations.h"
#include "skia/ext/legacy_display_globals.h"
@@ -201,6 +203,21 @@ void UpdateTaskbarDecoration(Profile* profile, gfx::NativeWindow window) {
return;
}
+#if BUILDFLAG(ENABLE_CEF)
+ if (auto browser_view = BrowserView::GetBrowserViewForNativeWindow(window)) {
+ if (auto browser = browser_view->browser()) {
+ if (browser->cef_delegate() &&
+ (browser->is_type_picture_in_picture() ||
+ browser->is_type_devtools()) &&
+ browser->cef_delegate()->HasViewsHostedOpener()) {
+ // Don't add taskbar decoration.
+ taskbar::DrawTaskbarDecoration(window, nullptr);
+ return;
+ }
+ }
+ }
+#endif // BUILDFLAG(ENABLE_CEF)
+
// We need to draw the taskbar decoration. Even though we have an icon on the
// window's relaunch details, we draw over it because the user may have
// pinned the badge-less Chrome shortcut which will cause Windows to ignore