178901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 278901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 378901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch// found in the LICENSE file. 478901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 578901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch#ifndef CHROME_BROWSER_GOOGLE_DID_RUN_UPDATER_WIN_H_ 678901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch#define CHROME_BROWSER_GOOGLE_DID_RUN_UPDATER_WIN_H_ 778901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 878901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch#include "base/macros.h" 978901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch#include "content/public/browser/notification_observer.h" 1078901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch#include "content/public/browser/notification_registrar.h" 1178901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 1278901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch// Updates Chrome's "did run" state periodically when the process is in use. 1378901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch// The creation of renderers is used as a proxy for "is the browser in use." 1478901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdochclass DidRunUpdater : public content::NotificationObserver { 1578901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch public: 1678901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch DidRunUpdater(); 1778901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch ~DidRunUpdater() override; 1878901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 1978901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch private: 2078901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch // content::NotificationObserver: 2178901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch void Observe(int type, 2278901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch const content::NotificationSource& source, 2378901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch const content::NotificationDetails& details) override; 2478901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 2578901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch // True if the process is running from a system-level installation. 2678901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch bool system_level_; 2778901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch content::NotificationRegistrar registrar_; 2878901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 2978901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch DISALLOW_COPY_AND_ASSIGN(DidRunUpdater); 3078901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch}; 3178901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch 3278901d17b47ef1f8d6d0a89eaf37f9523ba1de85Ben Murdoch#endif // CHROME_BROWSER_GOOGLE_DID_RUN_UPDATER_WIN_H_ 33