1 // Copyright 2015 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 #ifndef EXTENSIONS_BROWSER_DEFERRED_START_RENDER_HOST_H_
6 #define EXTENSIONS_BROWSER_DEFERRED_START_RENDER_HOST_H_
9 class DeferredStartRenderHostObserver
;
11 // A browser component that tracks a renderer. It allows for its renderer
12 // startup to be deferred, to throttle resource usage upon profile startup.
13 // To be used with ExtensionHostQueue.
15 // Note that if BackgroundContents and ExtensionHost are unified
16 // (crbug.com/77790), this interface will be no longer needed.
17 class DeferredStartRenderHost
{
19 virtual ~DeferredStartRenderHost() {}
21 // DeferredStartRenderHost lifetime can be observed.
22 virtual void AddDeferredStartRenderHostObserver(
23 DeferredStartRenderHostObserver
* observer
) = 0;
24 virtual void RemoveDeferredStartRenderHostObserver(
25 DeferredStartRenderHostObserver
* observer
) = 0;
27 // DO NOT CALL THIS unless you're implementing an ExtensionHostQueue.
28 // Called by the ExtensionHostQueue to create the RenderView.
29 virtual void CreateRenderViewNow() = 0;
32 } // namespace extensions
34 #endif // EXTENSIONS_BROWSER_DEFERRED_START_RENDER_HOST_H_