summaryrefslogtreecommitdiff
path: root/chrome/content/overlay.js
blob: 29b9a07bbd9f9ad562ccc3f0b9ec801add75a3fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
"use strict";

var topmenu = {
	logger : null,
	proxy : null,

	setupLogging: function() {
		Components.utils.import("chrome://topmenu/content/log4moz.js", topmenu);
		var Log4Moz = this.Log4Moz;
		var formatter = new Log4Moz.BasicFormatter();
		var root = Log4Moz.repository.rootLogger;
		root.level = Log4Moz.Level.Warn;

		var capp = new Log4Moz.ConsoleAppender(formatter);
		capp.level = Log4Moz.Level.Warn;
	    root.addAppender(capp);

		/*
		var dapp = new Log4Moz.DumpAppender(formatter);
		dapp.level = Log4Moz.Level.Debug;
		root.addAppender(dapp);
		*/

		this.logger = Log4Moz.repository.getLogger("topmenu");
	},

	setupMenuProxy: function() {
		Components.utils.import("chrome://topmenu/content/topmenuservice.js", topmenu);
		this.proxy = topmenu.TopMenuService.createWindowProxy(window);
	},

	dispose: function() {
		if (this.proxy) {
			this.proxy.dispose();
			this.proxy = null;
		}
	},

	onLoad: function() {
		window.removeEventListener('load', topmenu.onLoad);
		window.addEventListener('unload', topmenu.onUnload);
		topmenu.setupLogging();
		topmenu.setupMenuProxy();
	},

	onUnload: function() {
		window.removeEventListener('unload', topmenu.onUnload);
		topmenu.dispose();
	},
}

window.addEventListener('load', topmenu.onLoad);