1 // Copyright 2014 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. 4 5 #ifndef EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ 6 #define EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ 7 8 namespace content { 9 class BrowserContext; 10 }; 11 12 namespace extensions { 13 14 // Customization of ProcessManager for the extension system embedder. 15 class ProcessManagerDelegate { 16 public: 17 virtual ~ProcessManagerDelegate() {} 18 19 // Returns true if the embedder allows background pages for the given 20 // |context|. 21 virtual bool IsBackgroundPageAllowed( 22 content::BrowserContext* context) const = 0; 23 24 // Returns true if the embedder wishes to defer starting up the renderers for 25 // extension background pages. If the embedder returns true it must call 26 // ProcessManager::MaybeCreateStartupBackgroundHosts() when it is ready. See 27 // ChromeProcessManagerDelegate for examples of how this is useful. 28 virtual bool DeferCreatingStartupBackgroundHosts( 29 content::BrowserContext* context) const = 0; 30 }; 31 32 } // namespace extensions 33 34 #endif // EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ 35