media/libav/avfft_dummy_funcs.c
author Tim Huang <tihuang@mozilla.com>
Thu, 31 Aug 2017 11:14:14 +0800
changeset 453921 b2f55468b241f28678dc5e35e19eb3b5781a1c5c
parent 285734 fe387aeff78b37ef54151b97a5767aadf3812482
permissions -rw-r--r--
Bug 1222285 - Part 2: Making the keyboard events of modifier keys been suppressed when 'privacy.resistFingerprinting' is true. r=arthuredelstein,masayuki This patch makes 'Shift', 'Alt', 'Contorl' and 'AltGraph' been suppressed for content when fingerprinting resistance is enabled. Chrome can still get these events. The reason behind this is that websites can still observe key combinations to tell which keyboard layout is using even we spoof the keyboardEvent.code, keyboardEvent.keyCode and modifier states. For example, the AZERTY France keyboard, the digit keys of it requires the user press the Shift key. So, it is easy to differentiate AZERTY and QWERTY keyboard by observing whether a Shift key generates its own before the digit keys. There are similar issues for 'Alt' and 'AltGraph' as well. MozReview-Commit-ID: 3CwCgvey4lK

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * 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/. */

// In libavcodec/fft_template.c, fft initialization happens via if statements
// checked on preprocessor defines. On many platforms, these statements are
// culled during compilation. However, in situations where optimization is
// disabled on windows visual studio (PGO, using --disable-optimization in
// mozconfig, etc), these branches are still compiled, meaning we end up with
// linker errors due calls to undefined functions. The dummy functions in this
// file provide bodies so that the library will link in that case, even though
// these will never be called.

#include "libavcodec/fft.h"

void
ff_fft_init_aarch64(FFTContext *s)
{
}

void
ff_fft_init_arm(FFTContext *s)
{
}

void
ff_fft_init_ppc(FFTContext *s)
{
}

void
ff_fft_fixed_init_arm(FFTContext *s)
{
}

void
ff_rdft_init_arm(RDFTContext *s)
{
}

int
ff_get_cpu_flags_aarch64(void)
{
  return 0;
}

int
ff_get_cpu_flags_arm(void)
{
  return 0;
}

int
ff_get_cpu_flags_ppc(void)
{
  return 0;
}

void
ff_mdct_calcw_c(FFTContext *s, FFTDouble *out, const FFTSample *input)
{
}