auto_keep_alive.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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. 4 5#include "chrome/browser/ui/views/auto_keep_alive.h" 6 7#include "chrome/browser/lifetime/application_lifetime.h" 8 9#if defined(USE_AURA) 10#include "ui/aura/window.h" 11#include "ui/views/view_constants_aura.h" 12#endif 13 14AutoKeepAlive::AutoKeepAlive(gfx::NativeWindow window) 15 : keep_alive_available_(true) { 16#if defined(USE_AURA) 17 // In case of aura we want default to be keep alive not available. 18 keep_alive_available_ = false; 19 if (window) { 20 gfx::NativeWindow native_window = window->GetRootWindow(); 21 if (native_window->GetProperty(views::kDesktopRootWindow)) 22 keep_alive_available_ = true; 23 } 24#endif 25 if (keep_alive_available_) 26 chrome::IncrementKeepAliveCount(); 27} 28 29AutoKeepAlive::~AutoKeepAlive() { 30 if (keep_alive_available_) 31 chrome::DecrementKeepAliveCount(); 32} 33