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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 1124863005: Restrict use of hardware-secure codecs based on the RendererPreference. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@setsecurity
Patch Set: Rename secure_codec -> secure_surface in some cases. 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 3481 matching lines...) Expand 10 before | Expand all | Expand 10 after
3492 3492
3493 blink::WebUserMediaClient* RenderFrameImpl::userMediaClient() { 3493 blink::WebUserMediaClient* RenderFrameImpl::userMediaClient() {
3494 if (!web_user_media_client_) 3494 if (!web_user_media_client_)
3495 InitializeUserMediaClient(); 3495 InitializeUserMediaClient();
3496 return web_user_media_client_; 3496 return web_user_media_client_;
3497 } 3497 }
3498 3498
3499 blink::WebEncryptedMediaClient* RenderFrameImpl::encryptedMediaClient() { 3499 blink::WebEncryptedMediaClient* RenderFrameImpl::encryptedMediaClient() {
3500 if (!web_encrypted_media_client_) { 3500 if (!web_encrypted_media_client_) {
3501 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl( 3501 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl(
3502 #if defined(OS_ANDROID)
3503 base::Bind(&RenderFrameImpl::AllowSecureSurfaces,
3504 base::Unretained(this)),
3505 #endif
3502 GetCdmFactory(), GetMediaPermission())); 3506 GetCdmFactory(), GetMediaPermission()));
3503 } 3507 }
3504 return web_encrypted_media_client_.get(); 3508 return web_encrypted_media_client_.get();
3505 } 3509 }
3506 3510
3507 blink::WebMIDIClient* RenderFrameImpl::webMIDIClient() { 3511 blink::WebMIDIClient* RenderFrameImpl::webMIDIClient() {
3508 if (!midi_dispatcher_) 3512 if (!midi_dispatcher_)
3509 midi_dispatcher_ = new MidiDispatcher(this); 3513 midi_dispatcher_ = new MidiDispatcher(this);
3510 return midi_dispatcher_; 3514 return midi_dispatcher_;
3511 } 3515 }
(...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after
4817 } 4821 }
4818 4822
4819 #endif // defined(OS_ANDROID) 4823 #endif // defined(OS_ANDROID)
4820 4824
4821 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { 4825 media::MediaPermission* RenderFrameImpl::GetMediaPermission() {
4822 if (!media_permission_dispatcher_) 4826 if (!media_permission_dispatcher_)
4823 media_permission_dispatcher_ = new MediaPermissionDispatcher(this); 4827 media_permission_dispatcher_ = new MediaPermissionDispatcher(this);
4824 return media_permission_dispatcher_; 4828 return media_permission_dispatcher_;
4825 } 4829 }
4826 4830
4831 #if defined(OS_ANDROID)
4832 bool RenderFrameImpl::AllowSecureSurfaces() {
4833 content::RendererPreferences& renderer_preferences =
4834 render_view_->renderer_preferences();
4835 return renderer_prefences.use_video_overlay_for_embedded_encrypted_video;
4836 }
4837 #endif // defined(OS_ANDROID)
4838
4827 media::CdmFactory* RenderFrameImpl::GetCdmFactory() { 4839 media::CdmFactory* RenderFrameImpl::GetCdmFactory() {
4828 #if defined(ENABLE_BROWSER_CDMS) 4840 #if defined(ENABLE_BROWSER_CDMS)
4829 if (!cdm_manager_) 4841 if (!cdm_manager_)
4830 cdm_manager_ = new RendererCdmManager(this); 4842 cdm_manager_ = new RendererCdmManager(this);
4831 #endif // defined(ENABLE_BROWSER_CDMS) 4843 #endif // defined(ENABLE_BROWSER_CDMS)
4832 4844
4833 if (!cdm_factory_) { 4845 if (!cdm_factory_) {
4834 DCHECK(frame_); 4846 DCHECK(frame_);
4835 cdm_factory_ = new RenderCdmFactory( 4847 cdm_factory_ = new RenderCdmFactory(
4836 #if defined(ENABLE_PEPPER_CDMS) 4848 #if defined(ENABLE_PEPPER_CDMS)
4837 base::Bind(&PepperCdmWrapperImpl::Create, frame_), 4849 base::Bind(&PepperCdmWrapperImpl::Create, frame_),
4838 #elif defined(ENABLE_BROWSER_CDMS) 4850 #elif defined(ENABLE_BROWSER_CDMS)
4839 cdm_manager_, 4851 cdm_manager_,
4840 #endif 4852 #endif
4841 this); 4853 this);
4842 } 4854 }
4843 4855
4844 return cdm_factory_; 4856 return cdm_factory_;
4845 } 4857 }
4846 4858
4847 } // namespace content 4859 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698