Index: chrome/browser/ui/panels/panel.cc |
diff --git a/chrome/browser/ui/panels/panel.cc b/chrome/browser/ui/panels/panel.cc |
index ca0541f4d724d8bba9df84dcaf8550a3d1b37587..aea81d318d2c5ba2a8681595d7ab810c94c51c36 100644 |
--- a/chrome/browser/ui/panels/panel.cc |
+++ b/chrome/browser/ui/panels/panel.cc |
@@ -21,6 +21,8 @@ |
#include "chrome/browser/extensions/window_controller.h" |
#include "chrome/browser/extensions/window_controller_list.h" |
#include "chrome/browser/lifetime/application_lifetime.h" |
+#include "chrome/browser/lifetime/keep_alive_types.h" |
+#include "chrome/browser/lifetime/scoped_keep_alive.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sessions/session_tab_helper.h" |
#include "chrome/browser/task_management/web_contents_tags.h" |
@@ -166,10 +168,6 @@ bool PanelExtensionWindowController::IsVisibleToExtension( |
Panel::~Panel() { |
DCHECK(!collection_); |
-#if !defined(USE_AURA) |
- // Invoked by native panel destructor. Do not access native_panel_ here. |
- chrome::DecrementKeepAliveCount(); // Remove shutdown prevention. |
-#endif |
} |
PanelManager* Panel::manager() const { |
@@ -560,8 +558,12 @@ void Panel::Initialize(const GURL& url, |
#if !defined(USE_AURA) |
// Keep alive for AURA has been moved to panel_view. |
+ // TODO(dgn): Ash for windows is being removed. Should the keep_alive in |
+ // panel view be moved back here? Reverting |
+ // https://codereview.chromium.org/173403002 ? |
+ |
// Prevent the browser process from shutting down while this window is open. |
- chrome::IncrementKeepAliveCount(); |
+ keep_alive_.reset(new ScopedKeepAlive(KeepAliveOrigin::PANEL)); |
#endif |
UpdateAppIcon(); |