blob: 037c4b6c1b7dbfb9f2bfca5195f7995eaa94ad6e [file] [log] [blame]
// 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_