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

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

Issue 1102173002: Move GuestView layer in browser to components (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Jochen's comment + GuestViewBase cleanup Created 5 years, 7 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 "components/guest_view/browser/guest_view_base.h"
8 #include "components/guest_view/browser/guest_view_manager.h"
9 #include "components/guest_view/common/guest_view_constants.h"
7 #include "content/public/browser/render_process_host.h" 10 #include "content/public/browser/render_process_host.h"
8 #include "content/public/browser/render_view_host.h" 11 #include "content/public/browser/render_view_host.h"
9 #include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h " 12 #include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h "
10 #include "extensions/browser/guest_view/guest_view_base.h"
11 #include "extensions/browser/guest_view/guest_view_manager.h"
12 #include "extensions/common/api/guest_view_internal.h" 13 #include "extensions/common/api/guest_view_internal.h"
13 #include "extensions/common/guest_view/guest_view_constants.h"
14 #include "extensions/common/permissions/permissions_data.h" 14 #include "extensions/common/permissions/permissions_data.h"
15 15
16 using guestview::GuestViewManagerDelegate; 16 using guest_view::GuestViewBase;
17 using guest_view::GuestViewManager;
18 using guest_view::GuestViewManagerDelegate;
17 19
18 namespace guest_view_internal = extensions::core_api::guest_view_internal; 20 namespace guest_view_internal = extensions::core_api::guest_view_internal;
19 21
20 namespace extensions { 22 namespace extensions {
21 23
22 GuestViewInternalCreateGuestFunction:: 24 GuestViewInternalCreateGuestFunction::
23 GuestViewInternalCreateGuestFunction() { 25 GuestViewInternalCreateGuestFunction() {
24 } 26 }
25 27
26 bool GuestViewInternalCreateGuestFunction::RunAsync() { 28 bool GuestViewInternalCreateGuestFunction::RunAsync() {
(...skipping 19 matching lines...) Expand all
46 this); 48 this);
47 49
48 content::WebContents* sender_web_contents = GetSenderWebContents(); 50 content::WebContents* sender_web_contents = GetSenderWebContents();
49 if (!sender_web_contents) { 51 if (!sender_web_contents) {
50 error_ = "Guest views can only be embedded in web content"; 52 error_ = "Guest views can only be embedded in web content";
51 return false; 53 return false;
52 } 54 }
53 55
54 // Add flag to |create_params| to indicate that the element size is specified 56 // Add flag to |create_params| to indicate that the element size is specified
55 // in logical units. 57 // in logical units.
56 create_params->SetBoolean(guestview::kElementSizeIsLogical, true); 58 create_params->SetBoolean(guest_view::kElementSizeIsLogical, true);
57 59
58 guest_view_manager->CreateGuest(view_type, 60 guest_view_manager->CreateGuest(view_type,
59 sender_web_contents, 61 sender_web_contents,
60 *create_params, 62 *create_params,
61 callback); 63 callback);
62 return true; 64 return true;
63 } 65 }
64 66
65 void GuestViewInternalCreateGuestFunction::CreateGuestCallback( 67 void GuestViewInternalCreateGuestFunction::CreateGuestCallback(
66 content::WebContents* guest_web_contents) { 68 content::WebContents* guest_web_contents) {
67 int guest_instance_id = 0; 69 int guest_instance_id = 0;
68 int content_window_id = MSG_ROUTING_NONE; 70 int content_window_id = MSG_ROUTING_NONE;
69 if (guest_web_contents) { 71 if (guest_web_contents) {
70 GuestViewBase* guest = GuestViewBase::FromWebContents(guest_web_contents); 72 GuestViewBase* guest = GuestViewBase::FromWebContents(guest_web_contents);
71 guest_instance_id = guest->guest_instance_id(); 73 guest_instance_id = guest->guest_instance_id();
72 content_window_id = guest->proxy_routing_id(); 74 content_window_id = guest->proxy_routing_id();
73 } 75 }
74 scoped_ptr<base::DictionaryValue> return_params(new base::DictionaryValue()); 76 scoped_ptr<base::DictionaryValue> return_params(new base::DictionaryValue());
75 return_params->SetInteger(guestview::kID, guest_instance_id); 77 return_params->SetInteger(guest_view::kID, guest_instance_id);
76 return_params->SetInteger(guestview::kContentWindowID, content_window_id); 78 return_params->SetInteger(guest_view::kContentWindowID, content_window_id);
77 SetResult(return_params.release()); 79 SetResult(return_params.release());
78 SendResponse(true); 80 SendResponse(true);
79 } 81 }
80 82
81 GuestViewInternalDestroyGuestFunction:: 83 GuestViewInternalDestroyGuestFunction::
82 GuestViewInternalDestroyGuestFunction() { 84 GuestViewInternalDestroyGuestFunction() {
83 } 85 }
84 86
85 GuestViewInternalDestroyGuestFunction:: 87 GuestViewInternalDestroyGuestFunction::
86 ~GuestViewInternalDestroyGuestFunction() { 88 ~GuestViewInternalDestroyGuestFunction() {
(...skipping 20 matching lines...) Expand all
107 109
108 bool GuestViewInternalSetSizeFunction::RunAsync() { 110 bool GuestViewInternalSetSizeFunction::RunAsync() {
109 scoped_ptr<guest_view_internal::SetSize::Params> params( 111 scoped_ptr<guest_view_internal::SetSize::Params> params(
110 guest_view_internal::SetSize::Params::Create(*args_)); 112 guest_view_internal::SetSize::Params::Create(*args_));
111 EXTENSION_FUNCTION_VALIDATE(params.get()); 113 EXTENSION_FUNCTION_VALIDATE(params.get());
112 GuestViewBase* guest = GuestViewBase::From( 114 GuestViewBase* guest = GuestViewBase::From(
113 render_view_host()->GetProcess()->GetID(), params->instance_id); 115 render_view_host()->GetProcess()->GetID(), params->instance_id);
114 if (!guest) 116 if (!guest)
115 return false; 117 return false;
116 118
117 SetSizeParams set_size_params; 119 guest_view::SetSizeParams set_size_params;
118 if (params->params.enable_auto_size) { 120 if (params->params.enable_auto_size) {
119 set_size_params.enable_auto_size.reset( 121 set_size_params.enable_auto_size.reset(
120 params->params.enable_auto_size.release()); 122 params->params.enable_auto_size.release());
121 } 123 }
122 if (params->params.min) { 124 if (params->params.min) {
123 set_size_params.min_size.reset( 125 set_size_params.min_size.reset(
124 new gfx::Size(params->params.min->width, params->params.min->height)); 126 new gfx::Size(params->params.min->width, params->params.min->height));
125 } 127 }
126 if (params->params.max) { 128 if (params->params.max) {
127 set_size_params.max_size.reset( 129 set_size_params.max_size.reset(
128 new gfx::Size(params->params.max->width, params->params.max->height)); 130 new gfx::Size(params->params.max->width, params->params.max->height));
129 } 131 }
130 if (params->params.normal) { 132 if (params->params.normal) {
131 set_size_params.normal_size.reset(new gfx::Size( 133 set_size_params.normal_size.reset(new gfx::Size(
132 params->params.normal->width, params->params.normal->height)); 134 params->params.normal->width, params->params.normal->height));
133 } 135 }
134 136
135 guest->SetSize(set_size_params); 137 guest->SetSize(set_size_params);
136 SendResponse(true); 138 SendResponse(true);
137 return true; 139 return true;
138 } 140 }
139 141
140 } // namespace extensions 142 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698