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 41e076000f5b74660cef82ba4fa8b7c978f51ee4..4b65b29631e5c16281f37dd085ed40ec909fe9cc 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 |
@@ -8,9 +8,11 @@ |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/render_process_host.h" |
#include "content/public/common/url_constants.h" |
+#include "extensions/browser/api/extensions_api_client.h" |
#include "extensions/browser/guest_view/guest_view_constants.h" |
#include "extensions/browser/guest_view/guest_view_manager.h" |
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_constants.h" |
+#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h" |
#include "extensions/common/feature_switch.h" |
#include "extensions/strings/grit/extensions_strings.h" |
#include "net/base/url_util.h" |
@@ -35,7 +37,9 @@ GuestViewBase* MimeHandlerViewGuest::Create( |
MimeHandlerViewGuest::MimeHandlerViewGuest( |
content::BrowserContext* browser_context, |
int guest_instance_id) |
- : GuestView<MimeHandlerViewGuest>(browser_context, guest_instance_id) { |
+ : GuestView<MimeHandlerViewGuest>(browser_context, guest_instance_id), |
+ delegate_( |
+ ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate()) { |
} |
MimeHandlerViewGuest::~MimeHandlerViewGuest() { |
@@ -55,9 +59,9 @@ void MimeHandlerViewGuest::CreateWebContents( |
const base::DictionaryValue& create_params, |
const WebContentsCreatedCallback& callback) { |
std::string orig_mime_type; |
- DCHECK( |
- create_params.GetString(mime_handler_view::kMimeType, &orig_mime_type) && |
- !orig_mime_type.empty()); |
+ bool success = |
+ create_params.GetString(mime_handler_view::kMimeType, &orig_mime_type); |
+ DCHECK(success && !orig_mime_type.empty()); |
std::string guest_site_str; |
// Note that we put a prefix "mime-" before the mime type so that this |
// can never collide with an extension ID. |
@@ -85,8 +89,8 @@ void MimeHandlerViewGuest::CreateWebContents( |
void MimeHandlerViewGuest::DidAttachToEmbedder() { |
std::string src; |
- DCHECK(attach_params()->GetString(mime_handler_view::kSrc, &src) && |
- !src.empty()); |
+ bool success = attach_params()->GetString(mime_handler_view::kSrc, &src); |
+ DCHECK(success && !src.empty()); |
web_contents()->GetController().LoadURL( |
GURL(src), |
content::Referrer(), |
@@ -94,4 +98,9 @@ void MimeHandlerViewGuest::DidAttachToEmbedder() { |
std::string()); |
} |
+void MimeHandlerViewGuest::DidInitialize() { |
+ if (delegate_) |
+ delegate_->OnAttachHelpers(web_contents()); |
+} |
+ |
} // namespace extensions |