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

Side by Side Diff: extensions/browser/guest_view/app_view/app_view_guest.cc

Issue 1392343002: Reduce the public method footprint of GuestViewBase and derived types. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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/guest_view/app_view/app_view_guest.h" 5 #include "extensions/browser/guest_view/app_view/app_view_guest.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "components/guest_view/browser/guest_view_manager.h" 8 #include "components/guest_view/browser/guest_view_manager.h"
9 #include "content/public/browser/render_process_host.h" 9 #include "content/public/browser/render_process_host.h"
10 #include "content/public/common/renderer_preferences.h" 10 #include "content/public/common/renderer_preferences.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 app_view_guest_delegate_(ExtensionsAPIClient::Get() 105 app_view_guest_delegate_(ExtensionsAPIClient::Get()
106 ->CreateAppViewGuestDelegate()), 106 ->CreateAppViewGuestDelegate()),
107 weak_ptr_factory_(this) { 107 weak_ptr_factory_(this) {
108 if (app_view_guest_delegate_) 108 if (app_view_guest_delegate_)
109 app_delegate_.reset(app_view_guest_delegate_->CreateAppDelegate()); 109 app_delegate_.reset(app_view_guest_delegate_->CreateAppDelegate());
110 } 110 }
111 111
112 AppViewGuest::~AppViewGuest() { 112 AppViewGuest::~AppViewGuest() {
113 } 113 }
114 114
115 bool AppViewGuest::HandleContextMenu(const content::ContextMenuParams& params) {
116 if (app_view_guest_delegate_) {
117 return app_view_guest_delegate_->HandleContextMenu(web_contents(), params);
118 }
119 return false;
120 }
121
122 void AppViewGuest::RequestMediaAccessPermission(
123 WebContents* web_contents,
124 const content::MediaStreamRequest& request,
125 const content::MediaResponseCallback& callback) {
126 if (!app_delegate_) {
127 WebContentsDelegate::RequestMediaAccessPermission(web_contents, request,
128 callback);
129 return;
130 }
131 const ExtensionSet& enabled_extensions =
132 ExtensionRegistry::Get(browser_context())->enabled_extensions();
133 const Extension* guest_extension =
134 enabled_extensions.GetByID(guest_extension_id_);
135
136 app_delegate_->RequestMediaAccessPermission(web_contents, request, callback,
137 guest_extension);
138 }
139
140 bool AppViewGuest::CheckMediaAccessPermission(WebContents* web_contents,
141 const GURL& security_origin,
142 content::MediaStreamType type) {
143 if (!app_delegate_) {
144 return WebContentsDelegate::CheckMediaAccessPermission(
145 web_contents, security_origin, type);
146 }
147 const ExtensionSet& enabled_extensions =
148 ExtensionRegistry::Get(browser_context())->enabled_extensions();
149 const Extension* guest_extension =
150 enabled_extensions.GetByID(guest_extension_id_);
151
152 return app_delegate_->CheckMediaAccessPermission(
153 web_contents, security_origin, type, guest_extension);
154 }
155 115
156 bool AppViewGuest::CanRunInDetachedState() const { 116 bool AppViewGuest::CanRunInDetachedState() const {
157 return true; 117 return true;
158 } 118 }
159 119
160 void AppViewGuest::CreateWebContents( 120 void AppViewGuest::CreateWebContents(
161 const base::DictionaryValue& create_params, 121 const base::DictionaryValue& create_params,
162 const WebContentsCreatedCallback& callback) { 122 const WebContentsCreatedCallback& callback) {
163 std::string app_id; 123 std::string app_id;
164 if (!create_params.GetString(appview::kAppID, &app_id)) { 124 if (!create_params.GetString(appview::kAppID, &app_id)) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 } 186 }
227 187
228 const char* AppViewGuest::GetAPINamespace() const { 188 const char* AppViewGuest::GetAPINamespace() const {
229 return appview::kEmbedderAPINamespace; 189 return appview::kEmbedderAPINamespace;
230 } 190 }
231 191
232 int AppViewGuest::GetTaskPrefix() const { 192 int AppViewGuest::GetTaskPrefix() const {
233 return IDS_EXTENSION_TASK_MANAGER_APPVIEW_TAG_PREFIX; 193 return IDS_EXTENSION_TASK_MANAGER_APPVIEW_TAG_PREFIX;
234 } 194 }
235 195
196 bool AppViewGuest::HandleContextMenu(const content::ContextMenuParams& params) {
197 if (app_view_guest_delegate_) {
198 return app_view_guest_delegate_->HandleContextMenu(web_contents(), params);
199 }
200 return false;
201 }
202
203 void AppViewGuest::RequestMediaAccessPermission(
204 WebContents* web_contents,
205 const content::MediaStreamRequest& request,
206 const content::MediaResponseCallback& callback) {
207 if (!app_delegate_) {
208 WebContentsDelegate::RequestMediaAccessPermission(web_contents, request,
209 callback);
210 return;
211 }
212 const ExtensionSet& enabled_extensions =
213 ExtensionRegistry::Get(browser_context())->enabled_extensions();
214 const Extension* guest_extension =
215 enabled_extensions.GetByID(guest_extension_id_);
216
217 app_delegate_->RequestMediaAccessPermission(web_contents, request, callback,
218 guest_extension);
219 }
220
221 bool AppViewGuest::CheckMediaAccessPermission(WebContents* web_contents,
222 const GURL& security_origin,
223 content::MediaStreamType type) {
224 if (!app_delegate_) {
225 return WebContentsDelegate::CheckMediaAccessPermission(
226 web_contents, security_origin, type);
227 }
228 const ExtensionSet& enabled_extensions =
229 ExtensionRegistry::Get(browser_context())->enabled_extensions();
230 const Extension* guest_extension =
231 enabled_extensions.GetByID(guest_extension_id_);
232
233 return app_delegate_->CheckMediaAccessPermission(
234 web_contents, security_origin, type, guest_extension);
235 }
236
236 void AppViewGuest::CompleteCreateWebContents( 237 void AppViewGuest::CompleteCreateWebContents(
237 const GURL& url, 238 const GURL& url,
238 const Extension* guest_extension, 239 const Extension* guest_extension,
239 const WebContentsCreatedCallback& callback) { 240 const WebContentsCreatedCallback& callback) {
240 if (!url.is_valid()) { 241 if (!url.is_valid()) {
241 callback.Run(nullptr); 242 callback.Run(nullptr);
242 return; 243 return;
243 } 244 }
244 url_ = url; 245 url_ = url;
245 guest_extension_id_ = guest_extension->id(); 246 guest_extension_id_ = guest_extension->id();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 280
280 std::vector<int> AppViewGuest::GetAllRegisteredInstanceIdsForTesting() { 281 std::vector<int> AppViewGuest::GetAllRegisteredInstanceIdsForTesting() {
281 std::vector<int> instances; 282 std::vector<int> instances;
282 for (const auto& key_value : pending_response_map.Get()) { 283 for (const auto& key_value : pending_response_map.Get()) {
283 instances.push_back(key_value.first); 284 instances.push_back(key_value.first);
284 } 285 }
285 return instances; 286 return instances;
286 } 287 }
287 288
288 } // namespace extensions 289 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698