Index: extensions/browser/guest_view/web_view/web_view_guest.cc |
diff --git a/extensions/browser/guest_view/web_view/web_view_guest.cc b/extensions/browser/guest_view/web_view/web_view_guest.cc |
index 6d7a4c23c6d7f5d4881eabd9d64078b0a897ce5a..0dc1cdd555387b9f8bc5cdd866fd69a185fc7266 100644 |
--- a/extensions/browser/guest_view/web_view/web_view_guest.cc |
+++ b/extensions/browser/guest_view/web_view/web_view_guest.cc |
@@ -40,6 +40,7 @@ |
#include "extensions/browser/api/guest_view/web_view/web_view_internal_api.h" |
#include "extensions/browser/api/web_request/web_request_api.h" |
#include "extensions/browser/extension_system.h" |
+#include "extensions/browser/extensions_browser_client.h" |
#include "extensions/browser/guest_view/web_view/web_view_constants.h" |
#include "extensions/browser/guest_view/web_view/web_view_content_script_manager.h" |
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" |
@@ -233,6 +234,10 @@ void WebViewGuest::CleanUp(int embedder_process_id, int view_instance_id) { |
// Clean up content scripts for the WebView. |
auto csm = WebViewContentScriptManager::Get(browser_context); |
csm->RemoveAllContentScriptsForWebView(embedder_process_id, view_instance_id); |
+ |
+ // Allow an extensions browser client to potentially perform more cleanup. |
+ ExtensionsBrowserClient::Get()->CleanUpWebView(embedder_process_id, |
+ view_instance_id); |
} |
// static |
@@ -287,15 +292,6 @@ int WebViewGuest::GetOrGenerateRulesRegistryID( |
return rules_registry_id; |
} |
-// static |
-int WebViewGuest::GetViewInstanceId(WebContents* contents) { |
- auto guest = FromWebContents(contents); |
- if (!guest) |
- return guest_view::kInstanceIDNone; |
- |
- return guest->view_instance_id(); |
-} |
- |
bool WebViewGuest::CanRunInDetachedState() const { |
return true; |
} |
@@ -433,9 +429,6 @@ int WebViewGuest::GetTaskPrefix() const { |
} |
void WebViewGuest::GuestDestroyed() { |
- // Clean up custom context menu items for this guest. |
- if (web_view_guest_delegate_) |
- web_view_guest_delegate_->OnGuestDestroyed(); |
RemoveWebViewStateFromIOThread(web_contents()); |
} |