Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
michael@0 | 1 | <script> |
michael@0 | 2 | |
michael@0 | 3 | var ar = new Array(100000); |
michael@0 | 4 | |
michael@0 | 5 | function fill() { |
michael@0 | 6 | var s = unescape("%ubeef%udead%udead%udead%u0000%u0000%u3030%u3030"); |
michael@0 | 7 | while(s.length < 0x40000) { |
michael@0 | 8 | for(var x=0; x<100; x++) ar.push(s+s); |
michael@0 | 9 | s+=s; |
michael@0 | 10 | } |
michael@0 | 11 | } |
michael@0 | 12 | |
michael@0 | 13 | |
michael@0 | 14 | function gc() { |
michael@0 | 15 | var evt = document.createEvent("Events"); |
michael@0 | 16 | evt.initEvent("please-gc", true, false); |
michael@0 | 17 | document.dispatchEvent(evt); |
michael@0 | 18 | fill(); |
michael@0 | 19 | } |
michael@0 | 20 | |
michael@0 | 21 | |
michael@0 | 22 | gc(); |
michael@0 | 23 | function start(){ |
michael@0 | 24 | tmp = document.createElement('iframe'); |
michael@0 | 25 | tmp.src="data:image/svg+xml,"+escape("<?xml version='1.0' standalone='no'?><!DOCTYPE svg><svg xmlns='http://www.w3.org/2000/svg'><defs id='element1'></defs><g id='element5'></g></svg>"); |
michael@0 | 26 | tmp.id = 'ifr23282'; |
michael@0 | 27 | try{document.getElementById('store_div').appendChild(tmp);}catch(e){} |
michael@0 | 28 | window.setTimeout('startrly()', 100); |
michael@0 | 29 | } function startrly() { |
michael@0 | 30 | try{o6=document.createComment(null);}catch(e){} |
michael@0 | 31 | try{o9=document.getElementById('ifr23282').contentDocument.documentElement;;}catch(e){} |
michael@0 | 32 | try{o13=document.getElementById('ifr23282').contentDocument.getElementById('element1');;}catch(e){} |
michael@0 | 33 | try{o15=document.getElementById('ifr23282').contentDocument.getElementById('element5');;}catch(e){} |
michael@0 | 34 | try{tmp = document.createElement('iframe');}catch(e){} |
michael@0 | 35 | try{tmp.id = 'ifr6690';}catch(e){} |
michael@0 | 36 | try{o6.ownerDocument.documentElement.appendChild(tmp);}catch(e){} |
michael@0 | 37 | window.setTimeout('start_dataiframe0()',100); |
michael@0 | 38 | } function start_dataiframe0(){ |
michael@0 | 39 | try{o19=o6.ownerDocument.getElementById('ifr6690').contentDocument.documentElement;;}catch(e){} |
michael@0 | 40 | try{o24=document.createElementNS('http://www.w3.org/1998/Math/MathML','annotation-xml');;}catch(e){} |
michael@0 | 41 | try{o35=document.createElementNS('http://www.w3.org/1998/Math/MathML','emptyset');;}catch(e){} |
michael@0 | 42 | try{o40=o19.cloneNode(false);;}catch(e){} |
michael@0 | 43 | try{o19.appendChild(o13);}catch(e){} |
michael@0 | 44 | try{o19.appendChild(o15);}catch(e){} |
michael@0 | 45 | try{o24.appendChild(o40);}catch(e){} |
michael@0 | 46 | try{tmp = document.createElement('iframe');}catch(e){} |
michael@0 | 47 | tmp.src="data:text/html,<article%20id='element1'></article><command%20id='element3'></command>"; |
michael@0 | 48 | try{tmp.id = 'ifr17516';}catch(e){} |
michael@0 | 49 | try{o13.ownerDocument.documentElement.appendChild(tmp);}catch(e){} |
michael@0 | 50 | window.setTimeout('start_dataiframe4()',100); |
michael@0 | 51 | } function start_dataiframe4(){ |
michael@0 | 52 | try{o62=o13.ownerDocument.getElementById('ifr17516').contentDocument.getElementById('element1');;}catch(e){} |
michael@0 | 53 | try{tmp.id = 'ifr2522';}catch(e){} |
michael@0 | 54 | try{o101=o15.ownerDocument.getElementById('ifr2522').contentDocument.getElementById('element3');;}catch(e){} |
michael@0 | 55 | try{o101.appendChild(o24);}catch(e){} |
michael@0 | 56 | try{o109=o35.setUserData('key',null,function (o,k,d,s,ds) { gc(); });;}catch(e){} |
michael@0 | 57 | try{o112=document.createElementNS('http://www.w3.org/1999/xhtml', 'script');;}catch(e){} |
michael@0 | 58 | try{o124=document.createElementNS('http://www.w3.org/1998/Math/MathML','root');;}catch(e){} |
michael@0 | 59 | try{o125=document.createElementNS('http://www.w3.org/2000/svg','font-face');;}catch(e){} |
michael@0 | 60 | gc() |
michael@0 | 61 | try{o150=o40;}catch(e){} |
michael@0 | 62 | try{tmp.id = 'ifr44501';}catch(e){} |
michael@0 | 63 | try{o124.ownerDocument.documentElement.appendChild(tmp);}catch(e){} |
michael@0 | 64 | window.setTimeout('start_dataiframe7()',100); |
michael@0 | 65 | } function start_dataiframe7(){ |
michael@0 | 66 | try{o152=o124.ownerDocument.getElementById('ifr44501').contentDocument.documentElement;;}catch(e){} |
michael@0 | 67 | try{tmp = document.createElement('iframe');}catch(e){} |
michael@0 | 68 | try{tmp.src="data:text/html,<div%20id='element1'></div>";}catch(e){} |
michael@0 | 69 | try{tmp.id = 'ifr55543';}catch(e){} |
michael@0 | 70 | try{o125.ownerDocument.documentElement.appendChild(tmp);}catch(e){} |
michael@0 | 71 | window.setTimeout('start_dataiframe10()',100); |
michael@0 | 72 | } function start_dataiframe10(){ |
michael@0 | 73 | try{o198=o125.ownerDocument.getElementById('ifr55543').contentDocument.getElementById('element1');;}catch(e){} |
michael@0 | 74 | try{o152.appendChild(o101);}catch(e){} |
michael@0 | 75 | try{o152.ownerDocument.documentElement.appendChild(tmp);}catch(e){} |
michael@0 | 76 | window.setTimeout('start_dataiframe17()',100); |
michael@0 | 77 | } function start_dataiframe17(){ |
michael@0 | 78 | try{o286=o152.ownerDocument.getElementById('ifr55543').contentDocument.documentElement;;}catch(e){} |
michael@0 | 79 | try{o288=o152.ownerDocument.getElementById('ifr55543').contentDocument.getElementById('element1');;}catch(e){} |
michael@0 | 80 | try{o349=document.createElementNS('http://www.w3.org/2000/svg','animate');;}catch(e){} |
michael@0 | 81 | try{o150.appendChild(o349);}catch(e){} |
michael@0 | 82 | try{o288.appendChild(o150);}catch(e){} |
michael@0 | 83 | try{o198.appendChild(o349);}catch(e){} |
michael@0 | 84 | window.setTimeout('start_dataiframe24()',100); |
michael@0 | 85 | } function start_dataiframe24(){ |
michael@0 | 86 | try{o286.appendChild(o9);}catch(e){} |
michael@0 | 87 | try{o62.appendChild(o152);}catch(e){} |
michael@0 | 88 | try{o112.appendChild(o286);}catch(e){} |
michael@0 | 89 | try{o534=o35.cloneNode(false);;}catch(e){} |
michael@0 | 90 | gc(); |
michael@0 | 91 | o35 = null; |
michael@0 | 92 | gc(); |
michael@0 | 93 | window.setTimeout("fill()",300); |
michael@0 | 94 | } |
michael@0 | 95 | </script> |
michael@0 | 96 | <body onload="start()"> |
michael@0 | 97 | <div id="store_div"></div> |
michael@0 | 98 | </body> |