| // Copyright 2014 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_PROCESS_MANAGER_DELEGATE_H_ | 
 | #define EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ | 
 |  | 
 | namespace content { | 
 | class BrowserContext; | 
 | }; | 
 |  | 
 | namespace extensions { | 
 |  | 
 | // Customization of ProcessManager for the extension system embedder. | 
 | class ProcessManagerDelegate { | 
 |  public: | 
 |   virtual ~ProcessManagerDelegate() {} | 
 |  | 
 |   // Returns true if the embedder allows background pages for the given | 
 |   // |context|. | 
 |   virtual bool IsBackgroundPageAllowed( | 
 |       content::BrowserContext* context) const = 0; | 
 |  | 
 |   // Returns true if the embedder wishes to defer starting up the renderers for | 
 |   // extension background pages. If the embedder returns true it must call | 
 |   // ProcessManager::MaybeCreateStartupBackgroundHosts() when it is ready. See | 
 |   // ChromeProcessManagerDelegate for examples of how this is useful. | 
 |   virtual bool DeferCreatingStartupBackgroundHosts( | 
 |       content::BrowserContext* context) const = 0; | 
 | }; | 
 |  | 
 | }  // namespace extensions | 
 |  | 
 | #endif  // EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ |