process_manager_observer.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. #ifndef EXTENSIONS_BROWSER_PROCESS_MANAGER_OBSERVER_H_
  5. #define EXTENSIONS_BROWSER_PROCESS_MANAGER_OBSERVER_H_
  6. #include <string>
  7. #include "base/observer_list_types.h"
  8. namespace content {
  9. class RenderFrameHost;
  10. }
  11. namespace extensions {
  12. class Extension;
  13. class ExtensionHost;
  14. class ProcessManager;
  15. struct WorkerId;
  16. class ProcessManagerObserver : public base::CheckedObserver {
  17. public:
  18. // Called immediately after an extension background host is started. This
  19. // corresponds with the loading of background hosts immediately after profile
  20. // startup.
  21. virtual void OnBackgroundHostStartup(const Extension* extension) {}
  22. // Called immediately after an ExtensionHost for an extension is created.
  23. // This corresponds with any time ProcessManager::OnBackgroundHostCreated is
  24. // called.
  25. virtual void OnBackgroundHostCreated(ExtensionHost* host) {}
  26. // Called immediately after the extension background host is destroyed.
  27. virtual void OnBackgroundHostClose(const std::string& extension_id) {}
  28. // Called when a RenderFrameHost has been registered in an extension process.
  29. virtual void OnExtensionFrameRegistered(
  30. const std::string& extension_id,
  31. content::RenderFrameHost* render_frame_host) {}
  32. // Called when a RenderFrameHost is no longer part of an extension process.
  33. virtual void OnExtensionFrameUnregistered(
  34. const std::string& extension_id,
  35. content::RenderFrameHost* render_frame_host) {}
  36. // Called when a service worker is started.
  37. virtual void OnServiceWorkerRegistered(const WorkerId& worker_id) {}
  38. // Called when a service worker is no longer part of an extension process.
  39. virtual void OnServiceWorkerUnregistered(const WorkerId& worker_id) {}
  40. // Called when the observed ProcessManager is shutting down.
  41. virtual void OnProcessManagerShutdown(ProcessManager* manager) {}
  42. // Called when the renderer process has gone.
  43. virtual void OnExtensionProcessTerminated(const Extension* extension) {}
  44. };
  45. } // namespace extensions
  46. #endif // EXTENSIONS_BROWSER_PROCESS_MANAGER_OBSERVER_H_