fix: explorer restart does not recreated thumbnail toolbar buttons (#39585)

fix: explorer restart does not recreated thumbnail toolbar buttons.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: harada <harada@thinkridge.com>
This commit is contained in:
trop[bot]
2023-08-21 17:03:08 +09:00
committed by GitHub
parent f22a5b80eb
commit 63883adbe0
3 changed files with 14 additions and 0 deletions

View File

@@ -234,6 +234,10 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options,
if (title_bar_style_ != TitleBarStyle::kNormal)
set_has_frame(false);
// If the taskbar is re-created after we start up, we have to rebuild all of
// our buttons.
taskbar_created_message_ = RegisterWindowMessage(TEXT("TaskbarCreated"));
#endif
if (enable_larger_than_screen())

View File

@@ -315,6 +315,10 @@ class NativeWindowViews : public NativeWindow,
// Controls Overlay if enabled on Windows.
SkColor overlay_button_color_;
SkColor overlay_symbol_color_;
// The message ID of the "TaskbarCreated" message, sent to us when we need to
// reset our thumbar buttons.
UINT taskbar_created_message_ = 0;
#endif
// Handles unhandled keyboard messages coming back from the renderer process.

View File

@@ -221,6 +221,12 @@ bool NativeWindowViews::PreHandleMSG(UINT message,
return true;
}
if (message == taskbar_created_message_) {
// We need to reset all of our buttons because the taskbar went away.
taskbar_host_.RestoreThumbarButtons(GetAcceleratedWidget());
return true;
}
switch (message) {
// Screen readers send WM_GETOBJECT in order to get the accessibility
// object, so take this opportunity to push Chromium into accessible