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.
1 <svg xmlns="http://www.w3.org/2000/svg"
2 xmlns:html="http://www.w3.org/1999/xhtml"
3 xmlns:mathml="http://www.w3.org/1998/Math/MathML"
4 xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns:xforms="http://www.w3.org/2002/xforms">ع<svg:foreignObject x="0" y="0" width="100%" height="100%"></svg:foreignObject>
7 <html:script><![CDATA[
8 /*template*/
9 var doc = document;
10 if (document.getElementById('content'))
11 doc = document.getElementById('content').contentDocument;
13 function addfirstletter(){
14 var x=doc.createElementNS('http://www.w3.org/1999/xhtml','style');
15 x.innerHTML='\
16 *::first-letter {float: right; text-transform: uppercase; background-color:red; font-size:600%;}\
17 ';
18 doc.documentElement.appendChild(x);
19 }
21 setTimeout(addfirstletter,200);
23 /*template*/
25 /*template*/
26 var doc = document;
27 if (document.getElementById('content'))
28 doc = document.getElementById('content').contentDocument;
30 function addfirstline(){
31 var x=doc.createElementNS('http://www.w3.org/1999/xhtml','style');
32 x.innerHTML='\
33 *::first-line { text-transform: uppercase; background-color:green; font-size:110%; height: 110%;}\
34 *::after { content:"anonymous text"; float:right;border:3px solid black;text-transform: uppercase;height: 90%;}\
35 *::before { content:"before text"; float:right;border:3px solid black;font-size: 10px;width:80%;}\
36 ';
37 doc.documentElement.appendChild(x);
38 }
39 setTimeout(addfirstline,200);
41 /*template*/
42 /*template*/
43 var doc = document;
44 if (document.getElementById('content'))
45 doc = document.getElementById('content').contentDocument;
47 var timers=0;
48 function doe(aObj, aNested, aCurrentTimer){
49 var temp =0;
50 for (var i in aObj) {
51 try {
52 if (i == 'ordinal')
53 continue;
54 if (typeof aObj[i] == 'object') {
55 if (aNested >= 1000 || aObj[i] == window.location || aOb[i] == doc.documentElement.boxObject)
56 continue;
57 setTimeout(doe,500, aObj[i], ++aNested, timers);
58 timers++;
59 if (aOb[i] == doc.documentElement.boxObject.firstChild) {
60 alert(i);
61 continue;
62 };
63 }
64 if (i == 'textContent' || i == 'innerHTML')
65 continue;
66 }
67 catch(e){}
68 try {
69 //if (temp == 68 && aNested == 21 && aCurrentTimer >= 116) {
70 // alert(i + '-'+ aObj[i]);
71 // return;
72 // }
74 if (typeof aObj[i] == 'function') {
75 if (i =='removeChild' || i == 'getBoxObjectFor' || i == 'enableRollup')
76 aObj[i](doc.documentElement);
77 }
78 else {
79 aObj[i]= 'on';
80 }
81 temp+=1;
82 }
83 catch (e) {
85 }
86 }
87 }
89 setTimeout(doe,0, doc.documentElement, 300);
91 /*template*/
93 ]]></html:script>
94 </svg>