|
1 /*! |
|
2 \file networkstatus.js This module contains the NetworkStatus class. |
|
3 */ |
|
4 |
|
5 function NetworkStatus() |
|
6 { |
|
7 // attach internal funcs |
|
8 this.setup = setupPage; |
|
9 |
|
10 // do setup |
|
11 this.setup(); |
|
12 |
|
13 function onChromeComplete() |
|
14 { |
|
15 window.pageController.pageLoadFinished.connect( |
|
16 function(ok) { |
|
17 processLoadStatus(ok); |
|
18 var networkTimeoutId; |
|
19 if (!ok && !window.pageController.loadCanceled ) { |
|
20 showNetworkStatus(); |
|
21 networkTimeoutId = setTimeout ( 'hideNetworkStatus()', 2000 ); |
|
22 } |
|
23 } |
|
24 ); |
|
25 } //End of onChromeComplete handler |
|
26 |
|
27 window.chrome.chromeComplete.connect(onChromeComplete); |
|
28 } |
|
29 |
|
30 // "Private" methods |
|
31 function processLoadStatus(ok) { |
|
32 |
|
33 var htmlText = "Page load ok"; |
|
34 if (!ok) |
|
35 htmlText = window.localeDelegate.translateText("page_load_failed"); |
|
36 var ele = document.getElementById("NetworkStatusTextId"); |
|
37 if (ele) { |
|
38 ele.innerHTML = htmlText; |
|
39 } |
|
40 else { |
|
41 document.write(htmlText); |
|
42 } |
|
43 |
|
44 } |
|
45 |
|
46 // "Private" methods |
|
47 function setupPage() { |
|
48 // var image = 'networkstatus.snippet/icons/network_status_icon.png'; |
|
49 |
|
50 var html = |
|
51 '<div class="networkStatusBox">' + |
|
52 '<table><tr>' + |
|
53 // '<td class="networkStatusIcon">' + |
|
54 // '<img src="' + image + '" alt="">' + |
|
55 // '</td>' + |
|
56 '<td class="networkStatusText" id="NetworkStatusTextId">' + |
|
57 'Replace with localized message text' + |
|
58 '</td>' + |
|
59 '</tr></table>' + |
|
60 '</div>'; |
|
61 document.write(html); |
|
62 } |
|
63 |
|
64 // "Private" method |
|
65 function showNetworkStatus() { |
|
66 window.snippets.NetworkStatusChromeId.setPosition(10,80); |
|
67 window.snippets.NetworkStatusChromeId.show(true); |
|
68 window.snippets.NetworkStatusChromeId.repaint(); |
|
69 } |
|
70 |
|
71 // "private" method |
|
72 function hideNetworkStatus() { |
|
73 window.snippets.NetworkStatusChromeId.setPosition(10,80); |
|
74 window.snippets.NetworkStatusChromeId.hide(); |
|
75 window.snippets.NetworkStatusChromeId.repaint(); |
|
76 } |