Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1312 → Rev 1313

/firefox/latrus/trunk/src/chrome/content/latrus.js
1,3 → 1,37
const STATE_START = Components.interfaces.nsIWebProgressListener.STATE_START;
const STATE_TRANSFERRING = Components.interfaces.nsIWebProgressListener.STATE_TRANSFERRING;
const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;
 
var LatRusWebProgressListener = {
QueryInterface: function(aIID)
{
if(aIID.equals(Components.interfaces.nsIWebProgressListener)
|| aIID.equals(Components.interfaces.nsISupportsWeakReference)
|| aIID.equals(Components.interfaces.nsISupports))
{
return this;
}
 
throw Components.results.NS_NOINTERFACE;
},
 
onStateChange: function(aWebProgress, aRequest, aFlag, aStatus)
{
// try to take control at first possible stage
if(aFlag & (STATE_START | STATE_TRANSFERRING | STATE_STOP)) {
aWebProgress.DOMWindow.document.removeEventListener('keypress', LatRus.onKeyPress, true);
aWebProgress.DOMWindow.document.addEventListener('keypress', LatRus.onKeyPress, true);
}
return 0;
},
 
onLocationChange: function() { return 0; },
onProgressChange: function() { return 0; },
onStatusChange: function() { return 0; },
onSecurityChange: function() { return 0; },
onLinkIconAvailable: function() { return 0; },
}
 
var latRusWorker = null;
var latRusEnabled = false;
 
4,20 → 38,16
var LatRus = {
init: function()
{
var appcontent = document.getElementById("appcontent");
if(appcontent) {
appcontent.addEventListener("DOMContentLoaded", LatRus.onPageLoad, true);
}
gBrowser.addProgressListener(LatRusWebProgressListener,
Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
 
latRusWorker = new Worker();
LatRus.setEnabled(latRusEnabled); // update menu and panel
},
 
onPageLoad: function(aEvent)
uninit: function()
{
if(aEvent.originalTarget.nodeName == "#document") {
aEvent.originalTarget.addEventListener('keypress', LatRus.onKeyPress, true);
}
gBrowser.removeProgressListener(LatRusWebProgressListener);
},
 
onKeyPress: function(aEvent)
54,7 → 84,8
},
};
 
window.addEventListener('load', LatRus.init, false);
window.addEventListener('load', LatRus.init, false);
window.addEventListener('unload', LatRus.uninit, false);
 
Worker.engTable = new Array(
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',