From a38f1710d33ad60b820db60a5697de9dc6bd38c6 Mon Sep 17 00:00:00 2001 From: Cezary Kulakowski Date: Fri, 25 Sep 2020 11:19:56 +0200 Subject: [PATCH] Revert "fix: ensure ready-to-show event is fired (#25448)" This reverts commit e5933c691097a272776330fc05133068316ca43d. --- .../api/electron_api_browser_window.cc | 22 +------------------ .../browser/api/electron_api_browser_window.h | 4 ---- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/shell/browser/api/electron_api_browser_window.cc b/shell/browser/api/electron_api_browser_window.cc index c834a76fd4302..bfda0fe19bd88 100644 --- a/shell/browser/api/electron_api_browser_window.cc +++ b/shell/browser/api/electron_api_browser_window.cc @@ -157,32 +157,12 @@ void BrowserWindow::DidFirstVisuallyNonEmptyPaint() { base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce( [](base::WeakPtr self) { - if (self && !self->did_ready_to_show_fired_) { - self->did_ready_to_show_fired_ = true; + if (self) self->Emit("ready-to-show"); - } }, GetWeakPtr())); } -void BrowserWindow::DidFinishLoad(content::RenderFrameHost* render_frame_host, - const GURL& validated_url) { - // The DidFirstVisuallyNonEmptyPaint event is not very stable that, sometimes - // on some machines it might not be fired, and the actual behavior depends on - // the version of Chromium. - // To work around this bug, we ensure the ready-to-show event is emitted if it - // has not been emitted in did-finish-load event. - // Note that we use did-finish-load event instead of dom-ready event because - // the latter may actually be emitted before the ready-to-show event. - // See also https://github.com/electron/electron/issues/7779. - if (window()->IsVisible() || did_ready_to_show_fired_) - return; - if (render_frame_host->GetParent()) // child frame - return; - did_ready_to_show_fired_ = true; - Emit("ready-to-show"); -} - void BrowserWindow::BeforeUnloadDialogCancelled() { WindowList::WindowCloseCancelled(window()); // Cancel unresponsive event when window close is cancelled. diff --git a/shell/browser/api/electron_api_browser_window.h b/shell/browser/api/electron_api_browser_window.h index 0df4982ba8a31..3df0ff41d1bcc 100644 --- a/shell/browser/api/electron_api_browser_window.h +++ b/shell/browser/api/electron_api_browser_window.h @@ -49,8 +49,6 @@ class BrowserWindow : public BaseWindow, content::RenderViewHost* new_host) override; void RenderViewCreated(content::RenderViewHost* render_view_host) override; void DidFirstVisuallyNonEmptyPaint() override; - void DidFinishLoad(content::RenderFrameHost* render_frame_host, - const GURL& validated_url) override; void BeforeUnloadDialogCancelled() override; void OnRendererUnresponsive(content::RenderProcessHost*) override; void OnRendererResponsive( @@ -121,8 +119,6 @@ class BrowserWindow : public BaseWindow, // it should be cancelled when we can prove that the window is responsive. base::CancelableClosure window_unresponsive_closure_; - bool did_ready_to_show_fired_ = false; - #if defined(OS_MAC) std::vector draggable_regions_; #endif