), so idempotency matters.) // 2) try/catch around defineProperty — some browsers lock HTMLMediaElement.prototype.src as // non-configurable on the parent prototype, shadowing it would throw. // If the override fails, the setAttribute and MutationObserver below still catch most // dynamic src assignments, so the page still works. const videoProto = HTMLVideoElement.prototype; const srcDesc = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'src') || Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'src'); if (srcDesc) { try { Object.defineProperty(videoProto, 'src', { configurable: true, enumerable: true, set(v) { srcDesc.set.call(this, rewriteUrl(v)); }, get() { return srcDesc.get.call(this); } }); } catch (e) { /* parent src is non-configurable; rely on setAttribute/MutationObserver */ } } // Override source element src const sourceProto = HTMLSourceElement.prototype; const srcDesc2 = Object.getOwnPropertyDescriptor(sourceProto, 'src'); if (srcDesc2) { try { Object.defineProperty(sourceProto, 'src', { configurable: true, enumerable: true, set(v) { srcDesc2.set.call(this, rewriteUrl(v)); }, get() { return srcDesc2.get.call(this); } }); } catch (e) { /* parent src is non-configurable; rely on setAttribute/MutationObserver */ } } // Override img.src property const imgProto = HTMLImageElement.prototype; const imgSrcDesc = Object.getOwnPropertyDescriptor(imgProto, 'src') || Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'src'); if (imgSrcDesc && imgSrcDesc.set) { try { Object.defineProperty(imgProto, 'src', { configurable: true, enumerable: true, set(v) { imgSrcDesc.set.call(this, rewriteUrl(v)); }, get() { return imgSrcDesc.get.call(this); } }); } catch (e) { /* parent src is non-configurable; rely on setAttribute/MutationObserver */ } } // Override setAttribute for video, source, AND img const origSetAttr = Element.prototype.setAttribute; Element.prototype.setAttribute = function(name, value) { if ((name === 'src' || name === 'data-src') && (this.tagName === 'VIDEO' || this.tagName === 'SOURCE' || this.tagName === 'IMG')) { value = rewriteUrl(value); } return origSetAttr.call(this, name, value); }; // Patch HLS.js if loaded const origAppendChild = Node.prototype.appendChild; const origInsertBefore = Node.prototype.insertBefore; // MutationObserver to catch dynamically added video/source/img elements const observer = new MutationObserver(mutations => { for (const mut of mutations) { for (const node of mut.addedNodes) { if (node.tagName === 'SOURCE' || node.tagName === 'VIDEO' || node.tagName === 'IMG') { const s = node.getAttribute && node.getAttribute('src'); if (s) { const rewritten = rewriteUrl(s); if (rewritten !== s) origSetAttr.call(node, 'src', rewritten); } const ds = node.getAttribute && node.getAttribute('data-src'); if (ds) { const rewritten = rewriteUrl(ds); if (rewritten !== ds) origSetAttr.call(node, 'data-src', rewritten); } } if (node.querySelectorAll) { node.querySelectorAll('source[src], video[src], img[src], img[data-src]').forEach(el => { const s = el.getAttribute('src'); if (s) { const rewritten = rewriteUrl(s); if (rewritten !== s) origSetAttr.call(el, 'src', rewritten); } const ds = el.getAttribute('data-src'); if (ds) { const rewritten = rewriteUrl(ds); if (rewritten !== ds) origSetAttr.call(el, 'data-src', rewritten); } }); } } // Also handle attribute changes on existing elements if (mut.type === 'attributes' && (mut.attributeName === 'src' || mut.attributeName === 'data-src')) { const el = mut.target; if (el.tagName === 'IMG' || el.tagName === 'VIDEO' || el.tagName === 'SOURCE') { const val = el.getAttribute(mut.attributeName); if (val) { const rewritten = rewriteUrl(val); if (rewritten !== val) origSetAttr.call(el, mut.attributeName, rewritten); } } } } }); observer.observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['src', 'data-src'] }); })();

Selftaped
Channel
844,712844.7k video views 844.7k views

Enjoy the most with us and the biggest content for adults of free sex. Hours and hours of material x just for you!
+

Selftaped 10 albums (94 photos)

LADY IN GREEN

(11 photos) 4,908 views - Rating: 97.6%

Updated: 8 years ago

couple having sex

(5 photos) 5,462 views - Rating: 100.0%

Updated: 8 years ago

Don't tell my girlfriend!!!!

(4 photos) 5,614 views - Rating: 100.0%

Updated: 8 years ago

Having a bath with my hot flatmate

(5 photos) 5,570 views - Rating: 100.0%

Updated: 8 years ago

My flatmate with a pink bra

(10 photos) 5,200 views - Rating: 100.0%

Updated: 8 years ago

hot girls like sex

(13 photos) 5,234 views - Rating: 100.0%

Updated: 8 years ago

ana got all my semen on her pregnant belly

(13 photos) 6,476 views - Rating: 100.0%

Updated: 8 years ago

Ana with sex toys

(13 photos) 5,415 views - Rating: 100.0%

Updated: 8 years ago

Preggo babe

(11 photos) 4,687 views - Rating: 100.0%

Updated: 8 years ago

slim teen with a dildo

(9 photos) 5,174 views - Rating: 100.0%

Updated: 8 years ago

Country: Spain

Profile hits: 137,094

Subscribers: 436

Total video views: 844,712

Region: Catalonia

City: Barna

Signed up: July 2, 2017 (3,262 days ago)

About me:

Enjoy the most with us and the biggest content for adults of free sex. Hours and hours of material x just for you!Show more

Worked for/with: Autum Moon, Eva Autumn

Remove ads - Upgrade to Premium Ads by TrafficFactory