15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace content { 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class BrowserContext; 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace extensions { 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Customization of ProcessManager for the extension system embedder. 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class ProcessManagerDelegate { 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) public: 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual ~ProcessManagerDelegate() {} 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Returns true if the embedder allows background pages for the given 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // |context|. 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual bool IsBackgroundPageAllowed( 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) content::BrowserContext* context) const = 0; 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Returns true if the embedder wishes to defer starting up the renderers for 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // extension background pages. If the embedder returns true it must call 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // ProcessManager::MaybeCreateStartupBackgroundHosts() when it is ready. See 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // ChromeProcessManagerDelegate for examples of how this is useful. 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual bool DeferCreatingStartupBackgroundHosts( 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) content::BrowserContext* context) const = 0; 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace extensions 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // EXTENSIONS_BROWSER_PROCESS_MANAGER_DELEGATE_H_ 35