From f2fa32dd344ec8fbbfbcdeb8298ebc5a10ae60f2 Mon Sep 17 00:00:00 2001 From: sssooonnnggg Date: Wed, 16 Jun 2021 14:29:35 +0800 Subject: [PATCH] fix: fix hover state not clear bug when BrowserWindow is not resizable (#611) --- shell/browser/ui/views/frameless_view.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/shell/browser/ui/views/frameless_view.cc b/shell/browser/ui/views/frameless_view.cc index 6c5ae23ec2f34..734896a66ee53 100644 --- a/shell/browser/ui/views/frameless_view.cc +++ b/shell/browser/ui/views/frameless_view.cc @@ -38,6 +38,13 @@ int FramelessView::ResizingBorderHitTest(const gfx::Point& point) { bool can_ever_resize = frame_->widget_delegate() ? frame_->widget_delegate()->CanResize() : false; + + // https://github.com/electron/electron/issues/611 + // If window isn't resizable, we should always return HTCLIENT, otherwise the + // hover state of DOM will not be cleared probably. + if (!can_ever_resize) + return HTCLIENT; + // Don't allow overlapping resize handles when the window is maximized or // fullscreen, as it can't be resized in those states. int resize_border = frame_->IsMaximized() || frame_->IsFullscreen()