| // 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_OBSERVER_H_ | 
 | #define EXTENSIONS_BROWSER_PROCESS_MANAGER_OBSERVER_H_ | 
 |  | 
 | #include <string> | 
 |  | 
 | namespace content { | 
 | class RenderFrameHost; | 
 | } | 
 |  | 
 | namespace extensions { | 
 | class Extension; | 
 | class ExtensionHost; | 
 |  | 
 | class ProcessManagerObserver { | 
 |  public: | 
 |   // Called immediately after an extension background host is started. This | 
 |   // corresponds with the loading of background hosts immediately after profile | 
 |   // startup. | 
 |   virtual void OnBackgroundHostStartup(const Extension* extension) {} | 
 |  | 
 |   // Called immediately after an ExtensionHost for an extension is created. | 
 |   // This corresponds with any time ProcessManager::OnBackgroundHostCreated is | 
 |   // called. | 
 |   virtual void OnBackgroundHostCreated(ExtensionHost* host) {} | 
 |  | 
 |   // Called immediately after the extension background host is destroyed. | 
 |   virtual void OnBackgroundHostClose(const std::string& extension_id) {} | 
 |  | 
 |   // Called when a RenderFrameHost has been registered in an extension process. | 
 |   virtual void OnExtensionFrameRegistered( | 
 |       const std::string& extension_id, | 
 |       content::RenderFrameHost* render_frame_host) {} | 
 |  | 
 |   // Called when a RenderFrameHost is no longer part of an extension process. | 
 |   virtual void OnExtensionFrameUnregistered( | 
 |       const std::string& extension_id, | 
 |       content::RenderFrameHost* render_frame_host) {} | 
 | }; | 
 |  | 
 | }  // namespace extensions | 
 |  | 
 | #endif  // EXTENSIONS_BROWSER_PROCESS_MANAGER_OBSERVER_H_ |