Index: chrome/browser/chromeos/display/output_protection_delegate.cc |
diff --git a/chrome/browser/chromeos/display/output_protection_delegate.cc b/chrome/browser/chromeos/display/output_protection_delegate.cc |
index 34e7c015f39e34d487ba3d7779f9bce6644d4a1b..33862780e730cb1bbf2d2b89ab2c377106896b55 100644 |
--- a/chrome/browser/chromeos/display/output_protection_delegate.cc |
+++ b/chrome/browser/chromeos/display/output_protection_delegate.cc |
@@ -7,6 +7,7 @@ |
#include "ash/shell.h" |
#include "ash/shell_delegate.h" |
#include "build/build_config.h" |
+#include "chrome/browser/media/media_capture_devices_dispatcher.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/web_contents.h" |
@@ -132,7 +133,18 @@ |
return; |
} |
- callback.Run(response.success, response.link_mask, response.protection_mask); |
+ uint32_t link_mask = response.link_mask; |
+ // If we successfully retrieved the device level status, check for capturers. |
+ if (response.success) { |
+ const bool insecure_capture_detected = |
+ MediaCaptureDevicesDispatcher::GetInstance() |
+ ->IsInsecureCapturingInProgress(render_process_id_, |
+ render_frame_id_); |
+ if (insecure_capture_detected) |
+ link_mask |= ui::DISPLAY_CONNECTION_TYPE_NETWORK; |
+ } |
+ |
+ callback.Run(response.success, link_mask, response.protection_mask); |
} |
void OutputProtectionDelegate::EnableProtectionComplete( |