Index: chrome/browser/guest_view/web_view/web_view_guest.cc |
diff --git a/chrome/browser/guest_view/web_view/web_view_guest.cc b/chrome/browser/guest_view/web_view/web_view_guest.cc |
index 7aea60478e1d16b6718e7dab5bde1301ba49dd60..0ba76151bc530edd539e26e3b078b25ca93fe5ba 100644 |
--- a/chrome/browser/guest_view/web_view/web_view_guest.cc |
+++ b/chrome/browser/guest_view/web_view/web_view_guest.cc |
@@ -359,10 +359,26 @@ void WebViewGuest::EmbedderDestroyed() { |
view_instance_id())); |
} |
+void WebViewGuest::GuestDestroyed() { |
+ // Clean up custom context menu items for this guest. |
+ extensions::MenuManager* menu_manager = extensions::MenuManager::Get( |
+ Profile::FromBrowserContext(browser_context())); |
+ menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey( |
+ embedder_extension_id(), view_instance_id())); |
+ |
+ RemoveWebViewFromExtensionRendererState(web_contents()); |
+} |
+ |
bool WebViewGuest::IsDragAndDropEnabled() const { |
return true; |
} |
+void WebViewGuest::WillDestroy() { |
+ if (!attached() && GetOpener()) |
+ GetOpener()->pending_new_windows_.erase(this); |
+ DestroyUnattachedWindows(); |
+} |
+ |
bool WebViewGuest::AddMessageToConsole(WebContents* source, |
int32 level, |
const base::string16& message, |
@@ -865,17 +881,6 @@ void WebViewGuest::RenderProcessGone(base::TerminationStatus status) { |
DispatchEvent(new GuestViewBase::Event(webview::kEventExit, args.Pass())); |
} |
-void WebViewGuest::WebContentsDestroyed() { |
- // Clean up custom context menu items for this guest. |
- extensions::MenuManager* menu_manager = extensions::MenuManager::Get( |
- Profile::FromBrowserContext(browser_context())); |
- menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey( |
- embedder_extension_id(), view_instance_id())); |
- |
- RemoveWebViewFromExtensionRendererState(web_contents()); |
- GuestViewBase::WebContentsDestroyed(); |
-} |
- |
void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) { |
content::NavigationController& controller = |
guest_web_contents()->GetController(); |
@@ -1269,13 +1274,6 @@ void WebViewGuest::SetZoom(double zoom_factor) { |
current_zoom_factor_ = zoom_factor; |
} |
-void WebViewGuest::Destroy() { |
- if (!attached() && GetOpener()) |
- GetOpener()->pending_new_windows_.erase(this); |
- DestroyUnattachedWindows(); |
- GuestViewBase::Destroy(); |
-} |
- |
void WebViewGuest::AddNewContents(content::WebContents* source, |
content::WebContents* new_contents, |
WindowOpenDisposition disposition, |