diff options
Diffstat (limited to 'data/extensions/jsr@javascriptrestrictor/wrappingS-DOM.js')
-rw-r--r-- | data/extensions/jsr@javascriptrestrictor/wrappingS-DOM.js | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/data/extensions/jsr@javascriptrestrictor/wrappingS-DOM.js b/data/extensions/jsr@javascriptrestrictor/wrappingS-DOM.js deleted file mode 100644 index 5f726af..0000000 --- a/data/extensions/jsr@javascriptrestrictor/wrappingS-DOM.js +++ /dev/null @@ -1,84 +0,0 @@ -/** \file - * \brief This file contains wrappers for the DOM API - * - * \see https://dom.spec.whatwg.org/ - * - * \author Copyright (C) 2021 Libor Polcak - * - * \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 - * - * The events carry timestamp of their creation. As we allow wrapping of - * several ways to obtain timestamps, we need to provide the same precision - * for the Event API. - */ - -(function() { - var remember_past_values = `var precision = args[0]; - var doNoise = args[1]; - var pastValues = {}; - ${rounding_function} - ${noise_function} - var mitigationF = rounding_function; - if (doNoise === true){ - mitigationF = function(value, precision) { - let params = [value, precision]; - if (params in pastValues) { - return pastValues[params]; - } - let result = noise_function(...params); - pastValues[params] = result; - return result; - } - } - `; - var wrappers = [ - { - /** - * \see https://dom.spec.whatwg.org/#ref-for-dom-event-timestamp%E2%91%A0 - */ - parent_object: "Event.prototype", - parent_object_property: "timeStamp", - wrapped_objects: [], - helping_code: remember_past_values + `let origGet = Object.getOwnPropertyDescriptor(Event.prototype, "timeStamp").get`, - post_wrapping_code: [ - { - code_type: "object_properties", - parent_object: "Event.prototype", - parent_object_property: "timeStamp", - wrapped_objects: [], - /** \brief replaces Event.prototype.timeStamp getter to create - * a timestamp with the desired precision. - */ - wrapped_properties: [ - { - property_name: "get", - property_value: ` - function() { - return mitigationF(origGet.call(this), precision); - }`, - }, - ], - } - ], - }, - ] - add_wrappers(wrappers); -})() |