#2 feat: per-context audio fingerprinting and screen spoofing patches #7
+761
−105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds per-context audio fingerprint and screen dimension spoofing patches. Disables WebRTC IP spoofing patch until further testing. Removes superseded screen-hijacker patch.
Changes
audio-fingerprint-manager.patch (new)
AudioFingerprintManager.h/cppfor per-context audio fingerprint seed storage viaRoverfoxStorageManagerwindow.setAudioFingerprintSeed(seed)WebIDL bindingAudioBuffer.getChannelData()- hooked inRestoreJSChannelData()AudioBuffer.copyFromChannel()- hooked after copy operationAnalyserNode.getFloatFrequencyData()- hooked in ProcessData lambdaAnalyserNode.getByteFrequencyData()- hooked via underlying bufferAnalyserNode.getFloatTimeDomainData()- hooked in ProcessData lambdaAnalyserNode.getByteTimeDomainData()- hooked before byte conversion0.996 + normalized * 0.008(normalized^2 - 0.5) * 0.002SOURCESinstead ofUNIFIED_SOURCESin moz.build to avoid namespace pollution (file starts with 'A', comes before BarProps.cpp in unified compilation)LOCAL_INCLUDES += ["/dom/base"]todom/media/webaudio/moz.buildfor cross-directory header accessscreen-spoofing.patch (new, replaces screen-hijacker.patch)
ScreenDimensionManager.h/cppfor per-context screen dimension storagewindow.setScreenDimensions(width, height)andwindow.setScreenColorDepth(depth)WebIDL bindingsnsScreen::GetRect()with fallback chain:ScreenDimensionManagerlookup (new)MaskConfigscreen.width/height (carried over from screen-hijacker)nsDeviceContext::GetDeviceSurfaceDimensions()for global MaskConfig overridensMediaFeatures.cpp(prevents interference)webrtc-ip-spoofing.patch.disabled (renamed)
screen-hijacker.patch (deleted)