diff options
Diffstat (limited to 'data/extensions/jsr@javascriptrestrictor/wrappingL-CANVAS.js')
-rw-r--r-- | data/extensions/jsr@javascriptrestrictor/wrappingL-CANVAS.js | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/data/extensions/jsr@javascriptrestrictor/wrappingL-CANVAS.js b/data/extensions/jsr@javascriptrestrictor/wrappingL-CANVAS.js deleted file mode 100644 index e7e843a..0000000 --- a/data/extensions/jsr@javascriptrestrictor/wrappingL-CANVAS.js +++ /dev/null @@ -1,65 +0,0 @@ -/** \file - * \brief Library of functions for the Canvas API wrappers - * - * \see https://www.w3.org/TR/generic-sensor/ - * - * \author Copyright (C) 2022 Libor Polčák - * \author Copyright (C) 2021 Matus Svancar - * - * \license SPDX-License-Identifier: GPL-3.0-or-later - */ - // - // This program is free software: you can redistribute it and/or modify - // it under the terms of the GNU General Public License as published by - // the Free Software Foundation, either version 3 of the License, or - // (at your option) any later version. - // - // This program is distributed in the hope that it will be useful, - // but WITHOUT ANY WARRANTY; without even the implied warranty of - // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - // GNU General Public License for more details. - // - // You should have received a copy of the GNU General Public License - // along with this program. If not, see <https://www.gnu.org/licenses/>. - // - /** \file - * \ingroup wrappers - * - * Supporting fuctions for Canvas API Wrappers - */ - -/** - * Farble image data, original Brave implementation-like - * - * \param data RGBA shallow array, (0,0) coordinates are at the top left, - * see CanvasRenderingContext2D.prototype.getImageData for more details on the - * expected format. Note that the data are modified during the call. - * \param height Height of the original canvas. - * \param width Width of the original canvas. - */ -function farbleCanvasDataBrave(rowIterator, width) { - // PRNG function needs to depend on the original canvas, so that the same - // image is farbled the same way but different images are farbled differently - // See https://pagure.io/JShelter/webextension/issue/23 - let crc = new CRC16(); - for (row of rowIterator()) { - crc.next(row); - } - var thiscanvas_prng = alea(domainHash, "CanvasFarbling", crc.crc); - var data_count = width * 4; - - for (row of rowIterator()) { - for (let i = 0; i < data_count; i++) { - if ((i % 4) === 3) { - // Do not modify alpha - continue; - } - if (thiscanvas_prng.get_bits(1)) { // Modify data with probability of 0.5 - // Possible improvements: - // Copy a neighbor pixel (possibly with modifications - // Make bigger canges than xoring with 1 - row[i] ^= 1; - } - } - } -} |