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 5e13a719f6f12aae1e900510ca410b5f0c04d760..1ee9252e392997ae23c48fd33d4073ef38bcbff1 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" |
@@ -234,6 +235,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 |
@@ -288,15 +293,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; |
} |
@@ -434,9 +430,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()); |
} |