Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Side by Side Diff: extensions/browser/api/guest_view/guest_view_internal_api.cc

Issue 1066563006: GuestView: Move GuestViewManager extension dependencies to ExtensionsGuestViewManagerDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@extensions_guest_view_message_filter
Patch Set: Fixed tests Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/guest_view/guest_view_internal_api.h" 5 #include "extensions/browser/api/guest_view/guest_view_internal_api.h"
6 6
7 #include "content/public/browser/render_process_host.h" 7 #include "content/public/browser/render_process_host.h"
8 #include "content/public/browser/render_view_host.h" 8 #include "content/public/browser/render_view_host.h"
9 #include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h "
9 #include "extensions/browser/guest_view/guest_view_base.h" 10 #include "extensions/browser/guest_view/guest_view_base.h"
10 #include "extensions/browser/guest_view/guest_view_manager.h" 11 #include "extensions/browser/guest_view/guest_view_manager.h"
11 #include "extensions/common/api/guest_view_internal.h" 12 #include "extensions/common/api/guest_view_internal.h"
12 #include "extensions/common/guest_view/guest_view_constants.h" 13 #include "extensions/common/guest_view/guest_view_constants.h"
13 #include "extensions/common/permissions/permissions_data.h" 14 #include "extensions/common/permissions/permissions_data.h"
14 15
16 using guestview::GuestViewManagerDelegate;
17
15 namespace guest_view_internal = extensions::core_api::guest_view_internal; 18 namespace guest_view_internal = extensions::core_api::guest_view_internal;
16 19
17 namespace extensions { 20 namespace extensions {
18 21
19 GuestViewInternalCreateGuestFunction:: 22 GuestViewInternalCreateGuestFunction::
20 GuestViewInternalCreateGuestFunction() { 23 GuestViewInternalCreateGuestFunction() {
21 } 24 }
22 25
23 bool GuestViewInternalCreateGuestFunction::RunAsync() { 26 bool GuestViewInternalCreateGuestFunction::RunAsync() {
24 std::string view_type; 27 std::string view_type;
25 EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &view_type)); 28 EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &view_type));
26 29
27 base::DictionaryValue* create_params; 30 base::DictionaryValue* create_params;
28 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(1, &create_params)); 31 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(1, &create_params));
29 32
30 // Since we are creating a new guest, we will create a GuestViewManager 33 // Since we are creating a new guest, we will create a GuestViewManager
31 // if we don't already have one. 34 // if we don't already have one.
32 GuestViewManager* guest_view_manager = 35 GuestViewManager* guest_view_manager =
33 GuestViewManager::FromBrowserContext(browser_context()); 36 GuestViewManager::FromBrowserContext(browser_context());
37 if (!guest_view_manager) {
38 guest_view_manager = GuestViewManager::CreateWithDelegate(
39 browser_context(),
40 scoped_ptr<GuestViewManagerDelegate>(
41 new ExtensionsGuestViewManagerDelegate(context_)));
42 }
34 43
35 GuestViewManager::WebContentsCreatedCallback callback = 44 GuestViewManager::WebContentsCreatedCallback callback =
36 base::Bind(&GuestViewInternalCreateGuestFunction::CreateGuestCallback, 45 base::Bind(&GuestViewInternalCreateGuestFunction::CreateGuestCallback,
37 this); 46 this);
38 47
39 content::WebContents* sender_web_contents = GetSenderWebContents(); 48 content::WebContents* sender_web_contents = GetSenderWebContents();
40 if (!sender_web_contents) { 49 if (!sender_web_contents) {
41 error_ = "Guest views can only be embedded in web content"; 50 error_ = "Guest views can only be embedded in web content";
42 return false; 51 return false;
43 } 52 }
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 set_size_params.normal_size.reset(new gfx::Size( 131 set_size_params.normal_size.reset(new gfx::Size(
123 params->params.normal->width, params->params.normal->height)); 132 params->params.normal->width, params->params.normal->height));
124 } 133 }
125 134
126 guest->SetSize(set_size_params); 135 guest->SetSize(set_size_params);
127 SendResponse(true); 136 SendResponse(true);
128 return true; 137 return true;
129 } 138 }
130 139
131 } // namespace extensions 140 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698