// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_BROWSER_EVENT_PAGE_TRACKER_H_ #define EXTENSIONS_BROWSER_EVENT_PAGE_TRACKER_H_ #include #include "base/callback.h" namespace extensions { class Extension; class ExtensionHost; // Tracks an extension's event page suspend state. class EventPageTracker { public: // Returns true if an extension's event page is active, // or false if it is suspended. virtual bool IsEventPageSuspended(const std::string& extension_id) = 0; // Wakes an extension's event page from a suspended state and calls // |callback| after it is reactivated. // // |callback| will be passed true if the extension was reactivated // successfully, or false if an error occurred. // // Returns true if a wake operation was scheduled successfully, // or false if the event page was already awake. // Callback will be run asynchronously if true, and never run if false. virtual bool WakeEventPage(const std::string& extension_id, const base::Callback& callback) = 0; }; } // namespace extensions #endif // EXTENSIONS_BROWSER_EVENT_PAGE_TRACKER_H_