Index: extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
index 90c8345d215c1e1ba02defe42f61d83d1ed478a6..6ca1ae1802353d8582c41b0327fdf115fbaca142 100644 |
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
@@ -78,6 +78,14 @@ void MimeHandlerViewGuest::CreateWebContents( |
std::string extension_src; |
create_params.GetString(mime_handler_view::kSrc, &extension_src); |
DCHECK(!extension_src.empty()); |
+ std::string content_url_str; |
+ create_params.GetString(mime_handler_view::kContentUrl, &content_url_str); |
+ content_url_ = GURL(content_url_str); |
+ if (!content_url_.is_valid()) { |
+ content_url_ = GURL(); |
+ callback.Run(nullptr); |
+ return; |
+ } |
GURL mime_handler_extension_url(extension_src); |
if (!mime_handler_extension_url.is_valid()) { |
@@ -184,6 +192,15 @@ void MimeHandlerViewGuest::FindReply(content::WebContents* web_contents, |
final_update); |
} |
+bool MimeHandlerViewGuest::SaveFrame(const GURL& url, |
+ const content::Referrer& referrer) { |
+ if (!attached()) |
+ return false; |
+ |
+ embedder_web_contents()->SaveFrame(content_url_, referrer); |
+ return true; |
+} |
+ |
bool MimeHandlerViewGuest::OnMessageReceived(const IPC::Message& message) { |
bool handled = true; |
IPC_BEGIN_MESSAGE_MAP(MimeHandlerViewGuest, message) |