// 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_DEFERRED_START_RENDER_HOST_H_ #define EXTENSIONS_BROWSER_DEFERRED_START_RENDER_HOST_H_ namespace extensions { class DeferredStartRenderHostObserver; // A browser component that tracks a renderer. It allows for its renderer // startup to be deferred, to throttle resource usage upon profile startup. // To be used with ExtensionHostQueue. // // Note that if BackgroundContents and ExtensionHost are unified // (crbug.com/77790), this interface will be no longer needed. class DeferredStartRenderHost { public: virtual ~DeferredStartRenderHost() {} // DeferredStartRenderHost lifetime can be observed. virtual void AddDeferredStartRenderHostObserver( DeferredStartRenderHostObserver* observer) = 0; virtual void RemoveDeferredStartRenderHostObserver( DeferredStartRenderHostObserver* observer) = 0; // DO NOT CALL THIS unless you're implementing an ExtensionHostQueue. // Called by the ExtensionHostQueue to create the RenderView. virtual void CreateRenderViewNow() = 0; }; } // namespace extensions #endif // EXTENSIONS_BROWSER_DEFERRED_START_RENDER_HOST_H_