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

Unified Diff: content/renderer/media/media_stream_video_source.cc

Issue 1873293002: Report if video capturing meets output protection requirement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Rebased. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_video_source.cc
diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc
index a9e93e98dee603c603ab7af58add01e271f47bd2..6118f23bb884a84fc0e607b09a8a2566b121c0a2 100644
--- a/content/renderer/media/media_stream_video_source.cc
+++ b/content/renderer/media/media_stream_video_source.cc
@@ -317,8 +317,8 @@ MediaStreamVideoSource::MediaStreamVideoSource()
: state_(NEW),
track_adapter_(
new VideoTrackAdapter(ChildProcess::current()->io_task_runner())),
- weak_factory_(this) {
-}
+ secure_tracker_(new CapturingLinkSecureTracker<MediaStreamVideoTrack>()),
+ weak_factory_(this) {}
MediaStreamVideoSource::~MediaStreamVideoSource() {
DCHECK(CalledOnValidThread());
@@ -333,6 +333,7 @@ void MediaStreamVideoSource::AddTrack(
DCHECK(!constraints.isNull());
DCHECK(std::find(tracks_.begin(), tracks_.end(), track) == tracks_.end());
tracks_.push_back(track);
+ secure_tracker_->AddLinkSecure(track, true);
track_descriptors_.push_back(
TrackDescriptor(track, frame_callback, constraints, callback));
@@ -383,6 +384,7 @@ void MediaStreamVideoSource::RemoveTrack(MediaStreamVideoTrack* video_track) {
std::find(tracks_.begin(), tracks_.end(), video_track);
DCHECK(it != tracks_.end());
tracks_.erase(it);
+ secure_tracker_->RemoveLinkSecure(video_track);
for (std::vector<TrackDescriptor>::iterator it = track_descriptors_.begin();
it != track_descriptors_.end(); ++it) {
@@ -400,6 +402,13 @@ void MediaStreamVideoSource::RemoveTrack(MediaStreamVideoTrack* video_track) {
StopSource();
}
+void MediaStreamVideoSource::UpdateCapturingLinkSecure(
+ MediaStreamVideoTrack* track,
+ bool is_secure) {
+ secure_tracker_->UpdateLinkSecure(track, is_secure);
+ SetCapturingLinkSecured(secure_tracker_->is_capturing_secure());
+}
+
base::SingleThreadTaskRunner* MediaStreamVideoSource::io_task_runner() const {
DCHECK(CalledOnValidThread());
return track_adapter_->io_task_runner();

Powered by Google App Engine
This is Rietveld 408576698