Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / views / auto_keep_alive.cc
blobc7128e983f42d2d346c655574c26f50c22fbd385
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/views/auto_keep_alive.h"
7 #include "chrome/browser/lifetime/application_lifetime.h"
8 #include "chrome/browser/ui/host_desktop.h"
10 AutoKeepAlive::AutoKeepAlive(gfx::NativeWindow window)
11 : keep_alive_available_(false) {
12 // In case of aura we want default to be keep alive not available for ash
13 // because ash has keep alive set and we don't want additional keep alive
14 // count.
15 chrome::HostDesktopType desktop_type =
16 window ? chrome::GetHostDesktopTypeForNativeWindow(window)
17 : chrome::GetActiveDesktop();
18 if (desktop_type != chrome::HOST_DESKTOP_TYPE_ASH) {
19 keep_alive_available_ = true;
20 chrome::IncrementKeepAliveCount();
24 AutoKeepAlive::~AutoKeepAlive() {
25 if (keep_alive_available_)
26 chrome::DecrementKeepAliveCount();