[Pkg-mozext-commits] [wot] 193/226: Out-of-the-page Warning Screen. Fixes many issues: #69, #41, #39, #37,

David Prévot taffit at moszumanska.debian.org
Fri May 1 00:35:50 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository wot.

commit 848148aefbffa412dbb40a7d4280b74d4cbef4d7
Author: Sergey Andryukhin <sorgoz at yandex.com>
Date:   Thu Jan 9 16:12:21 2014 +0200

    Out-of-the-page Warning Screen. Fixes many issues: #69, #41, #39, #37,
---
 content/blocked.html      |  12 +
 content/config.js         |  11 +-
 content/core.js           |  22 +-
 content/overlay.xul       |   4 +
 content/ui.js             |   8 +-
 content/util.js           |   6 +-
 content/warning.js        | 476 +++++++++++++++++++-----------
 locale/cs-CZ/blocked.html |  17 --
 locale/de-DE/blocked.html |  17 --
 locale/en-US/blocked.html |  17 --
 locale/es-ES/blocked.html |  17 --
 locale/fi-FI/blocked.html |  17 --
 locale/fr-FR/blocked.html |  17 --
 locale/it-IT/blocked.html |  17 --
 locale/ja-JP/blocked.html |  17 --
 locale/ko-KR/blocked.html |  17 --
 locale/pl-PL/blocked.html |  17 --
 locale/pt-BR/blocked.html |  17 --
 locale/ru-RU/blocked.html |  17 --
 locale/sv-SE/blocked.html |  17 --
 locale/tr-TR/blocked.html |  17 --
 locale/uk-UA/blocked.html |  17 --
 locale/zh-CN/blocked.html |  17 --
 locale/zh-TW/blocked.html |  17 --
 skin/include/blocked.css  |   5 +
 skin/include/blocked.js   | 240 ---------------
 skin/include/warning.css  | 726 +++++++++++++++++++++++-----------------------
 skin/wot.css              |   5 +
 28 files changed, 721 insertions(+), 1083 deletions(-)

diff --git a/content/blocked.html b/content/blocked.html
new file mode 100644
index 0000000..32521f2
--- /dev/null
+++ b/content/blocked.html
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<meta charset="utf-8">
+		<style type="text/css">
+			@import "chrome://wot/skin/include/blocked.css";
+		</style>
+	</head>
+	<body id="wotblocked"></body>
+</html>
diff --git a/content/config.js b/content/config.js
index eddd40e..fa620bb 100644
--- a/content/config.js
+++ b/content/config.js
@@ -142,12 +142,6 @@ const WOT_SERVICE_XML_QUERY_MSG_VERSION_LE		= "le";
 const WOT_SERVICE_XML_QUERY_MSG_VERSION_GE		= "ge";
 const WOT_SERVICE_XML_QUERY_MSG_THAN			= "than";
 const WOT_SERVICE_XML_QUERY_USER				= "user";
-//const WOT_SERVICE_XML_QUERY_USER_ICON			= "icon";
-//const WOT_SERVICE_XML_QUERY_USER_BAR			= "bar";
-//const WOT_SERVICE_XML_QUERY_USER_LENGTH			= "length";
-//const WOT_SERVICE_XML_QUERY_USER_URL			= "url";
-//const WOT_SERVICE_XML_QUERY_USER_TEXT			= "text";
-//const WOT_SERVICE_XML_QUERY_USER_NOTICE			= "notice";
 const WOT_SERVICE_XML_QUERY_STATUS				= "status";
 const WOT_SERVICE_XML_REGISTER					= "register";
 const WOT_SERVICE_XML_REGISTER_ID				= "id";
@@ -177,7 +171,7 @@ const WOT_SCORECARD_COMMENT = "/comment";
 const WOT_SCORECARD_RATE = "/rate";
 
 /* Operation intervals (in ms) */
-const WOT_DELAY_WARNING					= 1000;				/* 1 s */
+const WOT_DELAY_WARNING					= 0;				/* 1 s */
 const WOT_INTERVAL_BLOCK_ERROR			= 15 * 1000;		/* 15 s */
 const WOT_INTERVAL_CACHE_REFRESH 	  	= 30 * 60 * 1000;	/* 30 min */
 const WOT_INTERVAL_CACHE_REFRESH_BLOCK 	= 18000 * 1000;		/* 5 h */
@@ -212,8 +206,7 @@ const WOT_DEFAULT_WARNING_LEVEL = 39;
 const WOT_DEFAULT_MIN_CONFIDENCE_LEVEL = 8;
 
 const WOT_BLOCK_LOADING = "chrome://wot/locale/loading.html";
-const WOT_BLOCK_BLOCKED = "chrome://wot/locale/blocked.html";
-
+const WOT_BLOCK_BLOCKED = "chrome://wot/content/blocked.html";
 
 /*
  * Preferences
diff --git a/content/core.js b/content/core.js
index 00f49b2..4ade052 100644
--- a/content/core.js
+++ b/content/core.js
@@ -130,6 +130,18 @@ var wot_core =
 					wot_core.unload();
 				}, false);
 
+			window.addEventListener("sizemodechange", function (e) {
+				wot_warning.blur();
+			}, false);
+
+			window.addEventListener("deactivate", function (e) {
+				wot_warning.blur(true);
+			}, false);
+
+			window.addEventListener("activate", function (e) {
+				wot_warning.blur();
+			}, false);
+
 			this.browser = document.getElementById("appcontent");
 
 			if (this.browser) {
@@ -412,18 +424,18 @@ var wot_core =
 	{
 		try {
 			if (!wot_util.isenabled() || !pl || !pl.browser || !url) {
-				return;
+				return false;
 			}
 
 			if (!wot_warning.isblocking()) {
-				return;
+				return false;
 			}
 
 			var hostname = wot_url.gethostname(url);
 
 			if (!hostname || wot_url.isprivate(hostname) ||
 					wot_url.isexcluded(hostname)) {
-				return;
+				return false;
 			}
 
 			if (wot_cache.isok(hostname)) {
@@ -438,6 +450,8 @@ var wot_core =
 			} else {
 				this.showloading(pl, request, url, hostname);
 			}
+
+			return true;
 		} catch (e) {
 			dump("wot_core.block: failed with " + e + "\n");
 		}
@@ -660,6 +674,8 @@ var wot_core =
 				}
 				wot_status.set("nohost",
 					wot_util.getstring("messages_notavailable"));
+
+				wot_status.update();
 				return;
 			}
 
diff --git a/content/overlay.xul b/content/overlay.xul
index 6563efa..7b685ca 100644
--- a/content/overlay.xul
+++ b/content/overlay.xul
@@ -72,6 +72,10 @@
                     width="576px" height="422px"/>
         </panel>
 
+        <panel id="wot-warning" noautohide="true" position="topcenter topleft">
+            <iframe id="wot-warning-frame" type="content" width="388px" />
+        </panel>
+
         <!-- Indicator tooltip -->
         <tooltip id="wot-tooltip"
                  onpopupshowing="return wot_commands.tooltip_update(document.tooltipNode);">
diff --git a/content/ui.js b/content/ui.js
index 8e03e75..51a138f 100644
--- a/content/ui.js
+++ b/content/ui.js
@@ -1,6 +1,6 @@
 /*
 	ui.js
-	Copyright © 2005 - 2012  WOT Services Oy <info at mywot.com>
+	Copyright © 2005 - 2014  WOT Services Oy <info at mywot.com>
 
 	This file is part of WOT.
 
@@ -98,10 +98,10 @@ var wot_status = {
 			var type = wot_warning.isdangerous(wot_core.hostname, true);
 			var content = getBrowser().selectedBrowser.contentDocument;
 
-			if (type == WOT_WARNING_NOTIFICATION || type == WOT_WARNING_DOM) {
-				wot_warning.add(wot_core.hostname, content, type);
+			if (type == WOT_WARNING_NOTIFICATION || type == WOT_WARNING_DOM || type == WOT_WARNING_BLOCK) {
+				wot_warning.add(wot_core.hostname, content, type, (type == WOT_WARNING_BLOCK));
 			} else {
-				if(type != WOT_WARNING_BLOCK) wot_warning.hide(content);
+				wot_warning.hide(content);
 			}
 
             wot_rw.update();
diff --git a/content/util.js b/content/util.js
index eadb223..f95066c 100644
--- a/content/util.js
+++ b/content/util.js
@@ -1,6 +1,6 @@
 /*
 	util.js
-	Copyright © 2005 - 2013  WOT Services Oy <info at mywot.com>
+	Copyright © 2005 - 2014  WOT Services Oy <info at mywot.com>
 
 	This file is part of WOT.
 
@@ -464,7 +464,7 @@ var wot_browser =
 		return null;
 	},
 
-	show_warning: function(hostname, message, known)
+	show_notification: function(hostname, message, known)
 	{
 		try {
 			var icon = "chrome://wot/skin/fusion/";
@@ -517,7 +517,7 @@ var wot_browser =
 					null, null, "wot-popup", "top", true, null);
 			}
 		} catch (e) {
-			dump("wot_browser.show_warning: failed with " + e + "\n");
+			dump("wot_browser.show_notification: failed with " + e + "\n");
 		}
 	},
 
diff --git a/content/warning.js b/content/warning.js
index acc0205..fb60bba 100644
--- a/content/warning.js
+++ b/content/warning.js
@@ -1,6 +1,6 @@
 /*
 	warning.js
-	Copyright © 2006 - 2012  WOT Services Oy <info at mywot.com>
+	Copyright © 2006 - 2014  WOT Services Oy <info at mywot.com>
 
 	This file is part of WOT.
 
@@ -23,9 +23,11 @@ const WOT_WARNING_CSS = "@import \"chrome://wot/skin/include/warning.css\";";
 var wot_warning =
 {
 	minheight: 600,
+	width: 390,
 	exit_mode: "back",
 	is_blocked: false,
     warned: {},
+	current_tab: null,  // hostname + tabIndex to understand, whether the warning already updated for the tab
 
     make_categories_block: function (categories, options) {
 
@@ -314,8 +316,8 @@ var wot_warning =
 
 			var hostname = wot_url.gethostname(content.location.href);
 
-			if (wot_warning.isdangerous(hostname, false) == WOT_WARNING_DOM) {
-				wot_warning.add(hostname, content, WOT_WARNING_DOM);
+			if (wot_warning.isdangerous(hostname, false) == WOT_WARNING_DOM && !wot_warning.warned[hostname]) {
+				wot_warning.add_overlay(hostname, content, WOT_WARNING_DOM, false);
 			}
 		} catch (e) {
 			dump("wot_warning.domcontentloaded: failed with " + e + "\n");
@@ -342,6 +344,10 @@ var wot_warning =
 		return -1;
 	},
 
+	getwarning: function () {
+		return document.getElementById("wot-warning");
+	},
+
 	set_exitmode: function(content)
 	{
 		var window = content.defaultView;
@@ -354,28 +360,205 @@ var wot_warning =
 		return wot_warning.exit_mode;
 	},
 
-	add: function(hostname, content, type, forced_reason)
+	getposition: function (container, warning) {
+
+		if (!container || !warning) return null;
+
+		var nbox = gBrowser.getNotificationBox(),
+			offsetY = 28;
+
+		if (nbox && !nbox.notificationsHidden && nbox.currentNotification) {
+			offsetY = nbox.currentNotification.clientHeight > 0 ? nbox.currentNotification.clientHeight + 3 : offsetY;
+		}
+
+		var warning_width = this.width,
+			width = container.clientWidth;
+			height = container.clientHeight;
+
+		return {
+			anchor: container,
+			warning: warning,
+			x: - warning_width / 2,
+			y: offsetY,
+			height: height
+		}
+	},
+
+	get_tabtarget: function () {
+		var tab = getBrowser().selectedTab;
+		return wot_core.hostname + "@@" + tab.tabIndex;
+	},
+
+	add: function(hostname, content, type, blocking_mode) {
+		if (window.windowState === 2) { // Main window is minimized - hide the warning popup
+			this.hide(content);
+		} else {
+
+			if (wot_warning.current_tab != wot_warning.get_tabtarget()) {
+				if (this.update_content(hostname, content, type, blocking_mode)) {
+					this.show();
+
+				} else {
+					// if updating content was unsuccessful, don't show the warning popup
+					this.hide(content);
+				}
+			}
+		}
+	},
+
+	add_overlay: function (hostname, content, type, forced_reason) {
+		// Attach the Shader to the current website
+		var content_body = content.getElementsByTagName("body");
+
+		content_body = content_body.length > 0 ? content_body[0] : null;
+
+		if (content_body &&
+			content.contentType &&
+			content.contentType.toLowerCase().indexOf("html") >= 0) {
+
+			var overlay = content.createElement("div");
+			overlay.setAttribute("id", "wot-overlay"); // FIXME: the ID should be random
+
+			// set style
+			var opacity = 0;
+			if (wot_prefs.warning_opacity &&
+				wot_prefs.warning_opacity.length > 0 &&
+				Number(wot_prefs.warning_opacity) >= 0 &&
+				Number(wot_prefs.warning_opacity) <= 1) {
+				opacity = wot_prefs.warning_opacity;
+			}
+
+			var style = [
+				"position: fixed",
+				"left: 0",
+				"top: 0",
+				"height: 100%",
+				"width: 100%",
+				"margin: 0",
+				"display: block",
+				"cursor: default",
+				"-moz-user-select: none",
+				"user-select: none",
+				"z-index: 2147483647",
+				"background-color: #000000",
+				"opacity: " + opacity
+			];
+
+			var style_str = style.join(" !important;");
+			overlay.setAttribute("style", style_str);
+
+			content_body.appendChild(overlay);
+
+			/* Flash has authority issues with z-index, so try to hide it
+			 while warning is being shown (skip on "blocked!" page) */
+			if (forced_reason === false) this.hideobjects(content, true);
+		}
+	},
+
+	open_popup: function (warning, anchor, x, y) {
+		// fix height + popup open
+		warning.height = 10;
+		// position the popup and make it visible if it is not yet
+		warning.openPopup(anchor, "topcenter topleft", x, y, false, false, null);  // show it
+
+	},
+
+	show: function () {
+
+		var x, y,
+			warning = this.getwarning(),
+			anchor = wot_core.browser; // area where a website is shown
+
+		if (!warning || !anchor) return false;
+
+		// get center position offset
+		var pos = this.getposition(anchor, warning);
+		if (!pos) return false;
+		x = pos.x;
+		y = pos.y;
+
+		if (warning.state != "open") {  // to avoid flickering
+			warning.style.visibility = "hidden";    // workaround to hide resizing
+			this.open_popup(warning, anchor, x, y);
+
+			// workaround to fix the height after the browser was terminated & restored
+			window.setTimeout(function () {
+				wot_warning.update_size();
+				warning.style.visibility = "visible";
+			}, 120);
+
+		} else {
+			this.open_popup(warning, anchor, x, y);
+			wot_warning.update_size();
+			warning.style.visibility = "visible";
+		}
+
+		// remember current "warning in the tab" to avoid unnecessary updates
+		wot_warning.current_tab = wot_warning.get_tabtarget();
+
+		return true;
+	},
+
+	blur: function (hide) {
+		// used when the browser is minimized or lost focus therefor warning popup should not be visible
+		if (window.windowState === 2 || hide) {
+			wot_warning.hide(null, false);
+		} else {
+			wot_status.update();
+		}
+	},
+
+	hide: function(content, hide_notification)
 	{
-		/* Obviously, this isn't exactly foolproof. A site might have
-			elements with a higher z-index, or it might try to remove
-			our layer. That's why we show the notification bar too.
+		try {
+			wot_warning.current_tab = null; // clear the tab-warning state
+			// hide warning floating panel
+			var warning = this.getwarning();
+			warning.hidePopup();
+
+			// hide warning notification
+			if (hide_notification !== false) wot_browser.hide_warning();
 
-			A better, but more complicated solution would be to create
-			a canvas over the browser and draw a copy of the contents
-			there. We'll go there if it comes to that. */
+			// hide shader from the webpage
+			if (content) {
+				var elems = [ content.getElementById("wot-overlay") ];
+
+				for (var i = 0; i < elems.length; ++i) {
+					if (elems[i] && elems[i].parentNode) {
+						elems[i].parentNode.removeChild(elems[i]);
+					}
+				}
+			}
+		} catch (e) {
+			dump("wot_warning.hide: failed with " + e + "\n");
+		}
+	},
+
+	update_size: function () {
+		var warning = this.getwarning(),
+			warning_frame = document.getElementById("wot-warning-frame");
+
+		if (!warning || !warning_frame || !warning_frame.contentDocument) return false;
+
+		var doc = warning_frame.contentDocument,
+			height = doc.documentElement ? doc.documentElement.scrollHeight : 0;
+
+		warning.height = height;
+		warning_frame.height = height;
+	},
+
+	update_content: function (hostname, content, type, blocking_mode)
+	{
 
 		try {
-			if (!hostname || !content ||
-					content.getElementById("wotwarning")) {
+			if (!hostname || !content) {
 				return false;
 			}
 
 			// If is set, no need to decide what kind of warning to show.
-			forced_reason = forced_reason || false;   // used when func is called from blocked.js.
-
-			if(!forced_reason) wot_warning.set_exitmode(content); // call it only in usual mode
-
+			blocking_mode = blocking_mode || false;
 
+			if(!blocking_mode) wot_warning.set_exitmode(content); // call it only in usual mode
 
             var reason = WOT_WARNING_NONE,
                 normalized_target = wot_cache.get(hostname, "normalized", hostname),
@@ -404,7 +587,7 @@ var wot_warning =
                 [ "RATINGDESC0", wot_util.getstring("components_0") ],
                 [ "RATINGDESC4", wot_util.getstring("components_4") ],
                 [ "GOTOSITE", wot_util.getstring("warnings_goto") ],
-                [ "WARNING", this.is_blocked ? wot_util.getstring("warnings_blocked") : wot_util.getstring("warnings_warning") ],
+                [ "WARNING", blocking_mode ? wot_util.getstring("warnings_blocked") : wot_util.getstring("warnings_warning") ],
                 [ "RATETEXT", rate_site ],
                 [ "WT_CONTENT", this.processhtml(wt_text, [ "WT_LEARNMORE", wot_util.getstring("wt_learnmore_link") ])],
                 [ "REASONTITLE", wot_util.getstring("warnings_reasontitle") ],
@@ -422,14 +605,14 @@ var wot_warning =
 
                 var i = WOT_COMPONENTS[j];
 				// don't call getwarningtype() if forced_reason is provided
-				var t = forced_reason ? WOT_WARNING_NONE : this.getwarningtype(hostname, i, true);
+				var t = blocking_mode ? WOT_WARNING_NONE : this.getwarningtype(hostname, i, true);
 
 				var r = wot_cache.get(hostname, "reputation_" + i),
 				    x = wot_cache.get(hostname, "excluded_" + i),
                     c = wot_cache.get(hostname, "confidence_" + i);
 
-				if (forced_reason) {
-					reason = forced_reason;
+				if (blocking_mode) {
+					reason = blocking_mode;
 				} else {
 					reason = (reason < t) ? t : reason;
 				}
@@ -488,91 +671,92 @@ var wot_warning =
 
 			/* Show the notification bar always */
 			if (reason != WOT_REASON_UNKNOWN) {
-				window.setTimeout(wot_browser.show_warning,
+				window.setTimeout(wot_browser.show_notification,
 					WOT_DELAY_WARNING, hostname, notification, true);
 			}
 
-			if (type != WOT_WARNING_DOM || this.warned[hostname]) {
-				return true;
+			// exit here if all we need is to show notification, or user was already warned before and decide to proceed
+			if ((type != WOT_WARNING_DOM && type != WOT_WARNING_BLOCK) || this.warned[hostname]) {
+				return false;
 			}
 
-			if (!content.contentType ||
-					content.contentType.toLowerCase().indexOf("html") < 0) {
-				return true;
-			}
+			// now build the DOM of the warning
 
-			var head = content.getElementsByTagName("head");
-			var body = content.getElementsByTagName("body");
+			var warning_frame = document.getElementById("wot-warning-frame");
+			if (!warning_frame) return false;
+			warning_frame.height = 0;   // reset the height (will be set later)
 
-			if (!head || !head.length ||
-				!body || !body.length) {
-				return true;
-			}
+			var warning_content = warning_frame.contentDocument;
 
-			var style = content.createElement("style");
+			var head = warning_content.getElementsByTagName("head");
+			var body = warning_content.getElementsByTagName("body");
 
-			if (!style) {
+			if (!head || !head.length ||
+				!body || !body.length) {
 				return false;
 			}
 
-			style.setAttribute("type", "text/css");
-			style.innerHTML = WOT_WARNING_CSS;
+			if (!warning_content.getElementById("warning-style")) {
+				// add style only if it is not there yet
+				var style = warning_content.createElement("style");
 
-			head[0].appendChild(style);
+				if (!style) {
+					return false;
+				}
 
-			var warning = content.createElement("div");
-			var wrapper = content.createElement("div");
+				style.setAttribute("type", "text/css");
+				style.setAttribute("id", "warning-style");
+				style.innerHTML = WOT_WARNING_CSS;
 
-			if (!warning || !wrapper) {
-				return false;
+				head[0].appendChild(style);
 			}
 
-			warning.setAttribute("id", "wotwarning");
-
-			if (wot_prefs.warning_opacity &&
-					wot_prefs.warning_opacity.length > 0 &&
-					Number(wot_prefs.warning_opacity) >= 0 &&
-					Number(wot_prefs.warning_opacity) <= 1) {
-				warning.setAttribute("style", "opacity: " +
-					wot_prefs.warning_opacity + " ! important;");
+			var wrapper = warning_content.getElementById("wotwrapper");
+			if (!wrapper) {
+				wrapper = warning_content.createElement("div");
+				if (!wrapper) {
+					return false;
+				}
+				wrapper.setAttribute("id", "wotwrapper");
+				body[0].appendChild(wrapper);
 			}
 
-			wrapper.setAttribute("id", "wotwrapper");
-
             wrapper.innerHTML = this.processhtml(warning_template, replaces);
 
-			body[0].appendChild(warning);
-			body[0].appendChild(wrapper);
-
-			/* Flash has authority issues with z-index, so try to hide it
-				while warning is being shown (skip on "blocked!" page) */
-			if (forced_reason === false) this.hideobjects(content, true);
-			return true;
-		} catch (e) {
-			dump("wot_warning.add: failed with " + e + "\n");
-		}
+			// setup listeners
+			var lmap = [
+				["wotrate-link", "click", wot_warning.on_ratelink_click ],
+				["wot-btn-hide", "click", wot_warning.on_btnhide_click ],
+				["wot-btn-leave", "click", wot_warning.on_btnleave_click ],
+				["wotinfobutton", "click", wot_warning.on_info_click ]
+			];
 
-		return false;
-	},
+			for (var l=0; l < lmap.length; l++) {
+				var elemid = lmap[l][0],
+					listener = lmap[l][2],
+					event = lmap[l][1];
 
-	hide: function(content)
-	{
-		try {
-			wot_browser.hide_warning();
+				var elem = warning_content.getElementById(elemid);
+				if (elem) {
+					elem.addEventListener(event, listener, false);
+				}
+			}
 
-			if (content) {
-				var elems = [ content.getElementById("wotwarning"),
-							  content.getElementById("wotwrapper") ];
+			if (blocking_mode) {
+				// Update the blocking mode page
+				content.title = "WOT: " + wot_util.getstring("warnings_blocked");
 
-				for (var i = 0; i < elems.length; ++i) {
-					if (elems[i] && elems[i].parentNode) {
-						elems[i].parentNode.removeChild(elems[i]);
-					}
-				}
+				var btn_hide = warning_content.getElementById("wot-btn-hide");
+				if (btn_hide) btn_hide.style.display = "none"; // hide "Open the site" in blocking mode
 			}
+
+			return true;
+
 		} catch (e) {
-			dump("wot_warning.hide: failed with " + e + "\n");
+			dump("wot_warning.add: failed with " + e + "\n");
 		}
+
+		return false;
 	},
 
 	hideobjects: function(content, hide)
@@ -614,110 +798,58 @@ var wot_warning =
 		}
 	},
 
-	click: function(event)
-	{
-
-		try {
-
-            var event_view = event.view;
-
-			if (!event_view) {
-				return;
-			}
-
-			var content = event_view.document;
-
-			if (!content) {
-				return;
-			}
-
-			var warning = content.getElementById("wotwarning");
+	on_ratelink_click: function (event) {
+		wot_browser.openscorecard(wot_core.hostname, WOT_SCORECARD_RATE, WOT_URL_WARNRATE);
+	},
 
-			if (!warning || warning.style.display == "none") {
-				return;
-			}
+	on_btnhide_click: function (event) {
+		var content = getBrowser().selectedBrowser.contentDocument;
+		if (content) {
+			wot_warning.warned[wot_core.hostname] = true;
+			wot_warning.hide(content);
+		}
+	},
 
-			var wrapper = content.getElementById("wotwrapper");
+	on_btnleave_click: function (event) {
+		var content = getBrowser().selectedBrowser.contentDocument;
 
-			if (!wrapper) {
-				return;
-			}
+		if (!content) return;
 
-			var wot_blocked = content.getElementById("wotblocked"); // Important to have element with this ID
-			var is_blocked = !!wot_blocked;
-			if(is_blocked) {
-				this.exit_mode = wot_blocked.getAttribute("exit_mode"); // take exit_mode from DOM, since this is module
-			}
+		var wot_blocked = content.getElementById("wotblocked"); // Important to have element with this ID
+		var is_blocked = !!wot_blocked;
+		if(is_blocked) {
+			this.exit_mode = wot_blocked.getAttribute("exit_mode"); // take exit_mode from DOM, since this is module
+		}
 
-			var node = event.originalTarget;
-			var handle_ids = {
-				"wotrate-link":  true,
-				"wot-btn-hide":  true,
-				"wot-btn-leave": true,
-				"wotinfobutton": true
+		var win = content.defaultView;
+		if(wot_warning.exit_mode == "leave") {
+			// close tab
+			win.close();
+		} else {
+			var e_beforeunload = win.onbeforeunload;
+			var back_timer = null;
+			win.onbeforeunload = function() {
+				if(back_timer) {
+					win.clearTimeout(back_timer);
+				}
+				if(e_beforeunload) e_beforeunload(win);
 			};
 
-			var node_id = null;
+			var steps_back = is_blocked ? -2 : -1;
+			var prev_location = win.location.href;
+			win.history.go(steps_back);
 
-			while (node) {
-				node_id = node.id;
-				if (node_id && handle_ids[node_id]) break;
-				node = node.parentNode;
-			}
-
-			if (!node || !node_id) {
-				return;
-			}
-
-			switch (node_id) {
-				case "wot-btn-hide":
-					wot_warning.warned[wot_core.hostname] = true;
-					warning.style.display = "none";
-					wrapper.style.display = "none";
-					wot_warning.hideobjects(content, false);
-					break;
-
-				case "wotinfobutton":
-					wot_browser.openscorecard(wot_core.hostname, null, WOT_URL_WARNVIEWSC);
-					break;
-
-				case "wotrate-link":
-					wot_browser.openscorecard(wot_core.hostname, WOT_SCORECARD_RATE, WOT_URL_WARNRATE);
-					break;
-
-				case "wot-btn-leave":
-					var window = content.defaultView;
-					if(wot_warning.exit_mode == "leave") {
-						// close tab
-						window.close();
-					} else {
-						var e_beforeunload = window.onbeforeunload;
-						var back_timer = null;
-						window.onbeforeunload = function() {
-							if(back_timer) {
-								window.clearTimeout(back_timer);
-							}
-							if(e_beforeunload) e_beforeunload(window);
-						};
-
-						var steps_back = is_blocked ? -2 : -1;
-						var prev_location = window.location.href;
-						window.history.go(steps_back);
-
-						back_timer = window.setTimeout(function() {
-							// this is a trick: we don't know if there is a back-step possible if history.length>1,
-							// so we simply wait for a short time, and if we are still on a page, then "back" is impossible and
-							// we should go to blank page
-							if(window.location.href == prev_location) window.close();
-						}, 500);
-					}
-
-					break;
-			}
-
-		} catch (e) {
-			dump("wot_warning.click: failed with " + e + "\n");
+			back_timer = win.setTimeout(function() {
+				// this is a trick: we don't know if there is a back-step possible if history.length>1,
+				// so we simply wait for a short time, and if we are still on a page, then "back" is impossible and
+				// we should go to blank page
+				if(win.location.href == prev_location) win.close();
+			}, 500);
 		}
+	},
+
+	on_info_click: function (event) {
+		wot_browser.openscorecard(wot_core.hostname, null, WOT_URL_WARNVIEWSC);
 	}
 };
 
diff --git a/locale/cs-CZ/blocked.html b/locale/cs-CZ/blocked.html
deleted file mode 100644
index 27d13e4..0000000
--- a/locale/cs-CZ/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Zablokováno</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/de-DE/blocked.html b/locale/de-DE/blocked.html
deleted file mode 100644
index 39217c8..0000000
--- a/locale/de-DE/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Blockiert</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/en-US/blocked.html b/locale/en-US/blocked.html
deleted file mode 100644
index 74a5234..0000000
--- a/locale/en-US/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-	    <style type="text/css">
-	        @import "chrome://wot/skin/include/blocked.css";
-	    </style>
-	    <title>WOT: Blocked</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/es-ES/blocked.html b/locale/es-ES/blocked.html
deleted file mode 100644
index 5a25b9e..0000000
--- a/locale/es-ES/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Bloqueado</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/fi-FI/blocked.html b/locale/fi-FI/blocked.html
deleted file mode 100644
index 01ab38c..0000000
--- a/locale/fi-FI/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Estetty</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/fr-FR/blocked.html b/locale/fr-FR/blocked.html
deleted file mode 100644
index b6d665a..0000000
--- a/locale/fr-FR/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Contenu bloqué</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/it-IT/blocked.html b/locale/it-IT/blocked.html
deleted file mode 100644
index f6b6563..0000000
--- a/locale/it-IT/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Bloccato</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/ja-JP/blocked.html b/locale/ja-JP/blocked.html
deleted file mode 100644
index 20524db..0000000
--- a/locale/ja-JP/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: ブロックされました</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/ko-KR/blocked.html b/locale/ko-KR/blocked.html
deleted file mode 100644
index 5ba6766..0000000
--- a/locale/ko-KR/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: 차단됨</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/pl-PL/blocked.html b/locale/pl-PL/blocked.html
deleted file mode 100644
index cf60b27..0000000
--- a/locale/pl-PL/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Zablokowano</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/pt-BR/blocked.html b/locale/pt-BR/blocked.html
deleted file mode 100644
index 35c6673..0000000
--- a/locale/pt-BR/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-BR" lang="pt-BR">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Bloqueio</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/ru-RU/blocked.html b/locale/ru-RU/blocked.html
deleted file mode 100644
index 40a2153..0000000
--- a/locale/ru-RU/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Заблокировано</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/sv-SE/blocked.html b/locale/sv-SE/blocked.html
deleted file mode 100644
index 35bb67d..0000000
--- a/locale/sv-SE/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Blockerad</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/tr-TR/blocked.html b/locale/tr-TR/blocked.html
deleted file mode 100644
index 0035343..0000000
--- a/locale/tr-TR/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="tr" lang="tr">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-	    <style type="text/css">
-	        @import "chrome://wot/skin/include/blocked.css";
-	    </style>
-	    <title>WOT: Kilitlendi</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/uk-UA/blocked.html b/locale/uk-UA/blocked.html
deleted file mode 100644
index 06e9c55..0000000
--- a/locale/uk-UA/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="uk" lang="uk">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: Заблоковано</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/zh-CN/blocked.html b/locale/zh-CN/blocked.html
deleted file mode 100644
index 410978a..0000000
--- a/locale/zh-CN/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: 已阻止</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/locale/zh-TW/blocked.html b/locale/zh-TW/blocked.html
deleted file mode 100644
index 2ec0a2c..0000000
--- a/locale/zh-TW/blocked.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-TW" lang="zh-TW">
-	<head>
-		<meta charset="utf-8">
-		<script type="text/javascript" src="chrome://wot/content/config.js"></script>
-		<script type="text/javascript" src="chrome://wot/skin/include/blocked.js"></script>
-		<script type="text/javascript" src="chrome://wot/content/warning.js"></script>
-		<style type="text/css">
-			@import "chrome://wot/skin/include/blocked.css";
-		</style>
-		<title>WOT: 已封鎖</title>
-	</head>
-	<body id="wotblocked" onload="blocked_load();">
-	</body>
-</html>
diff --git a/skin/include/blocked.css b/skin/include/blocked.css
new file mode 100644
index 0000000..cdd856b
--- /dev/null
+++ b/skin/include/blocked.css
@@ -0,0 +1,5 @@
+html, body {
+    margin: 0;
+    padding: 0;
+    background-color: gray;
+}
diff --git a/skin/include/blocked.js b/skin/include/blocked.js
deleted file mode 100644
index bd7661a..0000000
--- a/skin/include/blocked.js
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- warning.js
- Copyright © 2012 - 2013  WOT Services Oy <info at mywot.com>
-
- This file is part of WOT.
-
- WOT is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- WOT is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- License for more details.
-
- You should have received a copy of the GNU General Public License
- along with WOT. If not, see <http://www.gnu.org/licenses/>.
- */
-
-var WOT_QUERY_OK = 1;
-
-var blocked_target = null;
-
-var l10n = {};
-var wot_modules = [];
-
-// Implementation of core's module
-var wot_categories = {
-
-    select_identified: function (target) {
-        // TODO: implement extracting categories info from URL
-        return {};
-    },
-
-    target_categories: function (target) {
-        // TODO: implement extracting categories info from URL and show them on WS
-        return {};
-    },
-
-    target_blacklists: function (target) {
-        // TODO: implement extracting blacklisting info from URL and show it on WS
-        return [];
-    }
-};
-
-function load_l10n(callback) {
-	// loads locale stings for add-on, parse them and store in l10n object
-	try {
-		xhr = new XMLHttpRequest();
-		xhr.open("GET", "chrome://wot/locale/wot.properties", true);
-
-		xhr.onload = function(e) {
-			var text = xhr.responseText;
-
-			// detect separator
-			var sep = "\r\n";
-			if (text.indexOf(sep) < 1) {
-				sep = "\n";
-			}
-
-			var lines = text.split(sep);
-			for(var i=0; i < lines.length; i++) {
-				var pair = lines[i].split(" = ", 2);
-				l10n[pair[0]] = pair[1];
-			}
-
-			callback();
-		};
-
-		xhr.send();
-
-	} catch (e) {
-		console.log("Exception in blocked.js / load_l10n()");
-	}
-}
-
-// emulation of original wot_util module
-var wot_util = {
-	getstring: function(str) {
-		return l10n[str] || "?!";
-	},
-
-    // Dirty hack: avoid copying functions from other modules!
-    isEmpty: function (obj) {
-        for (var name in obj) {
-            return false;
-        }
-        return true;
-    },
-
-    get_level: function (levels, value, next) {
-        next = next ? next : false;
-
-        var next_level = levels[levels.length - 1];
-
-        for (var i = levels.length - 1; i >= 0; --i) {
-            if (value >= levels[i].min) {
-                return next ? next_level : levels[i];
-            }
-            next_level = levels[i];
-        }
-
-        return levels[1];
-    }
-};
-
-// stub
-var wot_prefs = {
-	accessible: false,
-	warning_opacity: 1,
-	min_confidence_level: 1
-};
-
-// stub
-var wot_shared = {
-	decodehostname: function(s)
-	{
-		return s;
-	}
-};
-
-var wot_cache = {
-	data: {},
-	get: function(name, property)
-	{
-		return wot_cache.data[property];
-	}
-};
-
-var wot_browser = {
-	show_warning: function(){}  // pure stub. Does nothing.
-};
-
-// copy-pasted from core.js - not a best way, I know.
-var wot_core = {
-	get_level: function(r) {
-		if (r >= WOT_MIN_REPUTATION_5) {
-			return 5;
-		} else if (r >= WOT_MIN_REPUTATION_4) {
-			return 4;
-		} else if (r >= WOT_MIN_REPUTATION_3) {
-			return 3;
-		} else if (r >= WOT_MIN_REPUTATION_2) {
-			return 2;
-		} else if (r >= 0) {
-			return 1;
-		} else if (r == -1){
-			return 0;
-		} else {
-			return "x";
-		}
-	}
-};
-
-function blocked_info()
-{
-	if (blocked_target) {
-		location.href = "http://www.mywot.com/scorecard/" + blocked_target;
-	}
-}
-
-function blocked_action() {
-	var query = atob(decodeURIComponent(window.location.search.substr(1)));
-	var m = /target=([^&]*)/.exec(query);
-
-	if (m && m[1]) {
-		blocked_target = m[1];
-	}
-
-	var reasons = {
-		reputation: false,
-		userrating: false,
-		reason: WOT_REASON_RATING     // will be set to reason of showing warning
-	};
-
-	var apps = [ 0, 1, 2, 4 ];
-
-	for (var i = 0; i < apps.length; ++i) {
-
-		var app = apps[i];
-		wot_prefs["warning_type_" + app] = WOT_WARNING_BLOCK;
-		wot_prefs["warning_level_" + app] = 40;
-
-		var r = -1;
-
-		m = RegExp(apps[i] + "=([^&]*)").exec(query);
-
-		if (m && m[1] != null) {
-			for (r = 5; r > 0; --r) {
-				if (m[1].indexOf(r) >= 0) {
-					wot_cache.data["reputation_" + app] = r * 20 - 1; //already mapped reputation, unmap it back
-					wot_cache.data["confidence_" + app] = 99; // dummy confidence
-					wot_prefs["show_application_" + app] = true;
-					break;
-				}
-			}
-
-			if (m[1].indexOf("x") >= 0) {
-				wot_cache.data["excluded_" + app] = true;
-			}
-
-			if (m[1].indexOf("y") >= 0) {
-				reasons.userrating = true;
-			} else if (m[1].indexOf("r") >= 0 && r > 0) {
-				reasons.reputation = true;
-			}
-
-			if (m[1].indexOf("a") >= 0) {
-				wot_prefs.accessible = true;
-			}
-		}
-	}
-
-	if (!reasons.reputation) {
-		if (reasons.userrating) {
-			reasons.reason = WOT_REASON_TESTIMONY;
-		} else {
-			reasons.reason = WOT_REASON_UNKNOWN;
-		}
-	}
-
-	var el_wotblocked = document.getElementById("wotblocked");
-
-	if (el_wotblocked) {
-		wot_warning.is_blocked = true;
-		el_wotblocked.setAttribute("exit_mode", wot_warning.set_exitmode(document));
-		wot_warning.load_delayed(true); // init warning with blocked=true flag to hide "Goto the site" button
-		wot_warning.add(blocked_target, document, WOT_WARNING_DOM, reasons.reason);
-	}
-}
-
-function blocked_load()
-{
-	if (!window.location.search) {
-		return;
-	}
-
-	load_l10n(blocked_action);
-}
diff --git a/skin/include/warning.css b/skin/include/warning.css
index f5c5cbe..b82f87e 100644
--- a/skin/include/warning.css
+++ b/skin/include/warning.css
@@ -18,146 +18,146 @@
 	along with WOT. If not, see <http://www.gnu.org/licenses/>.
 */
 
-/* ! important in an attempt to override conflicting styles on websites where this is included */
+/* in an attempt to override conflicting styles on websites where this is included */
 
 /* body of the page which show "Blocked" message */
 #wotblocked {
     margin: 0;
     padding: 0;
-    background-color: #333333 !important;
+    background-color: #333333;
 }
 
-#wotwarning, #wotwrapper {
-    position: fixed ! important;
-    left: 0 ! important;
-    top: 0 ! important;
-    height: 100% ! important;
-    width: 100% ! important;
-    margin: 0 ! important;
+body {
+    padding: 0;
+    margin: 0;
+    overflow: hidden;
+}
+
+#wotwrapper {
+    /*position: fixed;*/
+    left: 0;
+    top: 0;
+    height: 100%;
+    width: 100%;
+    margin: 0;
     display: block;
     cursor: default;
     -moz-user-select: none;
     user-select: none;
 }
 
-#wotwarning {
-    z-index: 2147483645 ! important;
-    background-color: #000000 ! important;
-    opacity: 0.8 ! important;
-}
-
 #wotwrapper {
-    z-index: 2147483646 !important;
-    background-color: transparent !important;
-    opacity: 1.0 !important;
+    /*z-index: 2147483646;*/
+    background-color: transparent;
+    opacity: 1.0;
 }
 
 #wotcontainer {
-    position: static !important;
-    width: 388px ! important;
-    margin: 0 auto 0 !important;
-    outline: 0 !important;
-    padding: 0 0 17px !important;
-    z-index: 2147483647 !important;
-    text-align: center !important;
-    font-family: "Arial", sans-serif !important;
-    border-bottom-left-radius: 3px;
-    border-bottom-right-radius: 3px;
-    border: #babbbb solid 1px;
-    box-shadow: 5px 5px 20px #111;
-    background-color: #ffffff !important;
-    cursor: default !important;
-    color: #504f4f !important;
-    direction: ltr; /* fixes issue #64 */
-    float: none; /* fixes #90 */
-    height: auto; /* fixes #99 */
+    /*position: static;*/
+    width: 388px;
+    margin: 0 auto 0;
+    outline: 0;
+    padding: 0 0 17px;
+    /*z-index: 2147483647;*/
+    text-align: center;
+    font-family: "Arial", sans-serif;
+    /*border-bottom-left-radius: 3px;*/
+    /*border-bottom-right-radius: 3px;*/
+    /*border: #babbbb solid 1px;*/
+    /*box-shadow: 5px 5px 20px #111;*/
+    background-color: #ffffff;
+    cursor: default;
+    color: #504f4f;
+    /*direction: ltr; *//* fixes issue #64 */
+    /*float: none; *//* fixes #90 */
+    /*height: auto; *//* fixes #99 */
 }
 
 .wotcontainer * {
-    position: static !important;
-    line-height: normal !important;
-    font-family: "Arial", sans-serif !important;
-    font-weight: normal !important;
-    cursor: default !important;
-    font-size: 10pt !important;
-    letter-spacing: 0 !important;
-    opacity: 1.0 !important;
-    outline: 0 !important;
-    border: 0 !important;
-    vertical-align: baseline !important;
-    word-spacing: 0 !important;
-    padding: 0 0 0 0 !important;
-    text-decoration: none !important;
-    background-color: transparent !important;
-    text-align: center !important;
-    margin: 0 !important;
-    color: #504f4f !important;
+    /*position: static;*/
+    line-height: normal;
+    font-family: "Arial", sans-serif;
+    font-weight: normal;
+    cursor: default;
+    font-size: 10pt;
+    letter-spacing: 0;
+    opacity: 1.0;
+    outline: 0;
+    border: 0;
+    vertical-align: baseline;
+    word-spacing: 0;
+    padding: 0 0 0 0;
+    text-decoration: none;
+    background-color: transparent;
+    text-align: center;
+    margin: 0;
+    color: #504f4f;
     width: auto; /* fixes issue #64 */
     float: none; /* fixes issue #64 */
-    height: auto; /* fixes #99 */
+    /*height: auto; *//* fixes #99 */
     -moz-user-select: none;
     user-select: none;
-    left: auto !important;
-    right: auto !important;
-    top: auto !important;
+    left: auto;
+    right: auto;
+    top: auto;
 }
 
 .wot-logo {
-    position: relative !important;
-    top: 10px !important;
-    left: 12px !important;
-    width: 42px !important;
-    height: 17px !important;
-    background: url("chrome://wot/skin/fusion/logo.png") top left no-repeat !important;
+    position: relative;
+    top: 10px;
+    left: 12px;
+    width: 42px;
+    height: 17px;
+    background: url("chrome://wot/skin/fusion/logo.png") top left no-repeat;
 }
 
 .wot-warning {
-    margin-top: 6px !important;
-    width: 100% !important;
-    text-align: center !important;
-    font-size: 25pt !important;
-    font-weight: 800 !important;
-    color: #504f4f !important;
-    text-shadow: 1px 1px 1px #fff !important;
+    margin-top: 6px;
+    width: 100%;
+    text-align: center;
+    font-size: 25pt;
+    font-weight: 800;
+    color: #504f4f;
+    text-shadow: 1px 1px 1px #fff;
 }
 
 .wot-title  {
-    margin: 4px auto !important;
-    max-width: 90% !important;
-    font-size: 12px !important;
-    font-weight: bold !important;
-    color: #454545 !important;
-    text-shadow: 1px 1px 1px #fff !important;
-    overflow: hidden !important;
-    white-space: nowrap !important;
-    padding: 0 0.5em 0.5em 0.5em !important;
-    text-overflow: ellipsis !important;
+    margin: 4px auto;
+    max-width: 90%;
+    font-size: 12px;
+    font-weight: bold;
+    color: #454545;
+    text-shadow: 1px 1px 1px #fff;
+    overflow: hidden;
+    white-space: nowrap;
+    padding: 0 0.5em 0.5em 0.5em;
+    text-overflow: ellipsis;
 }
 
 .wot-desc {
-    margin-top: 0 !important;
-    font-size: 13px !important;
-    color: #454545 !important;
-    margin-bottom: 1em !important;
-    padding: 0 10px !important;
-    text-align: center !important;
+    margin-top: 0;
+    font-size: 13px;
+    color: #454545;
+    margin-bottom: 1em;
+    padding: 0 10px;
+    text-align: center;
 }
 
 /* Section of ratings */
 #wot-warn-ratings {
-    width: 63% !important;
-    margin: 0.5em auto !important;
+    width: 63%;
+    margin: 0.5em auto;
 }
 
 #wotcontainer.wotnoratings #wot-warn-ratings {
-    display: none !important;
+    display: none;
 }
 
 .wot-rep-components-wrapper {
     min-height: 105px;
-    background-color: #F5F5F5 !important;
-    border-top: 1px solid #D1D1D1 !important;
-    border-bottom: 1px solid #D1D1D1 !important;
+    background-color: #F5F5F5;
+    border-top: 1px solid #D1D1D1;
+    border-bottom: 1px solid #D1D1D1;
 }
 
 #wotcontainer.blacklist .wot-rep-components-wrapper {
@@ -168,150 +168,150 @@
 .wot-rep-components {
     /*clear: left;*/
     display: inline-block;
-    margin: 0 auto !important;
-    /*padding-left: 20px !important;*/
+    margin: 0 auto;
+    /*padding-left: 20px;*/
 }
 
 .wot-component {
-    position: relative !important;
-    text-align: left !important;
+    position: relative;
+    text-align: left;
     display: inline;
     float: left;
-    min-width: 140px !important;
-    margin-top: 10px !important;
+    min-width: 140px;
+    margin-top: 10px;
 }
 
 .wot-comp-name {
-    padding: 8px 0 0.5em 0 !important;
-    color: #454545 !important;
-    text-align: left !important;
-    font-size: 12px !important;
+    padding: 8px 0 0.5em 0;
+    color: #454545;
+    text-align: left;
+    font-size: 12px;
     white-space: nowrap;
-    min-height: 18px !important;
+    min-height: 18px;
 }
 
 .wot-rep-data {
-    position: relative !important;
-    margin-top: 4px !important;
-    margin-left: 0 !important;
-    display: inline !important;
+    position: relative;
+    margin-top: 4px;
+    margin-left: 0;
+    display: inline;
 }
 
 /* Donuts icons */
 .wot-comp-icon {
-    position: absolute !important;
-    background-image: url("chrome://wot/skin/b/donuts_150.png") !important;
-    background-repeat: no-repeat !important;
-    background-position: 0 -165px !important;
-    background-size: 35px 198px !important;
-    height: 33px !important;
-    width: 35px !important;
-    margin-left: -5px !important;
-    margin-top: 10px !important;
+    position: absolute;
+    background-image: url("chrome://wot/skin/b/donuts_150.png");
+    background-repeat: no-repeat;
+    background-position: 0 -165px;
+    background-size: 35px 198px;
+    height: 33px;
+    width: 35px;
+    margin-left: -5px;
+    margin-top: 10px;
 }
 
 #wotcontainer.accessible .wot-comp-icon {
-    background-image: url("chrome://wot/skin/b/accessible/donuts_150.png") !important;
+    background-image: url("chrome://wot/skin/b/accessible/donuts_150.png");
 }
 
 .wot-comp-icon[r="r1"] {
-    background-position: 0 -132px !important;
+    background-position: 0 -132px;
 }
 
 .wot-comp-icon[r="r2"] {
-    background-position: 0 -99px !important;
+    background-position: 0 -99px;
 }
 
 .wot-comp-icon[r="r3"] {
-    background-position: 0 -66px !important;
+    background-position: 0 -66px;
 }
 
 .wot-comp-icon[r="r4"] {
-    background-position: 0 -33px !important;
+    background-position: 0 -33px;
 }
 
 .wot-comp-icon[r="r5"] {
-    background-position: 0 0 !important;
+    background-position: 0 0;
 }
 
 .wot-comp-conf {
-    position: absolute !important;
-    height: 42px !important;
-    margin-left: 26px !important;
-    margin-top: -2px !important;
-    width: 34px !important;
-    background: url("chrome://wot/skin/b/confidence_150dpi.png") top left no-repeat !important;
-    background-size: 33px auto !important;
-    background-position: 0 -168px !important;
+    position: absolute;
+    height: 42px;
+    margin-left: 26px;
+    margin-top: -2px;
+    width: 34px;
+    background: url("chrome://wot/skin/b/confidence_150dpi.png") top left no-repeat;
+    background-size: 33px auto;
+    background-position: 0 -168px;
 }
 
 .wot-comp-conf[c="c1"] {
-    background-position: 0 -126px !important;
+    background-position: 0 -126px;
 }
 .wot-comp-conf[c="c2"] {
-    background-position: 0 -84px !important;
+    background-position: 0 -84px;
 }
 .wot-comp-conf[c="c3"] {
-    background-position: 0 -42px !important;
+    background-position: 0 -42px;
 }
 .wot-comp-conf[c="c4"] {
-    background-position: 0 0 !important;
+    background-position: 0 0;
 }
 .wot-comp-conf[c="c5"] {
-    background-position: 0 -210px !important;
+    background-position: 0 -210px;
 }
 
 .rating-legend-wrapper {
-    position: relative !important;
-    margin: 3px 18px auto 74px !important;
-    background: url("chrome://wot/skin/b/bubl_speech_c_150.png")  top left repeat-x !important;
-    background-size: 1px 23px !important;
-    height: 23px !important;
+    position: relative;
+    margin: 3px 18px auto 74px;
+    background: url("chrome://wot/skin/b/bubl_speech_c_150.png")  top left repeat-x;
+    background-size: 1px 23px;
+    height: 23px;
     left: 1px;
     display: inline-block;
-    padding: 3px 0 !important;
+    padding: 3px 0;
 }
 
 .rating-legend-wrapper:before {
-    position: absolute !important;
-    content: "" !important;
-    height: 23px !important;
-    width: 17px !important;
-    background: url("chrome://wot/skin/b/bubl_speech_l_150.png") top left no-repeat !important;
-    background-size: 17px 23px !important;
+    position: absolute;
+    content: "";
+    height: 23px;
+    width: 17px;
+    background: url("chrome://wot/skin/b/bubl_speech_l_150.png") top left no-repeat;
+    background-size: 17px 23px;
     left: -17px;
     top: 0;
 }
 
 .rating-legend-wrapper:after {
-    position: absolute !important;
-    content: "" !important;
-    height: 23px !important;
-    width: 17px !important;
-    right: -17px !important;
-    background: url("chrome://wot/skin/b/bubl_speech_r_150.png") top left no-repeat !important;
-    background-size: 10px 23px !important;
-    top: 0 !important;
+    position: absolute;
+    content: "";
+    height: 23px;
+    width: 17px;
+    right: -17px;
+    background: url("chrome://wot/skin/b/bubl_speech_r_150.png") top left no-repeat;
+    background-size: 10px 23px;
+    top: 0;
 }
 
 .rating-legend {
-    position: relative !important;
-    height: 24px !important;
-    min-width: 48px !important;
-    margin: 2px 0 0em !important;
-    padding: 3px 4px 0 0px !important;
-    color: #454545 !important;
-    font-size: 12px !important;
-    text-align: center !important;
-    white-space: nowrap !important;
+    position: relative;
+    height: 24px;
+    min-width: 48px;
+    margin: 2px 0 0em;
+    padding: 3px 4px 0 0;
+    color: #454545;
+    font-size: 12px;
+    text-align: center;
+    white-space: nowrap;
     display: inline;
     overflow: hidden;
     text-overflow: ellipsis;
 }
 
 .ws-categories-area {
-    margin: 4px 0 0 !important;
-    padding: 0.4em 0 0 !important;
+    margin: 4px 0 0;
+    padding: 0.4em 0 0;
 }
 
 #wotcontainer.blacklist .ws-categories-area {
@@ -320,256 +320,256 @@
 }
 
 .ws-categories-title {
-    font-size: 12px !important;
-    font-weight: bold !important;
-    color: #888 !important;
-    padding-top: 8px !important;
+    font-size: 12px;
+    font-weight: bold;
+    color: #888;
+    padding-top: 8px;
 }
 
 #ws-categories-list {
-    margin: 8px 25px 0 74px !important;
-    text-align: left !important;
+    margin: 8px 25px 0 74px;
+    text-align: left;
 }
 
 .cat-item {
-    font-size: 9pt !important;
-    color: silver !important;
-    list-style: none !important;
-    padding: 0.25em 0 !important;
-    text-align: left !important;
-    background: none !important; /* issue fix */
+    font-size: 9pt;
+    color: silver;
+    list-style: none;
+    padding: 0.25em 0;
+    text-align: left;
+    background: none; /* issue fix */
 }
 
 .cat-item:before {
-    width: 1em !important;
-    height: 1em !important;
-    border: 1px solid #C0C0C0 !important;
-    background-color: #C0C0C0 !important;
-    border-radius: 50% !important;
-    content: "" !important;
-    position: absolute !important;
-    margin-left: -1.65em !important;
-    margin-top: 1px !important;
+    width: 1em;
+    height: 1em;
+    border: 1px solid #C0C0C0;
+    background-color: #C0C0C0;
+    border-radius: 50%;
+    content: "";
+    position: absolute;
+    margin-left: -1.65em;
+    margin-top: 1px;
 }
 
 .c-neutral.cat-item:before {
-    background-color: #707070 !important;
-    background: -moz-radial-gradient(center, ellipse cover, #9e9c9c 0%,#707070 100%) !important; /* Chrome10+,Safari5.1+ */
-    border-color: #7d7d7d !important;
+    background-color: #707070;
+    background: -moz-radial-gradient(center, ellipse cover, #9e9c9c 0%,#707070 100%); /* Chrome10+,Safari5.1+ */
+    border-color: #7d7d7d;
 }
 
 #wotcontainer.accessible .c-neutral.cat-item:before {
-    background-color: #707070 !important;
-    background: -moz-radial-gradient(center, ellipse cover, #9B9898 0%, #7E7E7E 100%) !important;
-    border-color: #707070 !important;
+    background-color: #707070;
+    background: -moz-radial-gradient(center, ellipse cover, #9B9898 0%, #7E7E7E 100%);
+    border-color: #707070;
 }
 
 .c-questionable.cat-item:before {
-    background-color: #ffd100 !important;
-    background: -moz-radial-gradient(center, ellipse cover, #f8df68 0%,#f6cd0e 100%) !important; /* Chrome10+,Safari5.1+ */
-    border-color: #f6cd0e !important;
+    background-color: #ffd100;
+    background: -moz-radial-gradient(center, ellipse cover, #f8df68 0%,#f6cd0e 100%); /* Chrome10+,Safari5.1+ */
+    border-color: #f6cd0e;
 }
 
 #wotcontainer.accessible .c-questionable.cat-item:before {
-    background-color: #F6CD0E !important;
-    background: -moz-radial-gradient(center, ellipse cover, #FEE68A 0%, #F5CC33 100%) !important;
-    border-color: #F6CD0E !important;
+    background-color: #F6CD0E;
+    background: -moz-radial-gradient(center, ellipse cover, #FEE68A 0%, #F5CC33 100%);
+    border-color: #F6CD0E;
 }
 
 .c-negative.cat-item:before {
-    background-color: #f66d3f !important;
-    background: -moz-radial-gradient(center, ellipse cover, #fca080 0%,#f77448 100%) !important;
-    border-color: #f66d3f !important;
+    background-color: #f66d3f;
+    background: -moz-radial-gradient(center, ellipse cover, #fca080 0%,#f77448 100%);
+    border-color: #f66d3f;
 }
 
 #wotcontainer.accessible .c-negative.cat-item:before {
-    background-color: #1F1F1F !important;
-    background: -moz-radial-gradient(center, ellipse cover,#939393 0%, #1F1F1F 100%) !important;
-    border-color: #1F1F1F !important;
+    background-color: #1F1F1F;
+    background: -moz-radial-gradient(center, ellipse cover,#939393 0%, #1F1F1F 100%);
+    border-color: #1F1F1F;
 }
 
 .c-positive.cat-item:before {
-    background-color: #68c800 !important;
-    background: -moz-radial-gradient(center, ellipse cover, #83d561 0%,#6dc14a 100%) !important; /* Chrome10+,Safari5.1+ */
-    border-color: #6dc14a !important;
+    background-color: #68c800;
+    background: -moz-radial-gradient(center, ellipse cover, #83d561 0%,#6dc14a 100%); /* Chrome10+,Safari5.1+ */
+    border-color: #6dc14a;
 }
 
 #wotcontainer.accessible .c-positive.cat-item:before {
-    background-color: #B8B8B8 !important;
-    background: -moz-radial-gradient(center, ellipse cover, #FDFDFD 0%, #F7F7F7 100%) !important;
-    border-color: #B8B8B8 !important;
+    background-color: #B8B8B8;
+    background: -moz-radial-gradient(center, ellipse cover, #FDFDFD 0%, #F7F7F7 100%);
+    border-color: #B8B8B8;
 }
 
 .c0 {
-    font-size: 11px !important;
-    color: #a7a7a7 !important;
+    font-size: 11px;
+    color: #a7a7a7;
 }
 
 .c0.cat-item:before {
-    width: 4px !important;
-    height: 4px !important;
-    margin-left: -19px !important;
-    margin-top: 4px !important;
+    width: 4px;
+    height: 4px;
+    margin-left: -19px;
+    margin-top: 4px;
 }
 
 .c1 {
-    font-size: 12px !important;
-    color: #a7a7a7 !important;
+    font-size: 12px;
+    color: #a7a7a7;
 }
 
 .c1.cat-item:before {
-    width: 6px !important;
-    height: 6px !important;
-    margin-left: -20px !important;
-    margin-top: 3px !important;
+    width: 6px;
+    height: 6px;
+    margin-left: -20px;
+    margin-top: 3px;
 }
 
 .c2,
 .c3 {
-    font-size: 12px !important;
-    color: #646464 !important;
+    font-size: 12px;
+    color: #646464;
 }
 
 .c2.cat-item:before,
 .c3.cat-item:before {
-    width: 7px !important;
-    height: 7px !important;
-    margin-left: -19px !important;
-    margin-top: 2px !important;
+    width: 7px;
+    height: 7px;
+    margin-left: -19px;
+    margin-top: 2px;
 }
 
 .c4,
 .c5 {
-    font-size: 12px !important;
-    color: #5c5c5c !important;
-    font-weight: bold !important;
+    font-size: 12px;
+    color: #5c5c5c;
+    font-weight: bold;
 }
 
 .c4.cat-item:before,
 .c5.cat-item:before {
-    width: 8px !important;
-    height: 8px !important;
-    margin-left: -20px !important;
+    width: 8px;
+    height: 8px;
+    margin-left: -20px;
 }
 
 .wot-openscorecard-wrap {
-    margin-top: 14px !important;
-    text-align: left !important;
-    margin-left: 52px !important;
+    margin-top: 14px;
+    text-align: left;
+    margin-left: 52px;
 }
 
 #wotcontainer.blacklist .wot-openscorecard-wrap {
     /* in blacklist mode, align by center */
-    margin-left: 0 !important;
-    text-align: center !important;
+    margin-left: 0;
+    text-align: center;
 }
 
 #wotinfobutton,
 .wot-openscorecard {
-    padding: 0.4em 0 0.6em 0px !important;
-    font-size: 13px !important;
+    padding: 0.4em 0 0.6em 0px;
+    font-size: 13px;
 }
 
 .wot-link {
-    cursor: pointer !important;
-    color: #2353ce !important;
-    text-decoration: none !important;
+    cursor: pointer;
+    color: #2353ce;
+    text-decoration: none;
 }
 
 .wot-link:hover {
-    text-decoration: underline !important;
+    text-decoration: underline;
 }
 
 .wot-rateit-wrap {
-    margin: 14px auto 0 !important;
-    width: 80% !important;
+    margin: 14px auto 0;
+    width: 80%;
 }
 
 .wot-rateit-wrap span {
-    font-size: 12px !important;
+    font-size: 12px;
 }
 
 #wotrate-link {
-    font-size: 12px !important;
+    font-size: 12px;
 }
 
 
 /* bottom buttons row */
 .wot-buttons {
-    margin-top: 1em !important;
-    margin-bottom: 0.2em !important;
-    position: relative !important;
-    height: 32px !important;
+    margin-top: 1em;
+    margin-bottom: 0.2em;
+    position: relative;
+    height: 32px;
 }
 /* button's style */
 .wot-button {
-    display: inline !important;
-    float: left !important;
-    border-style: solid !important;
-    border-width: 1px !important;
-    border-top-color: #DFDFDF !important;
-    border-right-color: #C2C2C2 !important;
-    border-left-color: #D1CECE !important;
-    border-bottom-color: #AEAEAE !important;
-    padding: 0.5em 1.5em !important;
-    margin: 0.4em 1em !important;
+    display: inline;
+    float: left;
+    border-style: solid;
+    border-width: 1px;
+    border-top-color: #DFDFDF;
+    border-right-color: #C2C2C2;
+    border-left-color: #D1CECE;
+    border-bottom-color: #AEAEAE;
+    padding: 0.5em 1.5em;
+    margin: 0.4em 1em;
     min-width: 95px;
-    border-radius: 2px !important;
-    font-size: 12px !important;
-    font-weight: bold !important;
-    color: #585858 !important;
+    border-radius: 2px;
+    font-size: 12px;
+    font-weight: bold;
+    color: #585858;
 
-    background-image: -moz-linear-gradient(top, #FFF 0%, #e7e5e5 100%) !important;
-    box-shadow: 1px 1px 5px #d2d2d2 !important;
-    text-shadow: 1px 1px rgba(255,255,255,0.75) !important;
-    cursor: pointer !important;
+    background-image: -moz-linear-gradient(top, #FFF 0%, #e7e5e5 100%);
+    box-shadow: 1px 1px 5px #d2d2d2;
+    text-shadow: 1px 1px rgba(255,255,255,0.75);
+    cursor: pointer;
 }
 
 .wot-button:hover {
-    background-image: -moz-linear-gradient(top, #FFF 0%,#dadada 83%, #f3f1f1 100%) !important;
+    background-image: -moz-linear-gradient(top, #FFF 0%,#dadada 83%, #f3f1f1 100%);
 }
 
 .wot-button:active {
-    box-shadow: 1px 1px 1px #d2d2d2 inset !important;
-    text-shadow: 0px 0px #DDD !important;
+    box-shadow: 1px 1px 1px #d2d2d2 inset;
+    text-shadow: 0px 0px #DDD;
 }
 
 #wot-btn-hide, #wot-btn-leave {
-    position: absolute !important;
+    position: absolute;
 }
 
 #wot-btn-hide {
-    left: 25px !important;
+    left: 25px;
 }
 
 #wot-btn-hide:active {
-    left: 26px !important;
+    left: 26px;
 }
 
 #wot-btn-leave {
-    right: 25px !important;
+    right: 25px;
 }
 
 #wot-btn-leave:active {
-    right: 24px !important;
+    right: 24px;
 }
 
 #wot-wt-warning-wrapper {
     width: 0;
     float: left;
-    position: relative !important;
+    position: relative;
     left: 390px;
     top: -40px;
 }
 
 .wot-wt-warning-content {
-    position: absolute !important;
+    position: absolute;
     width: 215px;
-    padding: 1em 1.5em 5.5em !important;
+    padding: 1em 1.5em 5.5em;
     border-color: white;
-    border-radius: 2px !important;
-    color: #757575 !important;
-    background-color: white !important;
+    border-radius: 2px;
+    color: #757575;
+    background-color: white;
     box-shadow: 0 0 7px 3px #aaa;
 }
 
@@ -578,61 +578,61 @@
     background-image: url("chrome://wot/skin/b/welcometips/wt_left_corner_2.png");
     width: 20px;
     height: 26px;
-    position: relative !important;
+    position: relative;
     top: 50px;
     left: -230px;
     float: right;
 }
 
 .wot-wt-warning-content p {
-    text-align: left !important;
-    padding-bottom: 0.8em !important;
-    color: #656565 !important;
-    font-family: Arial !important;
+    text-align: left;
+    padding-bottom: 0.8em;
+    color: #656565;
+    font-family: Arial;
 }
 
 .wot-wt-warning-content label {
-    color: #656565 !important;
-    font-family: Arial !important;
+    color: #656565;
+    font-family: Arial;
 }
 
 /* Used in W-Tips */
 .wot-wt-warning-content .wot-cb {
-    text-align: center !important;
-    font-weight: bold !important;
+    text-align: center;
+    font-weight: bold;
 }
 
 .wot-wt-warning-content .wot-cb.latest {
-    padding-bottom: 0 !important;
+    padding-bottom: 0;
 }
 
 .wot-wt-warning-content > div:not([class="wot-wt-warn-footer"]) {
-    padding-top: 1em !important;
+    padding-top: 1em;
 }
 
 .wot-wt-logo {
     background-image: url("chrome://wot/skin/fusion/logo.png");
     background-repeat: no-repeat;
     background-position: center;
-    height: 15px !important;
-    cursor: pointer !important;
+    height: 15px;
+    cursor: pointer;
 }
 
 /* BEGIN: Copy&Paste from welcometips.css */
 .wot-wt-button {
-    -moz-transition: box-shadow 0.1s !important;
+    -moz-transition: box-shadow 0.1s;
     width: 12em;
-    height: 24px !important;
-    margin: 1.3em auto 0.5em auto !important;
-    padding: 0.7em 0.5em 0.2em 0.5em !important;
+    height: 24px;
+    margin: 1.3em auto 0.5em auto;
+    padding: 0.7em 0.5em 0.2em 0.5em;
 
-    border: #71A939 solid 1px !important;;
-    border-radius: 3px !important;
+    border: #71A939 solid 1px;;
+    border-radius: 3px;
     box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.47);;
-    text-shadow: 0px 0px 8px #fff !important;
-    background-image: -moz-linear-gradient(top, #CCEFAC 0%, #9AD265 39%, #6FA736 83%, #83BC4A) !important;
+    text-shadow: 0px 0px 8px #fff;
+    background-image: -moz-linear-gradient(top, #CCEFAC 0%, #9AD265 39%, #6FA736 83%, #83BC4A);
 
-    color: #375914 !important;
+    color: #375914;
     font-size: 10pt;
     font-weight: bold;
     text-align: center;
@@ -640,32 +640,32 @@
 }
 
 .wot-wt-button:hover {
-    background-image: -moz-linear-gradient(top, #e5fad1 0%, #b2e186 39%, #83bc4a 83%, #83BC4A) !important;
+    background-image: -moz-linear-gradient(top, #e5fad1 0%, #b2e186 39%, #83bc4a 83%, #83BC4A);
 }
 
 .wot-wt-button:active {
     top: 1px;
     border-color: #babbbb;
     box-shadow: none;
-    background-image: -moz-linear-gradient(top, #a9d185 0%, #8abf58 39%, #6fa736 83%, #83bc4a) !important;
+    background-image: -moz-linear-gradient(top, #a9d185 0%, #8abf58 39%, #6fa736 83%, #83bc4a);
 }
 /* END */
 
 .wot-wt-warn-button {
-    font-weight: bold !important;
-    color: #375914 !important;
+    font-weight: bold;
+    color: #375914;
 }
 
 .wot-wt-warn-footer {
-    position: absolute !important;
-    bottom: 1em !important;
-    width: 215px !important;
+    position: absolute;
+    bottom: 1em;
+    width: 215px;
 }
 
 .wot-wt-warning-content #wt-learnmore-link {
-    color: #1F7BD6 !important;
-    text-decoration: underline !important;
-    cursor: pointer !important;
+    color: #1F7BD6;
+    text-decoration: underline;
+    cursor: pointer;
 }
 
 .wot-checkbox {
@@ -674,9 +674,9 @@
 
 .wot-blacklisting-info {
     display: none;
-    max-width: 300px !important;
-    margin: 0 auto !important;
-    margin-top: 66px !important;
+    max-width: 300px;
+    margin: 0 auto;
+    margin-top: 66px;
 }
 
 #wotcontainer.blacklist .wot-blacklisting-info {
@@ -684,69 +684,69 @@
 }
 
 #wotcontainer.blacklist .wot-openscorecard-wrap {
-    margin-top: 4px !important;
+    margin-top: 4px;
 }
 
 .wot-bl-decoration {
-    position: relative !important;
-    background: url("chrome://wot/skin/b/ws/robot.png") no-repeat !important;
-    background-size: auto 72px !important;
-    height: 72px !important;
-    margin-left: -52px !important;
-    width: 96px !important;
-    margin-top: -68px !important;
+    position: relative;
+    background: url("chrome://wot/skin/b/ws/robot.png") no-repeat;
+    background-size: auto 72px;
+    height: 72px;
+    margin-left: -52px;
+    width: 96px;
+    margin-top: -68px;
 }
 
 .wot-bl-decoration-donut {
-    left: 86px !important;
-    top: 0 !important;
-    height: 27px !important;
+    left: 86px;
+    top: 0;
+    height: 27px;
 }
 
 .wot-blacklist {
-    background: transparent !important;
-    background: url("chrome://wot/skin/b/ws/list_c.png") repeat-x !important;
-    display: inline-block !important;
-    padding-top: 18px !important;
-    background-size: 1px 164px !important;
-    height: 154px !important;
-    position: relative !important;
+    background: transparent;
+    background: url("chrome://wot/skin/b/ws/list_c.png") repeat-x;
+    display: inline-block;
+    padding-top: 18px;
+    background-size: 1px 164px;
+    height: 154px;
+    position: relative;
 }
 
 .wot-blacklist:before {
     content: "";
-    background: url("chrome://wot/skin/b/ws/list_l.png") no-repeat !important;
-    background-size: 36px auto !important;
-    width: 36px !important;
-    height: 164px !important;
-    position: absolute !important;
-    left: -36px !important;
-    top: 0 !important;
+    background: url("chrome://wot/skin/b/ws/list_l.png") no-repeat;
+    background-size: 36px auto;
+    width: 36px;
+    height: 164px;
+    position: absolute;
+    left: -36px;
+    top: 0;
 }
 
 .wot-blacklist:after {
     content: "";
-    background: url("chrome://wot/skin/b/ws/list_r.png") no-repeat !important;
-    background-size: auto 164px !important;
-    width: 30px !important;
-    height: 164px !important;
-    position: absolute !important;
-    right: -30px !important;
-    top: 0 !important;
+    background: url("chrome://wot/skin/b/ws/list_r.png") no-repeat;
+    background-size: auto 164px;
+    width: 30px;
+    height: 164px;
+    position: absolute;
+    right: -30px;
+    top: 0;
 }
 
 .wot-bl-verdict {
-    margin: 4px 2px !important;
-    padding: 2px 10px !important;
-    color: #FFF !important;
-    text-align: left !important;
-    font-family: sans-serif !important;
+    margin: 4px 2px;
+    padding: 2px 10px;
+    color: #FFF;
+    text-align: left;
+    font-family: sans-serif;
 }
 
 .wot-bl-verdict.empty {
-    min-width: 50px !important;
-    background-color: #606060 !important;
-    padding: 2px 0 3px !important;
-    margin: 14px 8px 10px 12px !important;
+    min-width: 50px;
+    background-color: #606060;
+    padding: 2px 0 3px;
+    margin: 14px 8px 10px 12px;
     content: "";
 }
diff --git a/skin/wot.css b/skin/wot.css
index cf7224e..d0d8bc3 100644
--- a/skin/wot.css
+++ b/skin/wot.css
@@ -411,3 +411,8 @@
     background: #ffffff !important;
     opacity: 1;
 }
+
+#wot-warning {
+    -moz-transition: height 0.4s;
+    overflow: hidden;
+}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/wot.git



More information about the Pkg-mozext-commits mailing list