Changeset 372
- Timestamp:
- 04/28/08 20:29:38 (3 weeks ago)
- Files:
-
- extension/resurrect/content/netError.xhtml (modified) (1 diff)
- extension/resurrect/content/resurrect-select-mirror.xul (modified) (2 diffs)
- extension/resurrect/content/resurrect.js (modified) (8 diffs)
- extension/resurrect/locale/en-US/overlay.dtd (modified) (1 diff)
- extension/resurrect/skin/netError.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
extension/resurrect/content/netError.xhtml
r371 r372 291 291 292 292 <fieldset id='resurrect'> 293 <legend> 293 <!-- fake elements so getElementById() doesn't die --> 294 <div id='targetTab' style='display: none;'></div> 295 <div id='targetWin' style='display: none;'></div> 296 297 <legend> 294 298 <img src='chrome://resurrect/skin/tb-icon-small.png' /> 295 299 &resurrect.thispage; extension/resurrect/content/resurrect-select-mirror.xul
r371 r372 24 24 25 25 <label value='&resurrect.fromMirror;' /> 26 <vbox id='resurrect'> 26 27 <button 27 28 value='coralcdn' label=' &resurrect.coralcdn;' … … 48 49 image='chrome://resurrect/skin/cacheicons/msn.png' 49 50 /> 51 </vbox> 50 52 51 53 </vbox> extension/resurrect/content/resurrect.js
r309 r372 1 1 var resurrect={ 2 3 mirrors:[4 {name:'CoralCDN', id:'coralcdn'},5 {name:'Google Cache', id:'google'},6 {name:'The Internet Archive', id:'archive'},7 {name:'MSN Cache', id:'msn'},8 {name:'Yahoo! Cache', id:'yahoo'}9 ],10 2 11 3 originalDoc:null, … … 20 12 .addEventListener('popupshowing', resurrect.toggleContextItems, false); 21 13 22 window.document.getElementById( "appcontent").addEventListener(14 window.document.getElementById('appcontent').addEventListener( 23 15 'DOMContentLoaded', resurrect.attachClickEvent, false 24 16 ); … … 44 36 var contentDoc=event.target; 45 37 if (contentDoc.documentURI.match(/^about:neterror/)) { 46 contentDoc.getElementById(' mirror').addEventListener(38 contentDoc.getElementById('resurrect').addEventListener( 47 39 'click', resurrect.clickedHtml, false 48 40 ); 49 try {50 // because this button isn't always there51 contentDoc.getElementById('mirrorSelect').addEventListener(52 'click', resurrect.clickedHtml, false53 );54 } catch (e) { }55 41 } 56 42 }, … … 81 67 selectedTab=aTab; 82 68 mTabBox.selectedPanel=getBrowserForTab(mCurrentTab).parentNode; 83 mCurrentTab.selected =true;69 mCurrentTab.selected=true; 84 70 updateCurrentBrowser(); 85 71 } … … 101 87 clickedHtml:function(event) { 102 88 return resurrect.clickHandler( 89 event, 103 90 event.target.ownerDocument, 104 91 event.target.ownerDocument, … … 109 96 clickedXul:function(event) { 110 97 return resurrect.clickHandler( 98 event, 111 99 event.target.ownerDocument, 112 100 window.arguments[0], … … 115 103 }, 116 104 117 clickHandler:function(ownerDoc, contentDoc, rawUrl) { 118 // Check, set, disabled status. 119 var listbox=ownerDoc.getElementById('mirror'); 120 121 if (-1==listbox.selectedIndex) return false; 122 if (resurrect.disabled) return false; 123 105 clickHandler:function(event, ownerDoc, contentDoc, rawUrl) { 106 if (resurrect.disabled) return; 124 107 resurrect.disabled=true; 125 listbox.setAttribute('disabled', true);126 127 var button=contentDoc.getElementById('mirrorSelect');128 if (!button && ownerDoc.documentElement.getButton) {129 button=ownerDoc.documentElement.getButton('accept');130 }131 button.setAttribute('disabled', true);132 108 133 109 // Run the actual code. After timeout for UI repaint. 134 setTimeout(resurrect.selectMirror, 1, ownerDoc, contentDoc, rawUrl); 135 }, 136 137 selectMirror:function(ownerDoc, contentDoc, rawUrl) { 138 var listbox=ownerDoc.getElementById('mirror'); 139 110 setTimeout( 111 resurrect.selectMirror, 1, 112 event.target.getAttribute('value'), ownerDoc, contentDoc, rawUrl 113 ); 114 }, 115 116 selectMirror:function(mirror, ownerDoc, contentDoc, rawUrl) { 140 117 var gotoUrl=null; 141 118 var encUrl=encodeURIComponent(rawUrl); 142 119 143 switch ( listbox.value) {120 switch (mirror) { 144 121 case 'coralcdn': 145 122 gotoUrl=rawUrl.substring(0, 8)+ … … 213 190 contentDoc.location.assign(gotoUrl); 214 191 } 215 } 216 217 if ('chrome://resurrect/content/resurrect-select-mirror.xul'==window.document.location) { 218 // setTimeout avoids errors because the window is gone 219 setTimeout(window.close, 0); 192 193 if ('chrome://resurrect/content/resurrect-select-mirror.xul'==window.document.location) { 194 // setTimeout avoids errors because the window is gone 195 setTimeout(window.close, 0); 196 } 197 } else { 198 resurrect.disabled=false; 220 199 } 221 200 } 222 223 // // // // // // // // // // // // // // // // // // // // // // // // // // //224 201 225 202 }//end var resurrect extension/resurrect/locale/en-US/overlay.dtd
r205 r372 10 10 <!ENTITY resurrect.yahoo "Yahoo! Cache"> 11 11 <!ENTITY resurrect.archive "The Internet Archive"> 12 <!ENTITY resurrect.msn " MSNCache">12 <!ENTITY resurrect.msn "Live Search (MSN) Cache"> 13 13 <!ENTITY resurrect.inCurrTab "In the current tab/window"> 14 14 <!ENTITY resurrect.inNewTab "In a new tab"> extension/resurrect/skin/netError.css
r371 r372 1 1 div#errorPageContainer { 2 padding-right: 17em;3 max-width: 4 7em;2 padding-right: 20em; 3 max-width: 45em; 4 4 } 5 5