pidgin/gtkdebug.html

Fri, 30 Jun 2017 13:13:13 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Fri, 30 Jun 2017 13:13:13 -0500
changeset 38547
1772a0f0f77c
parent 33925
e5b703bc9f03
permissions
-rw-r--r--

tls-certificate: Fix docstring function references

Several function references in the documentation of PurpleTlsCertificate
were using the wrong function names or just the wrong function. This
patch fixes those references.

33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1 <!DOCTYPE html>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2 <html>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 <head>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
4 <style>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 body{white-space:pre-wrap;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
6 div.l0{color:#000000;} /* All debug levels. */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 div.l1{color:#666666;} /* Misc. */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 div.l2{color:#000000;} /* Information. */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
9 div.l3{color:#660000;} /* Warnings. */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 div.l4{color:#FF0000;} /* Errors. */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 div.l5{color:#FF0000;font-weight:bold;} /* Fatal errors. */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 /* Filter levels */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
13 div#pause~div{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 body.l1 div.l0{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 body.l2 div.l0,body.l2 div.l1{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
16 body.l3 div.l0,body.l3 div.l1,body.l3 div.l2{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 body.l4 div.l0,body.l4 div.l1,body.l4 div.l2,body.l4 div.l3{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 body.l5 div.l0,body.l5 div.l1,body.l5 div.l2,body.l5 div.l3,body.l5 div.l4{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
19 /* Regex */
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 div.hide{display:none;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 span.regex{background-color:#ffafaf;font-weight:bold;}
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 </style>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23 <script>
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
24 function nearBottom() {
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
25 return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.5 ) ) );
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
26 }
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
27
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
28 function scrollToBottom() {
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
29 document.body.scrollTop = document.body.offsetHeight;
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
30 }
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
31
33923
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
32 regex = {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
33 clear: function () {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
34 var list, i;
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
35 var scroll = nearBottom();
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
36
33923
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
37 /* Remove highlighting SPANs */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
38 list = document.getElementsByClassName('regex');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
39 i = list.length;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
40 while (i--) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
41 var span = list[i];
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
42 var parent = span.parentNode;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
43 var content = span.textContent;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
44 var text = document.createTextNode(content);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
45 parent.replaceChild(text, span);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
46 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
47
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
48 /* Remove hidden DIVs */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
49 list = document.getElementsByClassName('hide');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
50 i = list.length;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
51 while (i--) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
52 list[i].classList.remove('hide');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
53 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
54
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
55 if (scroll)
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
56 scrollToBottom();
33923
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
57 this.enabled = false;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
58 },
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
59
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
60 highlightTextNodes: function (div, start_pos, end_pos) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
61 var data = [], node, range, span, contents;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
62 var ind, end_ind
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
63 var this_start, this_end;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
64
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
65 ind = 0;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
66 div.normalize();
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
67 node = div;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
68
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
69 /* First, find the container nodes and offsets to apply highlighting. */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
70 do {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
71 if (node.nodeType === Node.TEXT_NODE) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
72 end_ind = ind + node.length;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
73
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
74 if (start_pos <= ind)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
75 this_start = 0;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
76 else if (start_pos < end_ind)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
77 this_start = start_pos - ind;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
78 else
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
79 this_start = -1;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
80
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
81 if (end_pos < end_ind)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
82 this_end = end_pos - ind;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
83 else
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
84 this_end = end_ind - ind;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
85
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
86 if (this_start != -1 && this_start < this_end) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
87 data.push(this_end, this_start, node);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
88 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
89
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
90 ind = end_ind;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
91 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
92
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
93 if (node.hasChildNodes()) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
94 node = node.firstChild;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
95 } else {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
96 while (node != div) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
97 var next = node.nextSibling;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
98 if (next) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
99 node = next;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
100 break;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
101 } else {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
102 node = node.parentNode;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
103 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
104 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
105 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
106 } while (node != div);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
107
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
108 /* Second, apply highlighting to saved sections. Changing the DOM is
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
109 automatically reflected in all WebKit API, so we have to do this after
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
110 finding the offsets, or things could get complicated. */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
111 while (data.length) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
112 node = data.pop();
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
113 this_start = data.pop();
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
114 this_end = data.pop();
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
115
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
116 range = document.createRange();
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
117 range.setStart(node, this_start);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
118 range.setEnd(node, this_end);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
119
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
120 span = document.createElement('span');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
121 span.className = 'regex';
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
122
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
123 contents = range.extractContents();
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
124 range.insertNode(span);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
125 span.appendChild(contents);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
126 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
127 },
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
128
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
129 match: function (div) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
130 var text, match_info;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
131 var m, count, start_pos, end_pos;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
132
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
133 text = div.textContent;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
134 if (!text)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
135 return;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
136
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
137 /* We do a first pass to see if it matches at all. If it does we work out
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
138 * the offsets to highlight.
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
139 */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
140 this.regex.lastIndex = 0;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
141 var match_info = this.regex.exec(text);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
142 if ((match_info != null) != this.invert) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
143 /* If we're not highlighting or the expression is inverted, we're
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
144 * done and move on.
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
145 */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
146 if (!this.highlight || this.invert)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
147 return;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
148
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
149 do {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
150 if (match_info === null)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
151 break;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
152
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
153 count = match_info.length;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
154 if (count === 1)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
155 m = 0;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
156 else
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
157 m = 1;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
158
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
159 /* We do this because JS doesn't provide a sufficient means to
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
160 determine the indices of matched groups. So we're just going
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
161 to highlight the entire match instead. */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
162 m = 0; count = 1;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
163
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
164 for (; m < count; m++) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
165 start_pos = match_info.index;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
166 end_pos = this.regex.lastIndex;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
167 if (end_pos == -1)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
168 break;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
169
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
170 this.highlightTextNodes(div, start_pos, end_pos);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
171 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
172
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
173 /* Workaround broken API for empty matches */
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
174 if (match_info.index == this.regex.lastIndex)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
175 this.regex.lastIndex++;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
176 } while (match_info = this.regex.exec(text));
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
177 } else {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
178 div.classList.add('hide');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
179 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
180 },
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
181
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
182 filterAll: function (str, inv, high) {
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
183 this.regex = new RegExp(str, 'gi');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
184 this.invert = inv;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
185 this.highlight = high;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
186 this.enabled = true;
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
187 var list = document.getElementsByTagName('div');
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
188 for (var i = 0; i < list.length; i++)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
189 this.match(list[i]);
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
190 },
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
191
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
192 highlight: false,
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
193 invert: false,
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
194 enabled: false,
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
195 regex: undefined
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
196 }
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
197
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
198 function append(level, time, cat, msg) {
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
199 var div = document.createElement('div');
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
200 div.className = 'l' + level;
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
201
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
202 div.appendChild(document.createTextNode('(' + time + ') '));
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
203
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
204 if (cat) {
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
205 var cat_n = document.createElement('b');
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
206 cat_n.appendChild(document.createTextNode(cat + ':'));
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
207 div.appendChild(cat_n);
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
208 div.appendChild(document.createTextNode(' '));
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
209 }
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
210
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
211 div.appendChild(document.createTextNode(msg));
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
212
33923
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
213 if (regex.enabled)
0fcc5635daba Rewrite debug window filter in JS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33922
diff changeset
214 regex.match(div);
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
215
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
216 var scroll = nearBottom();
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
217 document.body.appendChild(div);
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
218 if (scroll)
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
219 scrollToBottom();
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
220 }
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
221
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
222 function clear() {
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
223 document.body.innerHTML = '';
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
224 }
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
225
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
226 function pauseOutput() {
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
227 document.body.insertAdjacentHTML('beforeEnd', '<div id=pause></div>');
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
228 }
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
229
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
230 function resumeOutput() {
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
231 var pause = document.getElementById('pause');
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
232 if (pause) {
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
233 var parent = pause.parentNode;
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
234 parent.removeChild(pause);
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
235 scrollToBottom();
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
236 }
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
237 }
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
238
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
239 function setFilterLevel(l) {
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
240 var scroll = nearBottom();
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
241
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
242 document.body.className = 'l'+l;
33925
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
243
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
244 if (scroll)
e5b703bc9f03 Fix autoscroll in debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33923
diff changeset
245 scrollToBottom();
33922
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
246 }
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
247 </script>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
248 </head>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
249 <body class=l0></body>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
250 </html>
61f997b47954 Split debug window HTML into a separate file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
251

mercurial