Thu, 24 Apr 2014 14:25:06 +0200
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
2 | <html> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
3 | <head> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
4 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
5 | <base href="%@"> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
6 | <script type="text/javascript" defer="defer"> |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
7 | // NOTE: |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
8 | // Any percent signs in this file must be escaped! |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
9 | // Use two escape signs (%%) to display it, this is passed through a format call! |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
10 | |
|
35838
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
11 | var PURPLE_IMAGE_STORE_PROTOCOL = 'purple-image:'; |
|
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
12 | |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
13 | function appendHTML(html) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
14 | var node = document.getElementById("Chat"); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
15 | var range = document.createRange(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
16 | range.selectNode(node); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
17 | var documentFragment = range.createContextualFragment(html); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
18 | node.appendChild(documentFragment); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
19 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
20 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
21 | // a coalesced HTML object buffers and outputs DOM objects en masse. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
22 | // saves A LOT of CSS recalculation time when loading many messages. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
23 | // (ex. a long twitter timeline) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
24 | function CoalescedHTML() { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
25 | var self = this; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
26 | this.fragment = document.createDocumentFragment(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
27 | this.timeoutID = 0; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
28 | this.coalesceRounds = 0; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
29 | this.isCoalescing = false; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
30 | this.isConsecutive = undefined; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
31 | this.shouldScroll = undefined; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
32 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
33 | var appendElement = function (elem) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
34 | document.getElementById("Chat").appendChild(elem); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
35 | }; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
36 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
37 | function outputHTML() { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
38 | var insert = document.getElementById("insert"); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
39 | if(!!insert && self.isConsecutive) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
40 | insert.parentNode.replaceChild(self.fragment, insert); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
41 | } else { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
42 | if(insert) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
43 | insert.parentNode.removeChild(insert); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
44 | // insert the documentFragment into the live DOM |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
45 | appendElement(self.fragment); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
46 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
47 | alignChat(self.shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
48 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
49 | // reset state to empty/non-coalescing |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
50 | self.shouldScroll = undefined; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
51 | self.isConsecutive = undefined; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
52 | self.isCoalescing = false; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
53 | self.coalesceRounds = 0; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
54 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
55 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
56 | // creates and returns a new documentFragment, containing all content nodes |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
57 | // which can be inserted as a single node. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
58 | function createHTMLNode(html) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
59 | var range = document.createRange(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
60 | range.selectNode(document.getElementById("Chat")); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
61 | return range.createContextualFragment(html); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
62 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
63 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
64 | // removes first insert node from the internal fragment. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
65 | function rmInsertNode() { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
66 | var insert = self.fragment.querySelector("#insert"); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
67 | if(insert) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
68 | insert.parentNode.removeChild(insert); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
69 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
70 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
71 | function setShouldScroll(flag) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
72 | if(flag && undefined === self.shouldScroll) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
73 | self.shouldScroll = flag; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
74 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
75 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
76 | // hook in a custom method to append new data |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
77 | // to the chat. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
78 | this.setAppendElementMethod = function (func) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
79 | if(typeof func === 'function') |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
80 | appendElement = func; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
81 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
82 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
83 | // (re)start the coalescing timer. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
84 | // we wait 25ms for a new message to come in. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
85 | // If we get one, restart the timer and wait another 10ms. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
86 | // If not, run outputHTML() |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
87 | // We do this a maximum of 400 times, for 10s max that can be spent |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
88 | // coalescing input, since this will block display. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
89 | this.coalesce = function() { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
90 | window.clearTimeout(self.timeoutID); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
91 | self.timeoutID = window.setTimeout(outputHTML, 25); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
92 | self.isCoalescing = true; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
93 | self.coalesceRounds += 1; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
94 | if(400 < self.coalesceRounds) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
95 | self.cancel(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
96 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
97 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
98 | // if we need to append content into an insertion div, |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
99 | // we need to clear the buffer and cancel the timeout. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
100 | this.cancel = function() { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
101 | if(self.isCoalescing) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
102 | window.clearTimeout(self.timeoutID); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
103 | outputHTML(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
104 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
105 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
106 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
107 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
108 | // coalased analogs to the global functions |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
109 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
110 | this.append = function(html, shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
111 | // if we started this fragment with a consecuative message, |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
112 | // cancel and output before we continue |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
113 | if(self.isConsecutive) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
114 | self.cancel(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
115 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
116 | self.isConsecutive = false; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
117 | rmInsertNode(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
118 | var node = createHTMLNode(html); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
119 | self.fragment.appendChild(node); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
120 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
121 | node = null; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
122 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
123 | setShouldScroll(shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
124 | self.coalesce(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
125 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
126 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
127 | this.appendNext = function(html, shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
128 | if(undefined === self.isConsecutive) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
129 | self.isConsecutive = true; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
130 | var node = createHTMLNode(html); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
131 | var insert = self.fragment.querySelector("#insert"); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
132 | if(insert) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
133 | insert.parentNode.replaceChild(node, insert); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
134 | } else { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
135 | self.fragment.appendChild(node); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
136 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
137 | node = null; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
138 | setShouldScroll(shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
139 | self.coalesce(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
140 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
141 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
142 | this.replaceLast = function (html, shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
143 | rmInsertNode(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
144 | var node = createHTMLNode(html); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
145 | var lastMessage = self.fragment.lastChild; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
146 | lastMessage.parentNode.replaceChild(node, lastMessage); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
147 | node = null; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
148 | setShouldScroll(shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
149 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
150 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
151 | var coalescedHTML; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
152 | |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
153 | //Appending new content to the message view |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
154 | function appendMessage(html) { |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
155 | var shouldScroll; |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
156 | |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
157 | // Only call nearBottom() if should scroll is undefined. |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
158 | if(undefined === coalescedHTML.shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
159 | shouldScroll = nearBottom(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
160 | } else { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
161 | shouldScroll = coalescedHTML.shouldScroll; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
162 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
163 | appendMessageNoScroll(html, shouldScroll); |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
164 | } |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
165 | |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
166 | function appendMessageNoScroll(html, shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
167 | shouldScroll = shouldScroll || false; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
168 | // always try to coalesce new, non-griuped, messages |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
169 | coalescedHTML.append(html, shouldScroll) |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
170 | } |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
171 | |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
172 | function appendNextMessage(html){ |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
173 | var shouldScroll; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
174 | if(undefined === coalescedHTML.shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
175 | shouldScroll = nearBottom(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
176 | } else { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
177 | shouldScroll = coalescedHTML.shouldScroll; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
178 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
179 | appendNextMessageNoScroll(html, shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
180 | } |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
181 | |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
182 | function appendNextMessageNoScroll(html, shouldScroll){ |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
183 | shouldScroll = shouldScroll || false; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
184 | // only group next messages if we're already coalescing input |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
185 | coalescedHTML.appendNext(html, shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
186 | } |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
187 | |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
188 | function replaceLastMessage(html){ |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
189 | var shouldScroll; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
190 | // only replace messages if we're already coalescing |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
191 | if(coalescedHTML.isCoalescing){ |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
192 | if(undefined === coalescedHTML.shouldScroll) { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
193 | shouldScroll = nearBottom(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
194 | } else { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
195 | shouldScroll = coalescedHTML.shouldScroll; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
196 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
197 | coalescedHTML.replaceLast(html, shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
198 | } else { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
199 | shouldScroll = nearBottom(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
200 | //Retrieve the current insertion point, then remove it |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
201 | //This requires that there have been an insertion point... is there a better way to retrieve the last element? -evands |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
202 | var insert = document.getElementById("insert"); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
203 | if(insert){ |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
204 | var parentNode = insert.parentNode; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
205 | parentNode.removeChild(insert); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
206 | var lastMessage = document.getElementById("Chat").lastChild; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
207 | document.getElementById("Chat").removeChild(lastMessage); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
208 | } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
209 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
210 | //Now append the message itself |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
211 | appendHTML(html); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
212 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
213 | alignChat(shouldScroll); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
214 | } |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
215 | } |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
216 | |
|
35894
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
217 | var SCROLLMODE_UNKNOWN = 0; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
218 | var SCROLLMODE_WEBKIT1 = 1; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
219 | var SCROLLMODE_WEBKIT2 = 2; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
220 | var scroll_mode = SCROLLMODE_UNKNOWN; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
221 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
222 | function detectWebkitScrolling() { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
223 | if (scroll_mode != SCROLLMODE_UNKNOWN) |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
224 | return scroll_mode; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
225 | if (document.body.scrollTop > 0) |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
226 | scroll_mode = SCROLLMODE_WEBKIT1; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
227 | if (document.documentElement.scrollTop > 0) |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
228 | scroll_mode = SCROLLMODE_WEBKIT2; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
229 | return scroll_mode; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
230 | } |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
231 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
232 | var stickyscroll_just_scrolled = false; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
233 | var stickyscroll_just_scrolled_more = false; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
234 | var stickyscroll_to_bottom = true; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
235 | var stickyscroll_to_bottom_new = true; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
236 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
237 | function windowDidScroll(ev) { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
238 | if (stickyscroll_just_scrolled) { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
239 | stickyscroll_just_scrolled_more = true; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
240 | return; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
241 | } |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
242 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
243 | stickyscroll_just_scrolled = true; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
244 | var update_to_bottom = function() { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
245 | stickyscroll_to_bottom = stickyscroll_to_bottom_new; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
246 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
247 | var mode = detectWebkitScrolling(); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
248 | if (mode == SCROLLMODE_UNKNOWN || mode == SCROLLMODE_WEBKIT1) { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
249 | stickyscroll_to_bottom_new = ( document.body.scrollTop >= |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
250 | ( document.body.offsetHeight - (window.innerHeight + 20) ) ); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
251 | } else { /* SCROLLMODE_WEBKIT2 */ |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
252 | stickyscroll_to_bottom_new = ( document.documentElement.scrollTop >= |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
253 | ( document.documentElement.offsetHeight - (window.innerHeight + 20) ) ); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
254 | } |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
255 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
256 | if (stickyscroll_just_scrolled_more) { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
257 | stickyscroll_just_scrolled_more = false; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
258 | setTimeout(update_to_bottom, 10); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
259 | } else { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
260 | stickyscroll_just_scrolled = false; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
261 | } |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
262 | }; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
263 | setTimeout(update_to_bottom, 10); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
264 | } |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
265 | |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
266 | //Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired. |
|
35894
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
267 | function nearBottom2() { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
268 | return stickyscroll_to_bottom; |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
269 | } |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
270 | function scrollToBottom() { |
|
35894
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
271 | var mode = detectWebkitScrolling(); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
272 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
273 | var scrollfunc; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
274 | if (mode == SCROLLMODE_UNKNOWN || mode == SCROLLMODE_WEBKIT1) { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
275 | scrollfunc = function() { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
276 | document.body.scrollTop = document.body.offsetHeight; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
277 | }; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
278 | } else { /* SCROLLMODE_WEBKIT2 */ |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
279 | scrollfunc = function() { |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
280 | document.documentElement.scrollTop = |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
281 | document.documentElement.offsetHeight; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
282 | window.scrollTo(0, document.body.scrollHeight); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
283 | }; |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
284 | } |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
285 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
286 | scrollfunc(); |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
287 | /* wait for content to load and scroll again */ |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
288 | setTimeout(scrollfunc, 10); |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
289 | } |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
290 | |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
291 | //Dynamically exchange the active stylesheet |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
292 | function setStylesheet( id, url ) { |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
293 | var code = "<style id=\"" + id + "\" type=\"text/css\" media=\"screen,print\">"; |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
294 | if( url.length ) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
295 | code += "@import url( \"" + url + "\" );"; |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
296 | code += "</style>"; |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
297 | var range = document.createRange(); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
298 | var head = document.getElementsByTagName( "head" ).item(0); |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
299 | range.selectNode( head ); |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
300 | var documentFragment = range.createContextualFragment( code ); |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
301 | head.removeChild( document.getElementById( id ) ); |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
302 | head.appendChild( documentFragment ); |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
303 | } |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
304 | |
|
32980
2e99ae2e1aba
New branch for GSoC2012 project: Gadu-Gadu protocol plugin improvements.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32792
diff
changeset
|
305 | //If true is passed, view will be scrolled down |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
306 | function alignChat(shouldScroll) { |
|
35753
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
307 | if (!shouldScroll) |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
308 | return; |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
309 | |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
310 | scrollToBottom(); |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
311 | } |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
312 | |
|
35838
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
313 | function remoteImageIsReady(id) { |
|
35753
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
314 | var shouldScroll = nearBottom(); |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
315 | var emoticons; |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
316 | |
|
35754
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
317 | /* There is a possible race condition: if we call this |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
318 | * before the span.emoticon.pending is added, the latter |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
319 | * won't be converted. |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
320 | * |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
321 | * We could avoid this, by calling it again using |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
322 | * setTimeout, but it may affect performance. So, we |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
323 | * won't do it until anyone complains. |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
324 | */ |
|
b22f83f11582
Remote smileys: fix comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35753
diff
changeset
|
325 | |
|
35838
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
326 | emoticons = document.getElementsByClassName( |
|
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
327 | 'pending-image-id-' + id); |
|
35753
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
328 | for (var i = 0; i < emoticons.length; i++) { |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
329 | var node = emoticons[i]; |
|
35838
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
330 | var img = node.getElementsByTagName('img')[0]; |
|
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35754
diff
changeset
|
331 | img.setAttribute('src', PURPLE_IMAGE_STORE_PROTOCOL + id); |
|
35753
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
332 | node.parentNode.replaceChild(img, node); |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
333 | } |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
334 | |
|
222e69060b4a
Remote smileys: display them even on the first time
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35751
diff
changeset
|
335 | alignChat(shouldScroll); |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
336 | } |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
337 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
338 | window.onresize = function windowDidResize(){ |
|
35894
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
339 | alignChat(nearBottom()); |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
340 | } |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
341 | |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
342 | function initStyle() { |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
343 | alignChat(true); |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
344 | if(!coalescedHTML) |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
345 | coalescedHTML = new CoalescedHTML(); |
|
35894
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
346 | |
|
4e65d4d56e34
WebKitGtk: fix scrolling in webkitgtk2 and resize bug in webkitgtk1&webkitgtk2
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
347 | window.addEventListener('scroll', windowDidScroll); |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
348 | } |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
349 | </script> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
350 | |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
351 | <style type="text/css"> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
352 | .actionMessageUserName { display:none; } |
|
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
353 | .actionMessageBody:before { content:"*"; } |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
354 | .actionMessageBody:after { content:"*"; } |
|
32980
2e99ae2e1aba
New branch for GSoC2012 project: Gadu-Gadu protocol plugin improvements.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32792
diff
changeset
|
355 | * { word-wrap:break-word } |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
356 | img.scaledToFitImage { height: auto; max-width: 100%%; } |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
357 | </style> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
358 | |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
359 | <!-- This style is shared by all variants. !--> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
360 | <style id="baseStyle" type="text/css" media="screen,print"> |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
361 | %@ |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
362 | </style> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
363 | |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
364 | <!-- Although we call this mainStyle for legacy reasons, it's actually the variant style !--> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
365 | <style id="mainStyle" type="text/css" media="screen,print"> |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
366 | @import url( "%@" ); |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
367 | </style> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
368 | |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
369 | </head> |
|
32792
a5e427909389
Update Template.html from Adium's hg repo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32676
diff
changeset
|
370 | <body onload="initStyle();" style="==bodyBackground=="> |
|
32444
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
371 | %@ |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
372 | <div id="Chat"> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
373 | </div> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
374 | %@ |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
375 | </body> |
|
69e11efb2ba6
other files that missed my main major commit.
Arnold Noronha <tdrhq@soc.pidgin.im>
parents:
diff
changeset
|
376 | </html> |