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

Side by Side Diff: extensions/browser/guest_view/web_view/web_view_permission_helper.cc

Issue 574793003: Moving webview media permission request to extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing Created 6 years, 3 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/web_view/web_view_permission_helper.h" 5 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.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 "content/public/browser/user_metrics.h" 9 #include "content/public/browser/user_metrics.h"
10 #include "extensions/browser/api/extensions_api_client.h" 10 #include "extensions/browser/api/extensions_api_client.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 173
174 bool WebViewPermissionHelper::OnMessageReceived(const IPC::Message& message) { 174 bool WebViewPermissionHelper::OnMessageReceived(const IPC::Message& message) {
175 return web_view_permission_helper_delegate_->OnMessageReceived(message); 175 return web_view_permission_helper_delegate_->OnMessageReceived(message);
176 } 176 }
177 #endif // defined(ENABLE_PLUGINS) 177 #endif // defined(ENABLE_PLUGINS)
178 178
179 void WebViewPermissionHelper::RequestMediaAccessPermission( 179 void WebViewPermissionHelper::RequestMediaAccessPermission(
180 content::WebContents* source, 180 content::WebContents* source,
181 const content::MediaStreamRequest& request, 181 const content::MediaStreamRequest& request,
182 const content::MediaResponseCallback& callback) { 182 const content::MediaResponseCallback& callback) {
183 web_view_permission_helper_delegate_-> RequestMediaAccessPermission( 183 base::DictionaryValue request_info;
184 source, request, callback); 184 request_info.SetString(guestview::kUrl, request.security_origin.spec());
185 RequestPermission(
186 WEB_VIEW_PERMISSION_TYPE_MEDIA,
187 request_info,
188 base::Bind(&WebViewPermissionHelper::OnMediaPermissionResponse,
189 base::Unretained(this),
Ken Rockot(use gerrit already) 2014/09/17 20:51:40 Any reason not to use a weak pointer instead of ba
190 request,
191 callback),
192 false /* allowed_by_default */);
193 }
194
195 void WebViewPermissionHelper::OnMediaPermissionResponse(
196 const content::MediaStreamRequest& request,
197 const content::MediaResponseCallback& callback,
198 bool allow,
199 const std::string& user_input) {
200 if (!allow || !web_view_guest()->attached()) {
201 // Deny the request.
202 callback.Run(content::MediaStreamDevices(),
203 content::MEDIA_DEVICE_INVALID_STATE,
204 scoped_ptr<content::MediaStreamUI>());
205 return;
206 }
207 if (!web_view_guest()->embedder_web_contents()->GetDelegate())
208 return;
209
210 web_view_guest()
211 ->embedder_web_contents()
212 ->GetDelegate()
213 ->RequestMediaAccessPermission(
214 web_view_guest()->embedder_web_contents(), request, callback);
185 } 215 }
186 216
187 void WebViewPermissionHelper::CanDownload( 217 void WebViewPermissionHelper::CanDownload(
188 content::RenderViewHost* render_view_host, 218 content::RenderViewHost* render_view_host,
189 const GURL& url, 219 const GURL& url,
190 const std::string& request_method, 220 const std::string& request_method,
191 const base::Callback<void(bool)>& callback) { 221 const base::Callback<void(bool)>& callback) {
192 web_view_permission_helper_delegate_->CanDownload( 222 web_view_permission_helper_delegate_->CanDownload(
193 render_view_host, url, request_method, callback); 223 render_view_host, url, request_method, callback);
194 } 224 }
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 bool allowed_by_default) 368 bool allowed_by_default)
339 : callback(callback), 369 : callback(callback),
340 permission_type(permission_type), 370 permission_type(permission_type),
341 allowed_by_default(allowed_by_default) { 371 allowed_by_default(allowed_by_default) {
342 } 372 }
343 373
344 WebViewPermissionHelper::PermissionResponseInfo::~PermissionResponseInfo() { 374 WebViewPermissionHelper::PermissionResponseInfo::~PermissionResponseInfo() {
345 } 375 }
346 376
347 } // namespace extensions 377 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698