Remove Identity callback for audio farbling (#15894)

* Remove Identity callback for audio farbling

* change type name
This commit is contained in:
Mark Pilgrim
2022-11-15 17:38:18 -03:00
committed by GitHub
parent 915981fcf4
commit 65c39e07af
5 changed files with 50 additions and 48 deletions
@@ -13,36 +13,38 @@
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/modules/webaudio/analyser_node.h"
#define BRAVE_AUDIOBUFFER_GETCHANNELDATA \
NotShared<DOMFloat32Array> array = getChannelData(channel_index); \
if (ExecutionContext* context = ExecutionContext::From(script_state)) { \
if (WebContentSettingsClient* settings = \
brave::GetContentSettingsClientFor(context)) { \
DOMFloat32Array* destination_array = array.Get(); \
size_t len = destination_array->length(); \
if (len > 0) { \
float* destination = destination_array->Data(); \
brave::AudioFarblingCallback audio_farbling_callback = \
brave::BraveSessionCache::From(*context).GetAudioFarblingCallback( \
settings); \
for (unsigned i = 0; i < len; ++i) { \
destination[i] = audio_farbling_callback.Run(destination[i], i); \
} \
} \
} \
#define BRAVE_AUDIOBUFFER_GETCHANNELDATA \
NotShared<DOMFloat32Array> array = getChannelData(channel_index); \
if (ExecutionContext* context = ExecutionContext::From(script_state)) { \
if (WebContentSettingsClient* settings = \
brave::GetContentSettingsClientFor(context)) { \
if (brave::OptionalAudioFarblingCallback audio_farbling_callback = \
brave::BraveSessionCache::From(*context) \
.GetAudioFarblingCallback(settings)) { \
DOMFloat32Array* destination_array = array.Get(); \
size_t len = destination_array->length(); \
if (len > 0) { \
float* destination = destination_array->Data(); \
for (unsigned i = 0; i < len; ++i) { \
destination[i] = audio_farbling_callback->Run(destination[i], i); \
} \
} \
} \
} \
}
#define BRAVE_AUDIOBUFFER_COPYFROMCHANNEL \
if (ExecutionContext* context = ExecutionContext::From(script_state)) { \
if (WebContentSettingsClient* settings = \
brave::GetContentSettingsClientFor(context)) { \
brave::AudioFarblingCallback audio_farbling_callback = \
brave::BraveSessionCache::From(*context).GetAudioFarblingCallback( \
settings); \
for (unsigned i = 0; i < count; i++) { \
dst[i] = audio_farbling_callback.Run(dst[i], i); \
} \
} \
#define BRAVE_AUDIOBUFFER_COPYFROMCHANNEL \
if (ExecutionContext* context = ExecutionContext::From(script_state)) { \
if (WebContentSettingsClient* settings = \
brave::GetContentSettingsClientFor(context)) { \
if (brave::OptionalAudioFarblingCallback audio_farbling_callback = \
brave::BraveSessionCache::From(*context) \
.GetAudioFarblingCallback(settings)) { \
for (unsigned i = 0; i < count; i++) { \
dst[i] = audio_farbling_callback->Run(dst[i], i); \
} \
} \
} \
}
#include "src/third_party/blink/renderer/modules/webaudio/audio_buffer.cc"
@@ -3,24 +3,24 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#define BRAVE_REALTIMEANALYSER_CONVERTFLOATTODB \
if (audio_farbling_callback_) { \
destination[i] = audio_farbling_callback_.Run(destination[i], i); \
#define BRAVE_REALTIMEANALYSER_CONVERTFLOATTODB \
if (audio_farbling_callback_) { \
destination[i] = audio_farbling_callback_->Run(destination[i], i); \
}
#define BRAVE_REALTIMEANALYSER_CONVERTTOBYTEDATA \
if (audio_farbling_callback_) { \
scaled_value = audio_farbling_callback_.Run(scaled_value, i); \
#define BRAVE_REALTIMEANALYSER_CONVERTTOBYTEDATA \
if (audio_farbling_callback_) { \
scaled_value = audio_farbling_callback_->Run(scaled_value, i); \
}
#define BRAVE_REALTIMEANALYSER_GETFLOATTIMEDOMAINDATA \
if (audio_farbling_callback_) { \
destination[i] = audio_farbling_callback_.Run(value, i); \
#define BRAVE_REALTIMEANALYSER_GETFLOATTIMEDOMAINDATA \
if (audio_farbling_callback_) { \
destination[i] = audio_farbling_callback_->Run(value, i); \
}
#define BRAVE_REALTIMEANALYSER_GETBYTETIMEDOMAINDATA \
if (audio_farbling_callback_) { \
value = audio_farbling_callback_.Run(value, i); \
value = audio_farbling_callback_->Run(value, i); \
}
#include "src/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc"
@@ -7,9 +7,11 @@
#define BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_MODULES_WEBAUDIO_REALTIME_ANALYSER_H_
#include "base/callback.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#define BRAVE_REALTIMEANALYSER_H \
base::RepeatingCallback<float(float, size_t)> audio_farbling_callback_;
#define BRAVE_REALTIMEANALYSER_H \
absl::optional<base::RepeatingCallback<float(float, size_t)>> \
audio_farbling_callback_;
#include "src/third_party/blink/renderer/modules/webaudio/realtime_analyser.h"
@@ -44,10 +44,6 @@ inline uint64_t lfsr_next(uint64_t v) {
return ((v >> 1) | (((v << 62) ^ (v << 61)) & (~(~zero << 63) << 62)));
}
float Identity(float value, size_t index) {
return value;
}
float ConstantMultiplier(double fudge_factor, float value, size_t index) {
return value * fudge_factor;
}
@@ -231,7 +227,7 @@ void BraveSessionCache::Init() {
RegisterAllowFontFamilyCallback(base::BindRepeating(&brave::AllowFontFamily));
}
AudioFarblingCallback BraveSessionCache::GetAudioFarblingCallback(
OptionalAudioFarblingCallback BraveSessionCache::GetAudioFarblingCallback(
blink::WebContentSettingsClient* settings) {
if (farbling_enabled_ && settings) {
switch (settings->GetBraveFarblingLevel()) {
@@ -251,7 +247,7 @@ AudioFarblingCallback BraveSessionCache::GetAudioFarblingCallback(
}
}
}
return base::BindRepeating(&Identity);
return absl::nullopt;
}
void BraveSessionCache::PerturbPixels(blink::WebContentSettingsClient* settings,
@@ -12,6 +12,7 @@
#include "base/callback.h"
#include "brave/third_party/blink/renderer/brave_farbling_constants.h"
#include "third_party/abseil-cpp/absl/random/random.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/dom_window.h"
@@ -41,7 +42,8 @@ enum FarbleKey : uint64_t {
};
typedef absl::randen_engine<uint64_t> FarblingPRNG;
typedef base::RepeatingCallback<float(float, size_t)> AudioFarblingCallback;
typedef absl::optional<base::RepeatingCallback<float(float, size_t)>>
OptionalAudioFarblingCallback;
CORE_EXPORT blink::WebContentSettingsClient* GetContentSettingsClientFor(
ExecutionContext* context);
@@ -74,7 +76,7 @@ class CORE_EXPORT BraveSessionCache final
static BraveSessionCache& From(ExecutionContext&);
static void Init();
AudioFarblingCallback GetAudioFarblingCallback(
OptionalAudioFarblingCallback GetAudioFarblingCallback(
blink::WebContentSettingsClient* settings);
void PerturbPixels(blink::WebContentSettingsClient* settings,
const unsigned char* data,