Index: chrome/browser/extensions/chrome_extensions_browser_client.cc |
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc |
index 88593643723596259030352aa4110ea27e4ceb9d..5dad1923d9249626fa636caa57212c36294a4589 100644 |
--- a/chrome/browser/extensions/chrome_extensions_browser_client.cc |
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc |
@@ -26,6 +26,7 @@ |
#include "chrome/browser/extensions/event_router_forwarder.h" |
#include "chrome/browser/extensions/extension_system_factory.h" |
#include "chrome/browser/extensions/extension_util.h" |
+#include "chrome/browser/extensions/menu_manager.h" |
#include "chrome/browser/external_protocol/external_protocol_handler.h" |
#include "chrome/browser/net/chrome_net_log.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -35,6 +36,7 @@ |
#include "chrome/common/chrome_version_info.h" |
#include "chrome/common/extensions/features/feature_channel.h" |
#include "chrome/common/pref_names.h" |
+#include "content/public/browser/render_process_host.h" |
#include "extensions/browser/api/generated_api_registration.h" |
#include "extensions/browser/extension_function_registry.h" |
#include "extensions/browser/extension_prefs.h" |
@@ -331,4 +333,17 @@ void ChromeExtensionsBrowserClient::ReportError( |
extensions::ErrorConsole::Get(context)->ReportError(error.Pass()); |
} |
+void ChromeExtensionsBrowserClient::CleanUpWebView(int embedder_process_id, |
+ int view_instance_id) { |
+ content::BrowserContext* browser_context = |
+ content::RenderProcessHost::FromID(embedder_process_id) |
+ ->GetBrowserContext(); |
+ |
+ // Clean up context menus for the WebView. |
+ auto menu_manager = |
+ MenuManager::Get(Profile::FromBrowserContext(browser_context)); |
+ menu_manager->RemoveAllContextItems( |
+ MenuItem::ExtensionKey("", embedder_process_id, view_instance_id)); |
+} |
+ |
} // namespace extensions |