| 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
|
|
|