| Index: chrome/browser/extensions/extension_process_manager.cc
|
| diff --git a/chrome/browser/extensions/extension_process_manager.cc b/chrome/browser/extensions/extension_process_manager.cc
|
| index 6a2a88f720126915fbdb8b8eb973fe0726d4bbe3..40bf7ecc02f6f248798b07e48e630e2e730b5d4c 100644
|
| --- a/chrome/browser/extensions/extension_process_manager.cc
|
| +++ b/chrome/browser/extensions/extension_process_manager.cc
|
| @@ -66,7 +66,7 @@ std::string GetExtensionID(RenderViewHost* render_view_host) {
|
| class IncognitoExtensionProcessManager : public ExtensionProcessManager {
|
| public:
|
| explicit IncognitoExtensionProcessManager(Profile* profile);
|
| - virtual ~IncognitoExtensionProcessManager() {}
|
| + virtual ~IncognitoExtensionProcessManager();
|
| virtual ExtensionHost* CreateViewHost(
|
| const Extension* extension,
|
| const GURL& url,
|
| @@ -188,6 +188,17 @@ ExtensionProcessManager::~ExtensionProcessManager() {
|
| DCHECK(background_hosts_.empty());
|
| }
|
|
|
| +const ExtensionProcessManager::ViewSet
|
| +ExtensionProcessManager::GetAllViews() const {
|
| + ViewSet result;
|
| + for (ExtensionRenderViews::const_iterator iter =
|
| + all_extension_views_.begin();
|
| + iter != all_extension_views_.end(); ++iter) {
|
| + result.insert(iter->first);
|
| + }
|
| + return result;
|
| +}
|
| +
|
| void ExtensionProcessManager::EnsureBrowserWhenRequired(
|
| Browser* browser,
|
| chrome::ViewType view_type) {
|
| @@ -734,15 +745,13 @@ IncognitoExtensionProcessManager::IncognitoExtensionProcessManager(
|
| content::NotificationService::AllSources());
|
| }
|
|
|
| -const ExtensionProcessManager::ViewSet
|
| -ExtensionProcessManager::GetAllViews() const {
|
| - ViewSet result;
|
| - for (ExtensionRenderViews::const_iterator iter =
|
| - all_extension_views_.begin();
|
| - iter != all_extension_views_.end(); ++iter) {
|
| - result.insert(iter->first);
|
| - }
|
| - return result;
|
| +IncognitoExtensionProcessManager::~IncognitoExtensionProcessManager() {
|
| + // TODO(yoz): This cleanup code belongs in the MenuManager.
|
| + // Remove "incognito" "split" mode context menu items.
|
| + ExtensionService* service =
|
| + extensions::ExtensionSystem::Get(GetProfile())->extension_service();
|
| + if (service)
|
| + service->menu_manager()->RemoveAllIncognitoContextItems();
|
| }
|
|
|
| ExtensionHost* IncognitoExtensionProcessManager::CreateViewHost(
|
|
|