fix: fixed white flash on call to BrowserWindow.show (#47151)

This commit is contained in:
CezaryKulakowski
2025-10-14 15:58:27 +02:00
committed by GitHub
parent 9b740594fb
commit 357e42d907
3 changed files with 17 additions and 3 deletions

View File

@@ -106,8 +106,8 @@ class BaseWindow : public gin_helper::TrackableObject<BaseWindow>,
virtual void Focus();
virtual void Blur();
bool IsFocused() const;
void Show();
void ShowInactive();
virtual void Show();
virtual void ShowInactive();
void Hide();
bool IsVisible() const;
bool IsEnabled() const;

View File

@@ -280,7 +280,6 @@ v8::Local<v8::Value> BrowserWindow::GetWebContents(v8::Isolate* isolate) {
}
void BrowserWindow::OnWindowShow() {
web_contents()->WasShown();
BaseWindow::OnWindowShow();
}
@@ -289,6 +288,19 @@ void BrowserWindow::OnWindowHide() {
BaseWindow::OnWindowHide();
}
void BrowserWindow::Show() {
web_contents()->WasShown();
BaseWindow::Show();
}
void BrowserWindow::ShowInactive() {
// This method doesn't make sense for modal window.
if (IsModal())
return;
web_contents()->WasShown();
BaseWindow::ShowInactive();
}
// static
gin_helper::WrappableBase* BrowserWindow::New(gin_helper::ErrorThrower thrower,
gin::Arguments* args) {

View File

@@ -67,6 +67,8 @@ class BrowserWindow : public BaseWindow,
void SetBackgroundMaterial(const std::string& material) override;
void OnWindowShow() override;
void OnWindowHide() override;
void Show() override;
void ShowInactive() override;
// BrowserWindow APIs.
void FocusOnWebView();