diff --git a/shell/browser/api/electron_api_base_window.h b/shell/browser/api/electron_api_base_window.h index 53ddd8cee191..9580a820236c 100644 --- a/shell/browser/api/electron_api_base_window.h +++ b/shell/browser/api/electron_api_base_window.h @@ -104,8 +104,8 @@ class BaseWindow : public gin_helper::TrackableObject, 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; diff --git a/shell/browser/api/electron_api_browser_window.cc b/shell/browser/api/electron_api_browser_window.cc index 943530e697e4..ae94c5da9045 100644 --- a/shell/browser/api/electron_api_browser_window.cc +++ b/shell/browser/api/electron_api_browser_window.cc @@ -280,7 +280,6 @@ v8::Local 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) { diff --git a/shell/browser/api/electron_api_browser_window.h b/shell/browser/api/electron_api_browser_window.h index b13ffda8f8a1..02684f23b5c5 100644 --- a/shell/browser/api/electron_api_browser_window.h +++ b/shell/browser/api/electron_api_browser_window.h @@ -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();