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

Side by Side Diff: chrome/browser/chromeos/display/output_protection_delegate.cc

Issue 2085063002: media: Add OutputProtectionProxy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments addressed Created 4 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/media/encrypted_media_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/browser/chromeos/display/output_protection_delegate.h" 5 #include "chrome/browser/chromeos/display/output_protection_delegate.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_delegate.h" 8 #include "ash/shell_delegate.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
11 #include "content/public/browser/browser_thread.h" 10 #include "content/public/browser/browser_thread.h"
12 #include "content/public/browser/render_frame_host.h" 11 #include "content/public/browser/render_frame_host.h"
13 #include "content/public/browser/web_contents.h" 12 #include "content/public/browser/web_contents.h"
14 #include "ui/display/display.h" 13 #include "ui/display/display.h"
15 #include "ui/display/screen.h" 14 #include "ui/display/screen.h"
16 15
17 namespace chromeos { 16 namespace chromeos {
18 17
19 namespace { 18 namespace {
20 19
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 content::RenderFrameHost* rfh = 125 content::RenderFrameHost* rfh =
127 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_); 126 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_);
128 // TODO(xjz): Investigate whether this check (and the other one above) should 127 // TODO(xjz): Investigate whether this check (and the other one above) should
129 // be removed. 128 // be removed.
130 if (!rfh) { 129 if (!rfh) {
131 LOG(WARNING) << "RenderFrameHost is not alive."; 130 LOG(WARNING) << "RenderFrameHost is not alive.";
132 callback.Run(false, 0, 0); 131 callback.Run(false, 0, 0);
133 return; 132 return;
134 } 133 }
135 134
136 uint32_t link_mask = response.link_mask; 135 callback.Run(response.success, response.link_mask, response.protection_mask);
137 // If we successfully retrieved the device level status, check for capturers.
138 if (response.success) {
139 const bool insecure_capture_detected =
140 MediaCaptureDevicesDispatcher::GetInstance()
141 ->IsInsecureCapturingInProgress(render_process_id_,
142 render_frame_id_);
143 if (insecure_capture_detected)
144 link_mask |= ui::DISPLAY_CONNECTION_TYPE_NETWORK;
145 }
146
147 callback.Run(response.success, link_mask, response.protection_mask);
148 } 136 }
149 137
150 void OutputProtectionDelegate::EnableProtectionComplete( 138 void OutputProtectionDelegate::EnableProtectionComplete(
151 const EnableProtectionCallback& callback, 139 const EnableProtectionCallback& callback,
152 bool success) { 140 bool success) {
153 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 141 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
154 142
155 callback.Run(success); 143 callback.Run(success);
156 } 144 }
157 145
(...skipping 26 matching lines...) Expand all
184 display_id_ = new_display_id; 172 display_id_ = new_display_id;
185 } 173 }
186 174
187 void OutputProtectionDelegate::OnWindowDestroying(aura::Window* window) { 175 void OutputProtectionDelegate::OnWindowDestroying(aura::Window* window) {
188 DCHECK_EQ(window, window_); 176 DCHECK_EQ(window, window_);
189 window_->RemoveObserver(this); 177 window_->RemoveObserver(this);
190 window_ = nullptr; 178 window_ = nullptr;
191 } 179 }
192 180
193 } // namespace chromeos 181 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/media/encrypted_media_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698