summaryrefslogtreecommitdiffstats
path: root/extensions/browser/api/guest_view/guest_view_internal_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/browser/api/guest_view/guest_view_internal_api.cc')
-rw-r--r--extensions/browser/api/guest_view/guest_view_internal_api.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/extensions/browser/api/guest_view/guest_view_internal_api.cc b/extensions/browser/api/guest_view/guest_view_internal_api.cc
index bfe4fb5..aea9c8e 100644
--- a/extensions/browser/api/guest_view/guest_view_internal_api.cc
+++ b/extensions/browser/api/guest_view/guest_view_internal_api.cc
@@ -6,12 +6,15 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
+#include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/common/api/guest_view_internal.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "extensions/common/permissions/permissions_data.h"
+using guestview::GuestViewManagerDelegate;
+
namespace guest_view_internal = extensions::core_api::guest_view_internal;
namespace extensions {
@@ -31,6 +34,12 @@ bool GuestViewInternalCreateGuestFunction::RunAsync() {
// if we don't already have one.
GuestViewManager* guest_view_manager =
GuestViewManager::FromBrowserContext(browser_context());
+ if (!guest_view_manager) {
+ guest_view_manager = GuestViewManager::CreateWithDelegate(
+ browser_context(),
+ scoped_ptr<GuestViewManagerDelegate>(
+ new ExtensionsGuestViewManagerDelegate(context_)));
+ }
GuestViewManager::WebContentsCreatedCallback callback =
base::Bind(&GuestViewInternalCreateGuestFunction::CreateGuestCallback,