Commit b27b306c authored by cfredric's avatar cfredric Committed by Commit Bot

Instrument MediaRecorder.{mimeType, videoBitsPerSecond,

audioBitsPerSecond} for identifiability study.

These web IDL annotations will automatically add instrumentation (using
blink::Dactyloscoper) in the bindings code to record how much entropy
these APIs leak about users' cross-site identity.

Bug: 973801
Change-Id: I6c61c13bb5c98f65415678f000e5137d016ba55c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2354153
Commit-Queue: Chris Fredrickson <cfredric@google.com>
Reviewed-by: default avatarMarkus Handell <handellm@google.com>
Cr-Commit-Position: refs/heads/master@{#798266}
parent 924bb7ef
...@@ -2726,6 +2726,9 @@ enum WebFeature { ...@@ -2726,6 +2726,9 @@ enum WebFeature {
kDigitalGoodsGetDigitalGoodsService = 3396, kDigitalGoodsGetDigitalGoodsService = 3396,
kDigitalGoodsGetDetails = 3397, kDigitalGoodsGetDetails = 3397,
kDigitalGoodsAcknowledge = 3398, kDigitalGoodsAcknowledge = 3398,
kMediaRecorder_MimeType = 3399,
kMediaRecorder_VideoBitsPerSecond = 3400,
kMediaRecorder_AudioBitsPerSecond = 3401,
// Add new features immediately above this line. Don't change assigned // Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots. // numbers of any item, and don't reuse removed slots.
......
...@@ -12,7 +12,7 @@ enum RecordingState { "inactive", "recording", "paused" }; ...@@ -12,7 +12,7 @@ enum RecordingState { "inactive", "recording", "paused" };
] interface MediaRecorder : EventTarget { ] interface MediaRecorder : EventTarget {
[CallWith=ExecutionContext, RaisesException] constructor(MediaStream stream, optional MediaRecorderOptions options = {}); [CallWith=ExecutionContext, RaisesException] constructor(MediaStream stream, optional MediaRecorderOptions options = {});
readonly attribute MediaStream stream; readonly attribute MediaStream stream;
readonly attribute DOMString mimeType; [HighEntropy=Direct, MeasureAs=MediaRecorder_MimeType] readonly attribute DOMString mimeType;
readonly attribute RecordingState state; readonly attribute RecordingState state;
attribute EventHandler onstart; attribute EventHandler onstart;
...@@ -21,8 +21,8 @@ enum RecordingState { "inactive", "recording", "paused" }; ...@@ -21,8 +21,8 @@ enum RecordingState { "inactive", "recording", "paused" };
attribute EventHandler onpause; attribute EventHandler onpause;
attribute EventHandler onresume; attribute EventHandler onresume;
attribute EventHandler onerror; attribute EventHandler onerror;
readonly attribute unsigned long videoBitsPerSecond; [HighEntropy=Direct, MeasureAs=MediaRecorder_VideoBitsPerSecond] readonly attribute unsigned long videoBitsPerSecond;
readonly attribute unsigned long audioBitsPerSecond; [HighEntropy=Direct, MeasureAs=MediaRecorder_AudioBitsPerSecond] readonly attribute unsigned long audioBitsPerSecond;
[RaisesException, Measure] void start(optional long timeslice); [RaisesException, Measure] void start(optional long timeslice);
[RaisesException] void stop(); [RaisesException] void stop();
......
...@@ -28739,6 +28739,9 @@ Called by update_use_counter_feature_enum.py.--> ...@@ -28739,6 +28739,9 @@ Called by update_use_counter_feature_enum.py.-->
<int value="3396" label="DigitalGoodsGetDigitalGoodsService"/> <int value="3396" label="DigitalGoodsGetDigitalGoodsService"/>
<int value="3397" label="DigitalGoodsGetDetails"/> <int value="3397" label="DigitalGoodsGetDetails"/>
<int value="3398" label="DigitalGoodsAcknowledge"/> <int value="3398" label="DigitalGoodsAcknowledge"/>
<int value="3399" label="MediaRecorder_MimeType"/>
<int value="3400" label="MediaRecorder_VideoBitsPerSecond"/>
<int value="3401" label="MediaRecorder_AudioBitsPerSecond"/>
</enum> </enum>
<enum name="FeaturePolicyAllowlistType"> <enum name="FeaturePolicyAllowlistType">
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment