[Pkg-mozext-commits] [wot] 01/06: Imported Upstream version 20130917
David Prévot
taffit at alioth.debian.org
Sat Sep 21 19:38:53 UTC 2013
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository wot.
commit 08df92090a6923aa17e86fb00fb10375d3a1cf43
Author: David Prévot <taffit at debian.org>
Date: Sat Sep 21 13:00:53 2013 -0400
Imported Upstream version 20130917
---
META-INF/manifest.mf | 12 +-
META-INF/zigbert.rsa | Bin 2610 -> 2772 bytes
META-INF/zigbert.sf | 12 +-
chrome.manifest | 2 +-
chrome/wot.jar!/content/api.js | 841 ++++++--
chrome/wot.jar!/content/cache.js | 365 ++--
chrome/wot.jar!/content/categories.js | 299 +++
chrome/wot.jar!/content/commands.js | 314 +--
chrome/wot.jar!/content/config.js | 149 +-
chrome/wot.jar!/content/core.js | 85 +-
chrome/wot.jar!/content/firstrun.js | 6 +-
chrome/wot.jar!/content/injections/ga_configure.js | 59 +-
chrome/wot.jar!/content/injections/wot_proxy.js | 2 +-
.../{injections => libs}/jquery-ui-1.9.2.custom.js | 0
.../content/{injections => libs}/jquery.js | 0
chrome/wot.jar!/content/libs/jquery.menu-aim.js | 331 ++++
chrome/wot.jar!/content/my.js | 17 +-
chrome/wot.jar!/content/overlay.xul | 520 ++---
chrome/wot.jar!/content/popup.js | 375 ++--
chrome/wot.jar!/content/prefs.js | 38 +-
chrome/wot.jar!/content/ratingwindow.js | 447 +++++
chrome/wot.jar!/content/rw/keeper_constants.js | 27 +
chrome/wot.jar!/content/rw/proxies.js | 288 +++
chrome/wot.jar!/content/rw/ratingwindow.html | 277 +++
chrome/wot.jar!/content/rw/ratingwindow.js | 2057 ++++++++++++++++++++
chrome/wot.jar!/content/rw/wot.js | 1040 ++++++++++
chrome/wot.jar!/content/search.js | 56 +-
chrome/wot.jar!/content/settings.js | 219 +--
chrome/wot.jar!/content/surveys.js | 14 +-
chrome/wot.jar!/content/ui.js | 389 +---
chrome/wot.jar!/content/util.js | 211 +-
chrome/wot.jar!/content/warning.js | 387 ++--
chrome/wot.jar!/locale/cs-CZ/loading.html | 48 +-
chrome/wot.jar!/locale/cs-CZ/wot.dtd | 59 +-
chrome/wot.jar!/locale/cs-CZ/wot.properties | 193 +-
chrome/wot.jar!/locale/de-DE/loading.html | 48 +-
chrome/wot.jar!/locale/de-DE/wot.dtd | 59 +-
chrome/wot.jar!/locale/de-DE/wot.properties | 193 +-
chrome/wot.jar!/locale/en-US/wot.dtd | 23 -
chrome/wot.jar!/locale/en-US/wot.properties | 193 +-
chrome/wot.jar!/locale/es-ES/loading.html | 48 +-
chrome/wot.jar!/locale/es-ES/wot.dtd | 59 +-
chrome/wot.jar!/locale/es-ES/wot.properties | 193 +-
chrome/wot.jar!/locale/fi-FI/loading.html | 48 +-
chrome/wot.jar!/locale/fi-FI/wot.dtd | 60 +-
chrome/wot.jar!/locale/fi-FI/wot.properties | 193 +-
chrome/wot.jar!/locale/fr-FR/loading.html | 48 +-
chrome/wot.jar!/locale/fr-FR/wot.dtd | 59 +-
chrome/wot.jar!/locale/fr-FR/wot.properties | 193 +-
chrome/wot.jar!/locale/it-IT/loading.html | 48 +-
chrome/wot.jar!/locale/it-IT/wot.dtd | 59 +-
chrome/wot.jar!/locale/it-IT/wot.properties | 193 +-
chrome/wot.jar!/locale/ja-JP/loading.html | 48 +-
chrome/wot.jar!/locale/ja-JP/wot.dtd | 59 +-
chrome/wot.jar!/locale/ja-JP/wot.properties | 193 +-
chrome/wot.jar!/locale/ko-KR/loading.html | 48 +-
chrome/wot.jar!/locale/ko-KR/wot.dtd | 25 +-
chrome/wot.jar!/locale/ko-KR/wot.properties | 193 +-
chrome/wot.jar!/locale/pl-PL/loading.html | 48 +-
chrome/wot.jar!/locale/pl-PL/wot.dtd | 59 +-
chrome/wot.jar!/locale/pl-PL/wot.properties | 193 +-
chrome/wot.jar!/locale/pt-BR/loading.html | 48 +-
chrome/wot.jar!/locale/pt-BR/wot.dtd | 59 +-
chrome/wot.jar!/locale/pt-BR/wot.properties | 193 +-
chrome/wot.jar!/locale/ru-RU/loading.html | 48 +-
chrome/wot.jar!/locale/ru-RU/wot.dtd | 59 +-
chrome/wot.jar!/locale/ru-RU/wot.properties | 193 +-
chrome/wot.jar!/locale/sv-SE/loading.html | 46 +-
chrome/wot.jar!/locale/sv-SE/wot.dtd | 59 +-
chrome/wot.jar!/locale/sv-SE/wot.properties | 193 +-
chrome/wot.jar!/locale/tr-TR/wot.dtd | 25 +-
chrome/wot.jar!/locale/tr-TR/wot.properties | 185 +-
chrome/wot.jar!/locale/uk-UA/loading.html | 48 +-
chrome/wot.jar!/locale/uk-UA/wot.dtd | 25 +-
chrome/wot.jar!/locale/uk-UA/wot.properties | 185 +-
chrome/wot.jar!/locale/zh-CN/loading.html | 46 +-
chrome/wot.jar!/locale/zh-CN/wot.dtd | 59 +-
chrome/wot.jar!/locale/zh-CN/wot.properties | 193 +-
chrome/wot.jar!/locale/zh-TW/loading.html | 46 +-
chrome/wot.jar!/locale/zh-TW/wot.dtd | 59 +-
chrome/wot.jar!/locale/zh-TW/wot.properties | 193 +-
chrome/wot.jar!/skin/b/accessible/donuts_150.png | Bin 0 -> 24860 bytes
chrome/wot.jar!/skin/b/accessible/logo.png | Bin 5644 -> 0 bytes
chrome/wot.jar!/skin/b/accessible/slider.png | Bin 0 -> 19341 bytes
.../wot.jar!/skin/b/accessible/slider_handle.png | Bin 0 -> 8316 bytes
chrome/wot.jar!/skin/b/bubl_speech_c_150.png | Bin 0 -> 2844 bytes
chrome/wot.jar!/skin/b/bubl_speech_l_150.png | Bin 0 -> 3499 bytes
chrome/wot.jar!/skin/b/bubl_speech_r_150.png | Bin 0 -> 3404 bytes
chrome/wot.jar!/skin/b/checkbox.png | Bin 0 -> 3271 bytes
chrome/wot.jar!/skin/b/confidence_150dpi.png | Bin 0 -> 17768 bytes
chrome/wot.jar!/skin/b/delete-myrating.png | Bin 0 -> 3277 bytes
chrome/wot.jar!/skin/b/delete-testimony.png | Bin 0 -> 5287 bytes
chrome/wot.jar!/skin/b/donuts_150.png | Bin 0 -> 25005 bytes
chrome/wot.jar!/skin/b/hands_150dpi.png | Bin 0 -> 3908 bytes
chrome/wot.jar!/skin/b/input-icons.png | Bin 0 -> 5182 bytes
chrome/wot.jar!/skin/b/slider.png | Bin 0 -> 20912 bytes
chrome/wot.jar!/skin/b/slider_handle.png | Bin 0 -> 8437 bytes
chrome/wot.jar!/skin/b/thumbs.png | Bin 0 -> 650 bytes
chrome/wot.jar!/skin/b/welcometips/close_icon.png | Bin 0 -> 314 bytes
chrome/wot.jar!/skin/b/welcometips/logo_WS.png | Bin 0 -> 4436 bytes
.../wot.jar!/skin/b/welcometips/orange_badge.png | Bin 0 -> 2196 bytes
chrome/wot.jar!/skin/b/welcometips/wt_intro_0.png | Bin 0 -> 8672 bytes
.../wot.jar!/skin/b/welcometips/wt_intro_top.png | Bin 0 -> 3045 bytes
.../wot.jar!/skin/b/welcometips/wt_left_corner.png | Bin 0 -> 3527 bytes
.../skin/b/welcometips/wt_left_corner_2.png | Bin 0 -> 3142 bytes
chrome/wot.jar!/skin/b/ws/list_c.png | Bin 0 -> 2833 bytes
chrome/wot.jar!/skin/b/ws/list_l.png | Bin 0 -> 3530 bytes
chrome/wot.jar!/skin/b/ws/list_r.png | Bin 0 -> 3796 bytes
chrome/wot.jar!/skin/b/ws/robot.png | Bin 0 -> 13266 bytes
...message_no_rep_available.png => message_r0.png} | Bin 653 -> 653 bytes
.../16_16/{message_danger.png => message_r1.png} | Bin 767 -> 767 bytes
.../16_16/{message_not_safe.png => message_r2.png} | Bin 837 -> 837 bytes
.../16_16/{message_caution.png => message_r3.png} | Bin 782 -> 782 bytes
.../16_16/{message_alright.png => message_r4.png} | Bin 864 -> 864 bytes
.../16_16/{message_trusted.png => message_r5.png} | Bin 869 -> 869 bytes
.../fusion/16_16/{new_danger.png => new_r1.png} | Bin 773 -> 773 bytes
.../fusion/16_16/{new_not_safe.png => new_r2.png} | Bin 837 -> 837 bytes
.../fusion/16_16/{new_caution.png => new_r3.png} | Bin 820 -> 820 bytes
.../fusion/16_16/{new_alright.png => new_r4.png} | Bin 897 -> 897 bytes
.../fusion/16_16/{new_trusted.png => new_r5.png} | Bin 895 -> 895 bytes
.../wot.jar!/skin/fusion/16_16/plain/alright.png | Bin 834 -> 0 bytes
.../wot.jar!/skin/fusion/16_16/plain/caution.png | Bin 729 -> 0 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/danger.png | Bin 726 -> 0 bytes
.../wot.jar!/skin/fusion/16_16/plain/excluded.png | Bin 698 -> 0 bytes
.../skin/fusion/16_16/plain/no_rep_available.png | Bin 943 -> 0 bytes
.../wot.jar!/skin/fusion/16_16/plain/not_safe.png | Bin 770 -> 0 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/r0.png | Bin 0 -> 654 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/r1.png | Bin 0 -> 558 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/r2.png | Bin 0 -> 571 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/r3.png | Bin 0 -> 567 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/r4.png | Bin 0 -> 608 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/r5.png | Bin 0 -> 602 bytes
chrome/wot.jar!/skin/fusion/16_16/plain/rx.png | Bin 0 -> 608 bytes
.../wot.jar!/skin/fusion/16_16/plain/trusted.png | Bin 838 -> 0 bytes
.../fusion/16_16/{no_rep_available.png => r0.png} | Bin 653 -> 653 bytes
.../skin/fusion/16_16/{danger.png => r1.png} | Bin 723 -> 723 bytes
.../skin/fusion/16_16/{not_safe.png => r2.png} | Bin 763 -> 763 bytes
.../skin/fusion/16_16/{caution.png => r3.png} | Bin 725 -> 725 bytes
.../skin/fusion/16_16/{alright.png => r4.png} | Bin 839 -> 839 bytes
.../skin/fusion/16_16/{trusted.png => r5.png} | Bin 836 -> 836 bytes
.../skin/fusion/16_16/{excluded.png => rx.png} | Bin 714 -> 714 bytes
...message_no_rep_available.png => message_r0.png} | Bin 1617 -> 1617 bytes
.../24_24/{message_danger.png => message_r1.png} | Bin 1316 -> 1316 bytes
.../24_24/{message_not_safe.png => message_r2.png} | Bin 1371 -> 1371 bytes
.../24_24/{message_caution.png => message_r3.png} | Bin 1350 -> 1350 bytes
.../24_24/{message_alright.png => message_r4.png} | Bin 1468 -> 1468 bytes
.../24_24/{message_trusted.png => message_r5.png} | Bin 1431 -> 1431 bytes
.../fusion/24_24/{new_danger.png => new_r1.png} | Bin 1558 -> 1558 bytes
.../fusion/24_24/{new_not_safe.png => new_r2.png} | Bin 1587 -> 1587 bytes
.../fusion/24_24/{new_caution.png => new_r3.png} | Bin 1559 -> 1559 bytes
.../fusion/24_24/{new_alright.png => new_r4.png} | Bin 1618 -> 1618 bytes
.../fusion/24_24/{new_trusted.png => new_r5.png} | Bin 1613 -> 1613 bytes
.../fusion/24_24/{no_rep_available.png => r0.png} | Bin 1662 -> 1662 bytes
.../skin/fusion/24_24/{danger.png => r1.png} | Bin 1221 -> 1221 bytes
.../skin/fusion/24_24/{not_safe.png => r2.png} | Bin 1270 -> 1270 bytes
.../skin/fusion/24_24/{caution.png => r3.png} | Bin 1230 -> 1230 bytes
.../skin/fusion/24_24/{alright.png => r4.png} | Bin 1329 -> 1329 bytes
.../skin/fusion/24_24/{trusted.png => r5.png} | Bin 1309 -> 1309 bytes
.../skin/fusion/24_24/{excluded.png => rx.png} | Bin 1274 -> 1274 bytes
.../fusion/28_28/{no_rep_available.png => r0.png} | Bin 1470 -> 1470 bytes
.../skin/fusion/28_28/{danger.png => r1.png} | Bin 1416 -> 1416 bytes
.../skin/fusion/28_28/{not_safe.png => r2.png} | Bin 1361 -> 1361 bytes
.../skin/fusion/28_28/{caution.png => r3.png} | Bin 1482 -> 1482 bytes
.../skin/fusion/28_28/{alright.png => r4.png} | Bin 1537 -> 1537 bytes
.../skin/fusion/28_28/{trusted.png => r5.png} | Bin 1610 -> 1610 bytes
.../skin/fusion/28_28/{excluded.png => rx.png} | Bin 1422 -> 1422 bytes
.../fusion/32_32/{new_trusted.png => new_r5.png} | Bin 2378 -> 2378 bytes
...message_no_rep_available.png => message_r0.png} | Bin 406 -> 406 bytes
.../16_16/{message_danger.png => message_r1.png} | Bin 400 -> 400 bytes
.../16_16/{message_not_safe.png => message_r2.png} | Bin 695 -> 695 bytes
.../16_16/{message_caution.png => message_r3.png} | Bin 671 -> 671 bytes
.../16_16/{message_alright.png => message_r4.png} | Bin 650 -> 650 bytes
.../16_16/{message_trusted.png => message_r5.png} | Bin 534 -> 534 bytes
.../16_16/{new_danger.png => new_r1.png} | Bin 416 -> 416 bytes
.../16_16/{new_not_safe.png => new_r2.png} | Bin 723 -> 723 bytes
.../16_16/{new_caution.png => new_r3.png} | Bin 705 -> 705 bytes
.../16_16/{new_alright.png => new_r4.png} | Bin 676 -> 676 bytes
.../16_16/{new_trusted.png => new_r5.png} | Bin 549 -> 549 bytes
.../16_16/plain/{no_rep_available.png => r0.png} | Bin 410 -> 410 bytes
.../accessible/16_16/plain/{danger.png => r1.png} | Bin 390 -> 390 bytes
.../16_16/plain/{not_safe.png => r2.png} | Bin 687 -> 687 bytes
.../accessible/16_16/plain/{caution.png => r3.png} | Bin 659 -> 659 bytes
.../accessible/16_16/plain/{alright.png => r4.png} | Bin 655 -> 655 bytes
.../accessible/16_16/plain/{trusted.png => r5.png} | Bin 540 -> 540 bytes
.../16_16/{no_rep_available.png => r0.png} | Bin 410 -> 410 bytes
.../fusion/accessible/16_16/{danger.png => r1.png} | Bin 391 -> 391 bytes
.../accessible/16_16/{not_safe.png => r2.png} | Bin 690 -> 690 bytes
.../accessible/16_16/{caution.png => r3.png} | Bin 664 -> 664 bytes
.../accessible/16_16/{alright.png => r4.png} | Bin 653 -> 653 bytes
.../accessible/16_16/{trusted.png => r5.png} | Bin 540 -> 540 bytes
.../24_24/{message_danger.png => message_r1.png} | Bin 744 -> 744 bytes
.../24_24/{message_not_safe.png => message_r2.png} | Bin 1317 -> 1317 bytes
.../24_24/{message_caution.png => message_r3.png} | Bin 1375 -> 1375 bytes
.../24_24/{message_alright.png => message_r4.png} | Bin 1375 -> 1375 bytes
.../24_24/{message_trusted.png => message_r5.png} | Bin 1529 -> 1529 bytes
.../24_24/{new_danger.png => new_r1.png} | Bin 703 -> 703 bytes
.../24_24/{new_not_safe.png => new_r2.png} | Bin 1287 -> 1287 bytes
.../24_24/{new_caution.png => new_r3.png} | Bin 1297 -> 1297 bytes
.../24_24/{new_alright.png => new_r4.png} | Bin 1277 -> 1277 bytes
.../24_24/{new_trusted.png => new_r5.png} | Bin 1468 -> 1468 bytes
.../24_24/{no_rep_available.png => r0.png} | Bin 772 -> 772 bytes
.../fusion/accessible/24_24/{danger.png => r1.png} | Bin 624 -> 624 bytes
.../accessible/24_24/{not_safe.png => r2.png} | Bin 1088 -> 1088 bytes
.../accessible/24_24/{caution.png => r3.png} | Bin 1116 -> 1116 bytes
.../accessible/24_24/{alright.png => r4.png} | Bin 1108 -> 1108 bytes
.../accessible/24_24/{trusted.png => r5.png} | Bin 1440 -> 1440 bytes
.../28_28/{no_rep_available.png => r0.png} | Bin 993 -> 993 bytes
.../fusion/accessible/28_28/{danger.png => r1.png} | Bin 868 -> 868 bytes
.../accessible/28_28/{not_safe.png => r2.png} | Bin 1252 -> 1252 bytes
.../accessible/28_28/{caution.png => r3.png} | Bin 1099 -> 1099 bytes
.../accessible/28_28/{alright.png => r4.png} | Bin 1050 -> 1050 bytes
.../accessible/28_28/{trusted.png => r5.png} | Bin 931 -> 931 bytes
.../skin/fusion/accessible/close-active.png | Bin 311 -> 0 bytes
.../skin/fusion/accessible/close-hover.png | Bin 214 -> 0 bytes
chrome/wot.jar!/skin/fusion/accessible/close.png | Bin 215 -> 0 bytes
chrome/wot.jar!/skin/fusion/accessible/logo.png | Bin 929 -> 0 bytes
.../wot.jar!/skin/fusion/accessible/popup-logo.png | Bin 1158 -> 0 bytes
.../skin/fusion/accessible/scorecard-active.png | Bin 7601 -> 0 bytes
.../skin/fusion/accessible/scorecard-hover.png | Bin 6568 -> 0 bytes
.../wot.jar!/skin/fusion/accessible/scorecard.png | Bin 7285 -> 0 bytes
.../skin/fusion/accessible/slider-active.png | Bin 1033 -> 0 bytes
.../skin/fusion/accessible/slider-hover.png | Bin 568 -> 0 bytes
chrome/wot.jar!/skin/fusion/accessible/slider.png | Bin 580 -> 0 bytes
chrome/wot.jar!/skin/fusion/close-active.png | Bin 518 -> 0 bytes
chrome/wot.jar!/skin/fusion/close-hover.png | Bin 261 -> 0 bytes
chrome/wot.jar!/skin/fusion/close.png | Bin 267 -> 0 bytes
chrome/wot.jar!/skin/fusion/confidence-0.png | Bin 265 -> 0 bytes
chrome/wot.jar!/skin/fusion/confidence-1.png | Bin 385 -> 0 bytes
chrome/wot.jar!/skin/fusion/confidence-2.png | Bin 408 -> 0 bytes
chrome/wot.jar!/skin/fusion/confidence-3.png | Bin 404 -> 0 bytes
chrome/wot.jar!/skin/fusion/confidence-4.png | Bin 381 -> 0 bytes
chrome/wot.jar!/skin/fusion/confidence-5.png | Bin 281 -> 0 bytes
chrome/wot.jar!/skin/fusion/indicator-hover.png | Bin 309 -> 0 bytes
chrome/wot.jar!/skin/fusion/indicator.png | Bin 204 -> 0 bytes
chrome/wot.jar!/skin/fusion/logo.png | Bin 1706 -> 1659 bytes
chrome/wot.jar!/skin/fusion/message-background.png | Bin 250 -> 0 bytes
chrome/wot.jar!/skin/fusion/message-critical.png | Bin 191 -> 0 bytes
chrome/wot.jar!/skin/fusion/message-important.png | Bin 191 -> 0 bytes
chrome/wot.jar!/skin/fusion/popup-logo.png | Bin 1452 -> 0 bytes
chrome/wot.jar!/skin/fusion/popup.png | Bin 464 -> 0 bytes
chrome/wot.jar!/skin/fusion/scorecard-active.png | Bin 7630 -> 0 bytes
chrome/wot.jar!/skin/fusion/scorecard-hover.png | Bin 6617 -> 0 bytes
chrome/wot.jar!/skin/fusion/scorecard.png | Bin 7328 -> 0 bytes
chrome/wot.jar!/skin/fusion/slider-active.png | Bin 3162 -> 0 bytes
chrome/wot.jar!/skin/fusion/slider-hover.png | Bin 2240 -> 0 bytes
chrome/wot.jar!/skin/fusion/slider.png | Bin 2464 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-0.png | Bin 176 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-1.png | Bin 203 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-10.png | Bin 185 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-2.png | Bin 207 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-3.png | Bin 209 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-4.png | Bin 208 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-5.png | Bin 206 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-6.png | Bin 207 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-7.png | Bin 207 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-8.png | Bin 204 -> 0 bytes
chrome/wot.jar!/skin/fusion/user-bar-9.png | Bin 197 -> 0 bytes
chrome/wot.jar!/skin/include/blocked.css | 383 ----
chrome/wot.jar!/skin/include/blocked.js | 47 +-
chrome/wot.jar!/skin/include/loading.css | 14 +-
chrome/wot.jar!/skin/include/popup.css | 495 ++++-
chrome/wot.jar!/skin/include/warning.css | 752 +++++++
chrome/wot.jar!/skin/ratingwindow.css | 1726 ++++++++++++++++
chrome/wot.jar!/skin/toolbar.css | 2 +-
chrome/wot.jar!/skin/welcometips.css | 214 ++
chrome/wot.jar!/skin/wot.css | 721 +------
install.rdf | 6 +-
267 files changed, 12932 insertions(+), 5112 deletions(-)
diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf
index 9ce6dab..4e2f1a0 100644
--- a/META-INF/manifest.mf
+++ b/META-INF/manifest.mf
@@ -4,18 +4,18 @@ Comments: PLEASE DO NOT EDIT THIS FILE. YOU WILL BREAK IT.
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
-MD5-Digest: M7Q5whacabN/CaV0CdDHcQ==
-SHA1-Digest: f4fLWenhLPDaqibjPhnbrASyXJw=
+MD5-Digest: 1GaXeKxllleWTYmsnF48zw==
+SHA1-Digest: ch4/JCA8aIe9wP1UNNoF0mbHk40=
Name: chrome/wot.jar
Digest-Algorithms: MD5 SHA1
-MD5-Digest: IxN+CskSeFNG+K6lazQ34w==
-SHA1-Digest: a+4MkW0zjg0Trxf5fJb9enWxzco=
+MD5-Digest: vhm0FLnpBvXsn6UjyvZlFg==
+SHA1-Digest: qm+5puwqTXwDPW/BWhTS21557Rk=
Name: install.rdf
Digest-Algorithms: MD5 SHA1
-MD5-Digest: et98gxuXfh3Mi1LmDEF+wg==
-SHA1-Digest: /OJEC9l+XnOB7mLErDieHRzV4Ho=
+MD5-Digest: CGtniUbPdSZgfqgAJdUw7w==
+SHA1-Digest: fQt8N8uUf/wV2rXltYQpSGIK3Cw=
Name: COPYING
Digest-Algorithms: MD5 SHA1
diff --git a/META-INF/zigbert.rsa b/META-INF/zigbert.rsa
index dd9d3a4..6393270 100644
Binary files a/META-INF/zigbert.rsa and b/META-INF/zigbert.rsa differ
diff --git a/META-INF/zigbert.sf b/META-INF/zigbert.sf
index a59ff47..e48c78a 100644
--- a/META-INF/zigbert.sf
+++ b/META-INF/zigbert.sf
@@ -7,18 +7,18 @@ SHA1-Digest: /8+zfE8pFJgsKk0U/ZWIzo8qpy4=
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
-MD5-Digest: Ut7nm4xWWyVZ92DEyjQo/A==
-SHA1-Digest: CpsZJrjG6jfp1Wj7tn2FZawr82E=
+MD5-Digest: amRmRGv3F4A4oDyxr/da9w==
+SHA1-Digest: BnnRVkbzKBIQVW0a+wyYEddpKO4=
Name: chrome/wot.jar
Digest-Algorithms: MD5 SHA1
-MD5-Digest: AZfskoRA4efX5Zt17x8F/w==
-SHA1-Digest: 83TVDEoMcHOBFl/eGQZzfNTO0OM=
+MD5-Digest: 7cRp0Lm7Cd2+Bhh0iFQCXg==
+SHA1-Digest: 2YOc80OnypIojsUB3jm4LKpbsz4=
Name: install.rdf
Digest-Algorithms: MD5 SHA1
-MD5-Digest: sVVCz9kZWQAkn1Gnn250sg==
-SHA1-Digest: s9FGPc227RGIAT/9GDoJfY2PZ54=
+MD5-Digest: QQY5Oz6UsraCLh4NLTEolw==
+SHA1-Digest: hEGXABSiEzL975HxZJ75xdU9B0Q=
Name: COPYING
Digest-Algorithms: MD5 SHA1
diff --git a/chrome.manifest b/chrome.manifest
index 4dd3140..3f4c778 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -4,6 +4,7 @@ resource wot-base-dir jar:chrome/wot.jar!/content/
overlay chrome://browser/content/browser.xul chrome://wot/content/overlay.xul
overlay chrome://navigator/content/navigatorOverlay.xul chrome://wot/content/overlay.xul
locale wot en-US jar:chrome/wot.jar!/locale/en-US/
+locale wot ru-RU jar:chrome/wot.jar!/locale/ru-RU/
locale wot cs-CZ jar:chrome/wot.jar!/locale/cs-CZ/
locale wot de-DE jar:chrome/wot.jar!/locale/de-DE/
locale wot fi-FI jar:chrome/wot.jar!/locale/fi-FI/
@@ -13,7 +14,6 @@ locale wot it-IT jar:chrome/wot.jar!/locale/it-IT/
locale wot fr-FR jar:chrome/wot.jar!/locale/fr-FR/
locale wot pt-BR jar:chrome/wot.jar!/locale/pt-BR/
locale wot es-ES jar:chrome/wot.jar!/locale/es-ES/
-locale wot ru-RU jar:chrome/wot.jar!/locale/ru-RU/
locale wot ja-JP jar:chrome/wot.jar!/locale/ja-JP/
locale wot ko-KR jar:chrome/wot.jar!/locale/ko-KR/
locale wot zh-CN jar:chrome/wot.jar!/locale/zh-CN/
diff --git a/chrome/wot.jar!/content/api.js b/chrome/wot.jar!/content/api.js
index c330d84..75a3184 100644
--- a/chrome/wot.jar!/content/api.js
+++ b/chrome/wot.jar!/content/api.js
@@ -156,13 +156,19 @@ var wot_api_link =
var wot_api_query =
{
- message: "",
+ /* Variables */
+ message: "",
message_id: "",
message_type: "",
message_url: "",
users: [],
- send: function(hostname, callback)
+ /* Constants */
+ XML_QUERY_STATUS_LEVEL: "level",
+ XML_QUERY_USER_LABEL: "label",
+
+ /* Methods */
+ send: function(hostname, callback)
{
try {
if (!wot_util.isenabled()) {
@@ -231,23 +237,18 @@ var wot_api_query =
if (request.status == 200) {
wot_cache.add_query(
- request.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_QUERY),
- request.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_QUERY_TARGET),
+ request.responseXML.getElementsByTagName(WOT_SERVICE_XML_QUERY),
+ request.responseXML.getElementsByTagName(WOT_SERVICE_XML_QUERY_TARGET),
false);
wot_api_query.parse_messages(
- request.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_QUERY_MSG));
+ request.responseXML.getElementsByTagName(WOT_SERVICE_XML_QUERY_MSG));
wot_api_query.parse_users(
- request.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_QUERY_USER));
+ request.responseXML.getElementsByTagName(WOT_SERVICE_XML_QUERY_USER));
wot_api_query.parse_status(
- request.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_QUERY_STATUS));
+ request.responseXML.getElementsByTagName(WOT_SERVICE_XML_QUERY_STATUS));
}
wot_cache.set(hostname, "inprogress", false);
@@ -363,67 +364,38 @@ var wot_api_query =
try {
this.users = [];
- if (!users) {
- return;
- }
-
- var i = 0;
- var u = users.item(0);
- var a;
-
- while (u) {
- var item = {};
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_ICON);
-
- if (a && a.value) {
- item.icon = a.value;
- }
-
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_BAR);
-
- if (a && a.value) {
- item.bar = a.value;
- }
-
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_LENGTH);
-
- if (a && a.value) {
- item.length = a.value;
- }
-
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_LABEL);
-
- if (a && a.value) {
- item.label = a.value;
- }
-
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_URL);
-
- if (a && a.value) {
- item.url = a.value;
- }
-
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_TEXT);
-
- if (a && a.value) {
- item.text = a.value;
- }
-
- a = u.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_USER_NOTICE);
-
- if (a && a.value) {
- item.notice = a.value;
- }
-
- if (item.text && (!item.bar ||
- (item.length != null && item.label))) {
- this.users[i] = item;
- }
-
- u = users.item(++i);
+ if (!users) return;
+
+ var u = users.item(0),// take only first items, ignore others
+ user_item = {},
+ a = null,
+ user_props = {
+ // so far we don't need most of fields any more that is why they are commented out
+// icon: WOT_SERVICE_XML_QUERY_USER_ICON,
+// bar: WOT_SERVICE_XML_QUERY_USER_BAR,
+// "length": WOT_SERVICE_XML_QUERY_USER_LENGTH,
+// url: WOT_SERVICE_XML_QUERY_USER_URL,
+// text: WOT_SERVICE_XML_QUERY_USER_TEXT,
+// notice: WOT_SERVICE_XML_QUERY_USER_NOTICE,
+ label: this.XML_QUERY_USER_LABEL // this is the only property we need
+ };
+
+ if (u) {
+ for (var k in user_props) {
+ a = u.attributes.getNamedItem(user_props[k]);
+ if (a && a.value) {
+ user_item[k] = a.value;
+ }
+ }
+ this.users.push(user_item);
+
+ // set activity score from "user's label"
+ if (!isNaN(user_item.label)) {
+ wot_prefs.setInt("activity_score", parseInt(user_item.label));
+ }
}
} catch (e) {
- dump("wot_api_query.parse_users: failed with " + e + "\n");
+ wdump("wot_api_query.parse_users: failed with " + e);
}
},
@@ -432,24 +404,20 @@ var wot_api_query =
try {
wot_prefs.clear("status_level");
- if (!stats) {
- return;
- }
+ if (!stats) return;
- var s = stats.item(0);
+ var s = stats.item(0);
- if (!s) {
- return;
- }
+ if (!s) return;
- var l = s.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_STATUS_LEVEL);
+ var l = s.attributes.getNamedItem(this.XML_QUERY_STATUS_LEVEL);
if (l && l.value) {
wot_prefs.setChar("status_level", l.value);
}
} catch (e) {
- dump("wot_api_query.parse_status: failed with " + e + "\n");
+ wdump("wot_api_query.parse_status: failed with " + e);
}
}
};
@@ -499,20 +467,15 @@ var wot_api_register =
}
if (wot_browser.isoffline()) {
- wot_status.set("offline",
- wot_util.getstring("description_offline"));
- this.timeout = window.setTimeout(wot_api_register.send,
- WOT_INTERVAL_REGISTER_OFFLINE);
+ wot_status.set("offline", wot_util.getstring("messages_offline"));
+ this.timeout = window.setTimeout(wot_api_register.send, WOT_INTERVAL_REGISTER_OFFLINE);
return;
}
- wot_status.set("notready",
- wot_util.getstring("description_notready"));
+ wot_status.set("notready", wot_util.getstring("messages_notready"));
- if (!this.geteid() ||
- wot_hashtable.get(WOT_REGISTER_RUNNING)) {
- this.timeout = window.setTimeout(wot_api_register.send,
- WOT_INTERVAL_REGISTER_ERROR);
+ if (!this.geteid() || wot_hashtable.get(WOT_REGISTER_RUNNING)) {
+ this.timeout = window.setTimeout(wot_api_register.send, WOT_INTERVAL_REGISTER_ERROR);
return;
}
@@ -590,7 +553,7 @@ var wot_api_register =
{
try {
wot_status.set("error",
- wot_util.getstring("description_error_register"));
+ wot_util.getstring("messages_error_register"));
wot_api_register.timeout =
window.setTimeout(wot_api_register.send,
@@ -655,8 +618,7 @@ var wot_api_reload =
}
var reload = null;
- var tags = event.target.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_RELOAD);
+ var tags = event.target.responseXML.getElementsByTagName(WOT_SERVICE_XML_RELOAD);
if (tags) {
reload = tags.item(0);
@@ -667,10 +629,8 @@ var wot_api_reload =
return;
}
- var id = reload.attributes.getNamedItem(
- WOT_SERVICE_XML_RELOAD_ID);
- var key = reload.attributes.getNamedItem(
- WOT_SERVICE_XML_RELOAD_KEY);
+ var id = reload.attributes.getNamedItem(WOT_SERVICE_XML_RELOAD_ID);
+ var key = reload.attributes.getNamedItem(WOT_SERVICE_XML_RELOAD_KEY);
if (!id || !id.value || !key || !key.value ||
id.value.length != WOT_LENGTH_WITNESS_ID ||
@@ -694,6 +654,7 @@ var wot_api_reload =
var name = wot_cache.get_name_from_element(cache.getNext());
if (name) {
wot_cache.set(name, "status", WOT_QUERY_RETRY);
+ wot_cache.remove(name, "exists"); // to tell that cache doesn't exist for the target
}
}
@@ -721,7 +682,7 @@ var wot_api_reload =
var wot_api_submit =
{
- send: function(pref, target, testimonies)
+ send: function(pref, target, testimonies, votes)
{
try {
if (!wot_util.isenabled() || !pref || !target ||
@@ -731,49 +692,47 @@ var wot_api_submit =
var nonce = wot_crypto.nonce();
- var context = wot_arc4.create(wot_hash.hmac_sha1hex(
- wot_prefs.witness_key, nonce));
+ var context = wot_arc4.create(wot_hash.hmac_sha1hex(wot_prefs.witness_key, nonce));
if (!context) {
return;
}
- var crypted = wot_arc4.crypt(context,
- wot_hash.strtobin(target));
+ var crypted = wot_arc4.crypt(context,wot_hash.strtobin(target));
- if (!crypted) {
- return;
- }
+ if (!crypted) return;
var qs = WOT_SERVICE_API_SUBMIT +
"?id=" + wot_prefs.witness_id +
"&nonce=" + nonce +
- "&target=" + encodeURIComponent(btoa(
- wot_hash.bintostr(crypted)));
+ "&target=" + encodeURIComponent(btoa(wot_hash.bintostr(crypted)));
var found = 0;
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- if (testimonies[i] >= 0) {
- qs += "&testimony_" + i + "=" + testimonies[i];
+ for (var i = 0; i < WOT_COMPONENTS.length; ++i) {
+ var app = WOT_COMPONENTS[i];
+ if (testimonies[app] >= -1) {
+ qs += "&testimony_" + app + "=" + testimonies[app];
++found;
}
}
- if (!found) {
- return;
- }
+ if (votes && votes.length > 0) {
+ qs += "&votes=" + votes;
+ }
+
+ if (!found) return;
qs += wot_url.getapiparams();
var request = new XMLHttpRequest();
- if (!request) {
- return;
- }
+ if (!request) return;
- request.open("GET", wot_core.wot_service_url() +
- wot_crypto.authenticate_query(qs));
+ var url = wot_core.wot_service_url() + wot_crypto.authenticate_query(qs);
+// wdump("API Submit: " + url);
+
+ request.open("GET", url);
new wot_cookie_remover(request);
@@ -781,8 +740,7 @@ var wot_api_submit =
{
try {
if (request.status == 200) {
- var submit = request.responseXML.getElementsByTagName(
- WOT_SERVICE_XML_SUBMIT);
+ var submit = request.responseXML.getElementsByTagName(WOT_SERVICE_XML_SUBMIT);
if (submit && submit.length > 0) {
wot_pending.clear(pref);
@@ -925,16 +883,10 @@ var wot_api_update =
}
var request = event.target;
-
- if (!request || request.status != 200) {
- return;
- }
+ if (!request || request.status != 200) return;
var response = request.responseXML;
-
- if (!response) {
- return;
- }
+ if (!response) return;
/* Update the the last check time */
wot_prefs.setChar("update_checked", Date.now());
@@ -946,33 +898,27 @@ var wot_api_update =
update = tags.item(0);
}
- if (!update) {
- return;
- }
+ if (!update) return;
/* Attributes */
- var interval =
- update.getAttribute(WOT_SERVICE_XML_UPDATE_INTERVAL);
+ var interval = update.getAttribute(WOT_SERVICE_XML_UPDATE_INTERVAL);
if (interval && Number(interval) > 0) {
wot_prefs.setInt("update_interval", interval * 1000);
}
- /* Search rules */
- var search = response.getElementsByTagName(
- WOT_SERVICE_XML_UPDATE_SEARCH);
+ /* Categories */
+ var cats = response.getElementsByTagName(WOT_SERVICE_XML_UPDATE_CATEGORIES);
+ if (cats && cats[0]) wot_categories.parse(cats[0]);
- if (search) {
- wot_search.parse(search);
- }
+ /* Search rules */
+ var search = response.getElementsByTagName(WOT_SERVICE_XML_UPDATE_SEARCH);
+ if (search) wot_search.parse(search);
/* Shared domains */
- var shared = response.getElementsByTagName(
- WOT_SERVICE_XML_UPDATE_SHARED);
+ var shared = response.getElementsByTagName(WOT_SERVICE_XML_UPDATE_SHARED);
+ if (shared) wot_shared.parse(shared);
- if (shared) {
- wot_shared.parse(shared);
- }
wot_prefs.flush();
} catch (e) {
@@ -983,33 +929,38 @@ var wot_api_update =
var wot_pending =
{
- store: function(name) /* host */
- {
+ store: function(hostname) {
+ // Stores user's testimonies from memory cache to preferences (which is more persistent storage)
try {
- if (!wot_cache.iscached(name) ||
- !wot_cache.get(name, "pending")) {
+ if (!wot_cache.iscached(hostname) ||
+ !wot_cache.get(hostname, "pending")) {
return false;
}
- var data = wot_idn.utftoidn(name);
+ var target = wot_idn.utftoidn(hostname),
+ obj = {};
- if (!data) {
- return false;
- }
+ if (!target) return false;
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- data += " " + wot_cache.get(name, "testimony_" + i);
+ obj.target = target;
+
+ for (var i = 0; i < WOT_COMPONENTS.length; ++i) {
+ var app = WOT_COMPONENTS[i];
+ obj["testimony_" + app] = wot_cache.get(hostname, "testimony_" + app);
}
- var pref = Date.now();
+ obj.votes = wot_cache.get(hostname, "votes") || "";
+
+ var pref_name = Date.now();
- if (wot_prefs.setChar("pending." + pref, data)) {
+ if (wot_prefs.setChar("pending." + pref_name, JSON.stringify(obj))) {
+// wdump("Stored in prefs: " + JSON.stringify(obj));
return true;
}
wot_prefs.flush();
} catch (e) {
- dump("wot_pending.store: failed with " + e + "\n");
+ wdump("wot_pending.store: failed with " + e);
}
return false;
@@ -1038,44 +989,61 @@ var wot_pending =
}
},
- parse: function(pref, data)
+ parse: function(pref, json_data)
{
try {
- var m = /^([^\s]+)(.*)/.exec(data);
+// var m = /^([^\s]+)(.*)/.exec(data);
+
+ var data = JSON.parse(json_data);
- if (!m || !m[1] || !m[2]) {
- dump("wot_pending.parse: invalid entry: " + pref + ": " +
- data + "\n");
+ if (!data || !data.target) {
+ wdump("wot_pending.parse: invalid entry: " + pref + ": " + json_data);
this.clear(pref);
return null;
}
var rv = {
- target: m[1],
- testimonies: []
+ target: data.target,
+ testimonies: [],
+ votes: data.votes || "", // categories' votes as a string
+ votes_list: {} // parsed votes as an object
};
- var values = m[2];
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- m = /^\s*(-?\d+)(.*)/.exec(values);
+ for (var i = 0; i < WOT_COMPONENTS.length; ++i) {
+ var app = WOT_COMPONENTS[i],
+ t = data["testimony_" + app];
- if (!m || m[1] == null || Number(m[1]) < 0) {
- rv.testimonies[i] = -1;
+ if (t === null || t < 0 || isNaN(t)) {
+ rv.testimonies[app] = -1;
} else {
- rv.testimonies[i] = Number(m[1]);
+ rv.testimonies[app] = Number(t);
- if (rv.testimonies[i] > WOT_MAX_REPUTATION) {
- rv.testimonies[i] = WOT_MAX_REPUTATION;
+ if (rv.testimonies[app] > WOT_MAX_REPUTATION) {
+ rv.testimonies[app] = WOT_MAX_REPUTATION;
}
}
-
- values = m[2];
}
- dump("wot_pending.parse: " + pref + ": " + rv.target + "\n");
+// // parsing string votes
+ // FIXME: use the code below for restoring user's votes from pending submission when cache doesn't have them
+// if (data.votes && data.votes.length > 2) {
+// var votes_array = data.votes.split("/");
+// for (i = 0; i < votes_array.length; i++) {
+// var vv = votes_array[i];
+// if (vv && vv.length > 0) {
+// var v = vv.split(":", 2);
+// if (v && v.length == 2) {
+// rv.votes_list[v[0]] = { v: v[1] };
+// }
+// }
+// }
+// }
+
+// wdump("wot_pending.parse: " + pref + ": " + rv.target);
return rv;
+
} catch (e) {
- dump("wot_pending.parse: failed with " + e + "\n");
+ wdump("wot_pending.parse: failed with " + e);
}
return null;
@@ -1095,17 +1063,15 @@ var wot_pending =
}
var base = "pending." + pref;
- var data = wot_prefs.getChar(base, null);
+ var json_data = wot_prefs.getChar(base, null);
- if (!data) {
- continue;
- }
+ if (!json_data) continue;
- var submit = wot_prefs.getChar(base + ".submit", null);
+ var submit_time = wot_prefs.getChar(base + ".submit", null);
- if (submit) {
- submit = Date.now() - Number(submit);
- if (submit < WOT_INTERVAL_SUBMIT_ERROR) {
+ if (submit_time) {
+ submit_time = Date.now() - Number(submit_time);
+ if (submit_time < WOT_INTERVAL_SUBMIT_ERROR) {
continue;
}
}
@@ -1127,30 +1093,507 @@ var wot_pending =
continue;
}
- var parsed = this.parse(pref, data);
+ var parsed = this.parse(pref, json_data);
- if (!parsed) {
- continue;
- }
+ if (!parsed) continue;
+
+// wdump("API Submits Parsed: " + JSON.stringify(parsed));
- wot_api_submit.send(pref, parsed.target, parsed.testimonies);
+ wot_api_submit.send(pref, parsed.target, parsed.testimonies, parsed.votes);
- if (!wot_cache.iscached(parsed.target) ||
- wot_cache.get(parsed.target, "pending")) {
+ if (!wot_cache.iscached(parsed.target) || wot_cache.get(parsed.target, "pending")) {
continue;
}
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- if (parsed.testimonies[i] < 0) {
- continue;
- }
-
- wot_cache.set(parsed.target, "testimony_" + i,
- parsed.testimonies[i]);
+ // Now update cache with user's input: testimonies first
+ for (i = 0; i < WOT_COMPONENTS.length; ++i) {
+ var app = WOT_COMPONENTS[i];
+ wot_cache.set(parsed.target, "testimony_" + app, parsed.testimonies[app]);
}
+
+ // Categories
+ // TODO: implement restoring votes from parsed voted in case if votes were restored from "pending" data (i.e. not in cache yet)
+
+ wot_cache.set(parsed.target, "votes", parsed.votes); // FIXME: do we still need this here?
}
} catch (e) {
- dump("wot_pending.submit: failed with " + e + "\n");
+ dump("wot_pending.submit: failed with " + e);
}
}
};
+
+var wot_keeper = {
+
+ STATUSES: {
+ LOCAL: 1, // indicates permanent storing of data locally
+ SUBMITTING: 2 // indicates the saving is temporary until submition is reported succesful
+ },
+
+ /* Comment-specific methods to work with Keeper */
+
+ get_comment: function (target) {
+ // returns comment data stored locally for the specified target. Comment data is {body, timestamp, votes, wcid}
+ var data = wot_keeper.get_by_name(target, "comment");
+ if (data) {
+ return data;
+ } else {
+ return {};
+ }
+ },
+
+ save_comment: function (target, comment_body, wcid, votes, status) {
+
+ var data = {
+ timestamp: Date.now(),
+ target: target,
+ comment: comment_body,
+ wcid: wcid,
+ votes: votes, // votes as object to be able to restore them to UI
+ status: status || wot_keeper.STATUSES.LOCAL
+ };
+
+ wot_keeper.store_by_name(target, "comment", JSON.stringify(data));
+ },
+
+ remove_comment: function (target) {
+ wot_keeper.remove_by_name(target, "comment");
+ },
+
+ /* Generic methods to work with Keeper */
+
+ get_by_name: function (target, name) {
+ // generic method to get data from local by target and name
+// console.log("keeper.get_by_name()", target, name);
+
+ try {
+ var json = wot_prefs.getChar(wot_keeper._fullname(target, name), true) || null;
+ return json ? JSON.parse(json) : null;
+ } catch (e) {
+ wdump("wot_keeper.get_by_name() Failed with " + e);
+ }
+ return null;
+ },
+
+ store_by_name: function (target, name, data) {
+// console.log("keeper.store_by_name()", target, name, data);
+ wot_prefs.setChar(wot_keeper._fullname(target, name), data, true);
+ },
+
+ remove_by_name: function (target, name) {
+// wdump("keeper.remove_by_name()" + target + " " + name);
+ wot_prefs.clear(wot_keeper._fullname(target, name));
+ },
+
+ _fullname: function (target, name) {
+ return "keeper." + name + "." + target;
+ }
+
+};
+
+var wot_api_comments = {
+ server: "www.mywot.com",
+ version: "1", // Comments API version
+ PENDING_COMMENT_SID: "pending_comment.",
+ PENDING_REMOVAL_SID: "pending_removal.",
+ MAX_TRIES: 10, // maximum amount of tries to send a comment or remove a comment
+ retrytimeout: {
+ submit: 30 * 1000,
+ remove: 20 * 1000
+ },
+ nonces: {}, // to know connection between nonce and target
+
+ serialize: function (obj) {
+ // prepare data to be sent using xmlhttprequest via POST
+ var str = [];
+ for(var p in obj){
+ if (obj.hasOwnProperty(p)) {
+ str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
+ }
+ }
+ return str.join("&");
+ },
+
+ call: function (apiname, options, params, on_error, on_success) {
+ try {
+ var _this = wot_api_comments,
+ nonce = wot_crypto.nonce(),
+ original_target = params.target;
+
+ params = params || {};
+ var post_params = {};
+
+ params.id = wot_prefs.witness_id;
+ params.nonce = nonce;
+ params.version = WOT_PLATFORM + "-" +WOT_VERSION;
+
+ options = options || { type: "GET" };
+
+ if (options.encryption) {
+ params.target = wot_crypto.encrypt(params.target, nonce);
+ }
+
+ var components = [];
+
+ for (var i in params) {
+ if (params[i] != null) {
+ var param_name = i,
+ param_value = params[i];
+
+ // Use a hash instead of the real value in the authenticated query
+ if (options.hash && options.hash == i) {
+ param_name = "SHA1";
+ param_value = wot_hash.bintohex(wot_hash.sha1str(unescape( encodeURIComponent( params[i] )))); //wot_crypto.bintohex(wot_crypto.sha1.sha1str(unescape( encodeURIComponent( params[i] ))));
+ }
+
+ components.push(param_name + "=" + encodeURIComponent(param_value));
+ }
+ }
+
+ var query_string = components.join("&"),
+ path = "/api/" + _this.version + "/addon/comment/" + apiname,
+ full_path = path + "?" + query_string;
+
+ if (options.authentication) {
+ var auth = wot_crypto.authenticate(full_path);
+
+ if (!auth || !components.length) {
+ return false;
+ }
+ full_path += "&auth=" + auth;
+ }
+
+ if (options.type == "POST") {
+ post_params.query = full_path;
+
+ if (options.hash) {
+ post_params[options.hash] = params[options.hash]; // submit the real value of the parameter that is authenticated as the hash
+ }
+ }
+
+ // the add-on does NOT have permissions for httpS://www.mywot.com so we use http and own encryption
+ var type = options.type ? options.type : "GET";
+ var url = "http://" + this.server + (type == "POST" ? path : full_path);
+
+ _this.nonces[nonce] = original_target; // remember the link between nonce and target
+
+ var request = new XMLHttpRequest();
+ request.open(type, url);
+
+ request.onload = function (event) {
+ if (!event || !event.target || event.target.status != 200 ||
+ !event.target.responseText) {
+ wdump("api.comments.call.error: url = " + url + ", status = " + event.target.status);
+
+ if (typeof(on_error) == "function") {
+ on_error(request, event.target.status, {});
+ }
+ return;
+ }
+
+// wdump("api.comments.call.success: url = " + url + ", status = " + event.target.status);
+
+ var data = JSON.parse(event.target.responseText);
+
+ if (typeof(on_success) == "function") {
+ on_success(data, event.target.status, nonce);
+ }
+
+ };
+
+ var prepared_post_params = null;
+
+ if (type == "POST") {
+ prepared_post_params = _this.serialize(post_params);
+ request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+ request.setRequestHeader("Content-length", prepared_post_params.length);
+ request.setRequestHeader("Connection", "close");
+ }
+
+ request.send(prepared_post_params);
+ return true;
+
+ } catch (e) {
+ wdump("wot_api_comments.call(): failed with " + e);
+ }
+
+ return false;
+
+ },
+
+ get: function(target) {
+ var _this = wot_api_comments;
+// wdump("wot_api_comments.get(target) " + target);
+
+ if (target) {
+ _this.call("get",
+ {
+ encryption: true,
+ authentication: true
+ },
+ {
+ target: target
+ },
+ null, // TODO: handle network errors
+ function (data) {
+ _this.on_get_comment_response(data);
+ }
+ );
+ } else {
+ // if target is null, erase the comment info from rating window
+ _this.on_get_comment_response({});
+ }
+ },
+
+ submit: function (target, comment, comment_id, votes) {
+
+ var _this = wot_api_comments,
+ pref_pending_name = _this.PENDING_COMMENT_SID + target;
+
+ // try to restore pending submission first
+ var state_json = wot_prefs.getChar(pref_pending_name);
+ var state = state_json ? JSON.parse(state_json) : {
+ target: target,
+ comment_data: {},
+ tries: 0
+ };
+
+ // if params are given, it means we are on normal way of sending data (not on retrying)
+ if (comment && votes) {
+ state.comment_data.comment = comment;
+ state.comment_data.cid = comment_id || 0;
+ state.comment_data.categories = votes;
+ state.tries = 0;
+ }
+
+ if (++state.tries > _this.MAX_TRIES) {
+ wdump("FAIL: api.comments.submit: failed " + target + " (max tries)");
+ wot_prefs.clear(pref_pending_name);
+ return;
+ }
+
+ wot_prefs.setChar(pref_pending_name, JSON.stringify(state)); // remember the submission
+
+ state.comment_data['target'] = target;
+
+ _this.call("submit",
+ {
+ encryption: true,
+ authentication: true,
+ type: "POST",
+ hash: "comment" // this field must be hashed and the hash must be authenticated
+ },
+ state.comment_data,
+ function (request) { // handle network errors
+ if (request.status != 403) {
+ wot_api_comments.retry("submit", [ target ]);
+ } else {
+ wdump("api.comment.submit: failed " + target + " (403)");
+ wot_prefs.clear(wot_api_comments.PENDING_COMMENT_SID + target);
+ }
+ },
+ wot_api_comments.on_submit_comment_response
+ );
+
+ // set the local cache to the comment value
+ wot_cache.set_comment(target, {
+ comment: comment,
+ wcid: comment_id,
+ status: WOT_QUERY_RETRY, // the sign of unverified submission // TODO: replace to BUSY constant
+ timestamp: Date.now()
+ });
+ },
+
+ remove: function (target) {
+
+ var _this = wot_api_comments,
+ pref_pending_name = _this.PENDING_REMOVAL_SID + target;
+
+ // try to restore pending submission first
+ var state_json = wot_prefs.getChar(pref_pending_name, null);
+ var state = state_json ? JSON.parse(state_json) : {
+ target: target,
+ tries: 0
+ };
+
+ if (++state.tries > _this.MAX_TRIES) {
+ wdump("api.comments.submit: failed " + target + " (max tries)");
+ wot_prefs.clear(pref_pending_name);
+ return;
+ }
+
+ wot_prefs.setChar(pref_pending_name, JSON.stringify(state)); // remember the submission
+
+ _this.call("remove",
+ {
+ encryption: true,
+ authentication: true,
+ type: "POST"
+ },
+ {
+ target: target
+ },
+ function (request) { // handle network errors
+ if (request.status != 403) {
+ wot_api_comments.retry("remove", [ target ]);
+ } else {
+ wdump("api.comment.remove: failed " + target + " (403)");
+ wot_prefs.clear(wot_api_comments.PENDING_REMOVAL_SID + target);
+ }
+ },
+ wot_api_comments.on_remove_comment_response
+ );
+ },
+
+ retry: function(apiname, params, customtimeout)
+ {
+ var timeout = customtimeout || wot_api_comments.retrytimeout[apiname];
+
+ if (timeout) {
+ window.setTimeout(function() {
+ wot_api_comments[apiname].apply(wot_api_comments, params || []);
+ }, timeout);
+ }
+ },
+
+ processpending: function()
+ {
+ var branches = {};
+ branches[this.PENDING_COMMENT_SID] = wot_api_comments.submit;
+ branches[this.PENDING_REMOVAL_SID] = wot_api_comments.remove;
+
+ for (var b in branches) {
+ try {
+ var comments_pending_branch = wot_prefs.ps.getBranch(WOT_PREF + b);
+ var comments_pending = comments_pending_branch.getChildList("", {});
+ for (var i = 0; i < comments_pending.length; i++) {
+ branches[b].apply(wot_api_comments, [comments_pending[i]]); // call the proper function and provide it a target hostname
+ }
+ } catch (e) {
+ wdump("wot_api_comments.processpending() / ["+b+"] failed with " + e);
+ }
+ }
+ },
+
+ pull_nonce: function (nonce) {
+// wdump("wot_api_comments._pull_once(nonce) " + nonce);
+
+ var _this = wot_api_comments,
+ target = null;
+
+ if (_this.nonces[nonce]) {
+ target = _this.nonces[nonce];
+ delete _this.nonces[nonce];
+ }
+
+ return target;
+ },
+
+ is_error: function (error) {
+// wdump("wot_api_comments.is_error(error)" + error);
+
+ var error_code = 0,
+ error_debug = "it is raining outside :(";
+
+ if (error instanceof Array && error.length > 1) {
+ error_code = error[0];
+ error_debug = error[1];
+ } else {
+ error_code = (error !== undefined ? error : 0);
+ }
+
+ if (error_code && error_code != WOT_COMMENTS.error_codes.COMMENT_NOT_FOUND) {
+ wdump("Error is returned:" + error_code + " / " + error_debug + " / " + error);
+ }
+
+ return error_code; // if not zero, than it is error
+ },
+
+ on_get_comment_response: function (data) {
+// wdump("wot_api_comments.on_get_comment_response(data)" + JSON.stringify(data));
+ // check whether error occured or data arrived
+ var _this = wot_api_comments,
+ nonce = data ? data.nonce : null, // to recover target from response
+ target = _this.pull_nonce(nonce),
+ error_code = target ? _this.is_error(data.error) : WOT_COMMENTS.error_codes.COMMENT_NOT_FOUND;
+
+ switch (error_code) {
+ case WOT_COMMENTS.error_codes.SUCCESS:
+ wot_cache.set_comment(target, data); // TODO: implement
+ break;
+ case WOT_COMMENTS.error_codes.COMMENT_NOT_FOUND:
+ wot_cache.remove_comment(target); // remove the comment if it is cached
+ break;
+ default:
+ wot_cache.set_comment(target, { status: WOT_QUERY_ERROR, error_code: error_code });
+ }
+
+ wot_cache.set_captcha(!!data.captcha);
+
+ wot_rw.update_ratingwindow_comment();
+ },
+
+ on_submit_comment_response: function (data) {
+ /* Handler for "Submit" responses. On success it updates the local cache */
+
+// wdump("wot_api_comments.on_submit_comment_response(data) " + data);
+ var _this = wot_api_comments,
+ nonce = data.nonce, // to recover target from response
+ target = _this.pull_nonce(nonce),
+ error_code = _this.is_error(data.error);
+
+ switch (error_code) {
+ case WOT_COMMENTS.error_codes.SUCCESS:
+ wot_keeper.remove_comment(target); // delete the locally saved comment only on successful submit
+ wot_cache.update_comment(target, { status: WOT_QUERY_OK, error_code: error_code });
+ wot_prefs.clear(_this.PENDING_COMMENT_SID + target); // don't try to send again
+ break;
+
+ // for these errors we should try again, because there is non-zero possibility of quantum glitches around
+ case WOT_COMMENTS.error_codes.AUTHENTICATION_FAILED:
+ case WOT_COMMENTS.error_codes.AUTHENTICATION_REP_SERVER_ERROR:
+ case WOT_COMMENTS.error_codes.COMMENT_SAVE_FAILED:
+ wot_cache.update_comment(target, { status: WOT_QUERY_ERROR, error_code: error_code });
+ _this.retry("submit", [ target ]); // yeah, try it again, ddos own server ;)
+ break;
+
+ default:
+ wot_cache.update_comment(target, { status: WOT_QUERY_ERROR, error_code: error_code });
+ wot_prefs.clear(_this.PENDING_COMMENT_SID + target);
+ }
+
+ wot_cache.set_captcha(!!data.captcha);
+
+ wot_rw.update_ratingwindow_comment(); // to update status "the website is commented by the user"
+ },
+
+ on_remove_comment_response: function (data) {
+// wdump("wot_api_comments.on_remove_comment_response(data) " + data);
+
+ var _this = wot_api_comments,
+ nonce = data.nonce, // to recover target from response
+ target = _this.pull_nonce(nonce),
+ error_code = _this.is_error(data.error);
+
+ switch (error_code) {
+ case WOT_COMMENTS.error_codes.SUCCESS:
+ wot_cache.remove_comment(target);
+ wot_keeper.remove_comment(target);
+ wot_prefs.clear(_this.PENDING_REMOVAL_SID + target);
+ break;
+
+ // some errors require retry due to singularity of the Universe
+ case WOT_COMMENTS.error_codes.AUTHENTICATION_FAILED:
+ case WOT_COMMENTS.error_codes.AUTHENTICATION_REP_SERVER_ERROR:
+ case WOT_COMMENTS.error_codes.COMMENT_REMOVAL_FAILED:
+ wot_cache.update_comment(target, { status: WOT_QUERY_ERROR, error_code: error_code });
+ _this.retry("remove", [ target ]);
+ break;
+
+ default:
+ wot_cache.update_comment(target, { status: WOT_QUERY_ERROR, error_code: error_code });
+ wot_prefs.clear(_this.PENDING_REMOVAL_SID + target);
+ }
+
+ wot_rw.update_ratingwindow_comment(); // to update status "the website is commented by the user"
+ }
+};
\ No newline at end of file
diff --git a/chrome/wot.jar!/content/cache.js b/chrome/wot.jar!/content/cache.js
index bb57e90..8ea1d4c 100644
--- a/chrome/wot.jar!/content/cache.js
+++ b/chrome/wot.jar!/content/cache.js
@@ -1,6 +1,6 @@
/*
cache.js
- Copyright © 2005-2011 WOT Services Oy <info at mywot.com>
+ Copyright © 2005 - 2013 WOT Services Oy <info at mywot.com>
This file is part of WOT.
@@ -29,7 +29,7 @@ var wot_hashtable =
this.bag = Components.classes["@mozilla.org/hash-property-bag;1"].
getService(Components.interfaces.nsIWritablePropertyBag);
} catch (e) {
- dump("wot_hashtable.init: failed with: " + e + "\n");
+ wdump("wot_hashtable.init: failed with: " + e);
}
},
@@ -169,7 +169,8 @@ var wot_cache =
return;
}
- wot_hashtable.set(pn, value);
+// wdump(name + ", " + property + ", " + value);
+ wot_hashtable.set(pn, value);
},
remove: function(name, property)
@@ -254,20 +255,25 @@ var wot_cache =
this.set(name, "inprogress", false);
this.set(name, "status", WOT_QUERY_RETRY);
this.set(name, "time", Date.now());
+ this.set(name, "normalized", "");
+ this.set(name, "cats", "");
+ this.set(name, "blacklists", "");
+ this.set(name, "votes", "");
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- this.set(name, "reputation_" + i, -1);
- this.set(name, "confidence_" + i, -1);
+ for (var i = 0, a = 0; a < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ this.set(name, "reputation_" + a, -1);
+ this.set(name, "confidence_" + a, -1);
if (!pending) {
- this.set(name, "testimony_" + i, -1);
+ this.set(name, "testimony_" + a, -1);
}
- this.set(name, "inherited_" + i, 0);
- this.set(name, "lowered_" + i, 0);
+ this.set(name, "inherited_" + a, 0);
+ this.set(name, "lowered_" + a, 0);
}
} catch (e) {
- dump("wot_cache.create: failed with " + e + "\n");
+ wdump("wot_cache.create: failed with " + e);
}
},
@@ -284,24 +290,61 @@ var wot_cache =
this.remove(name, "inprogress");
this.remove(name, "status");
this.remove(name, "time");
-
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- this.remove(name, "reputation_" + i);
- this.remove(name, "confidence_" + i);
- this.remove(name, "testimony_" + i);
- this.remove(name, "inherited_" + i);
- this.remove(name, "lowered_" + i);
+ this.remove(name, "normalized");
+ this.remove(name, "cats");
+ this.remove(name, "blacklists");
+ this.remove(name, "votes");
+
+ for (var i = 0, a = 0; i < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ this.remove(name, "reputation_" + a);
+ this.remove(name, "confidence_" + a);
+ this.remove(name, "testimony_" + a);
+ this.remove(name, "inherited_" + a);
+ this.remove(name, "lowered_" + a);
}
} catch (e) {
- dump("wot_cache.destroy: failed with " + e + "\n");
+ wdump("wot_cache.destroy: failed with " + e);
}
},
+ set_captcha: function (captcha_required) {
+ wot_hashtable.set("captcha_required", !!captcha_required);
+ },
+
+ get_captcha: function () {
+ return !!wot_hashtable.get("captcha_required");
+ },
+
+ get_comment: function (name) {
+ var json_data = this.get(name, "comment"),
+ data = {};
+ if (json_data) {
+ data = JSON.parse(json_data);
+ }
+ return data;
+ },
+
+ set_comment: function (name, comment_data) {
+ this.set(name, "comment", JSON.stringify(comment_data));
+ },
+
+ update_comment: function (name, data) {
+ var comment_data = this.get_comment(name);
+ for (var key in data) {
+ comment_data[key] = data[key];
+ }
+ this.set_comment(name, comment_data);
+ },
+
+ remove_comment: function (name) {
+ this.remove(name, "comment");
+ },
+
add_target: function(nonce, target, islink)
{
try {
- var index = target.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_TARGET_INDEX);
+ var index = target.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_TARGET_INDEX);
if (index && index.value != null) {
nonce += "-" + index.value;
@@ -310,7 +353,7 @@ var wot_cache =
var name = this.resolve_nonce(nonce);
if (!name) {
- dump("wot_cache.add_target: unknown nonce: " + nonce + "\n");
+ wdump("wot_cache.add_target: unknown nonce: " + nonce);
return;
}
@@ -320,13 +363,23 @@ var wot_cache =
this.create(name);
}
+ var normalized_attr = target.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_TARGET_NORMAL),
+ normalized = null;
+
+ if (normalized_attr && normalized_attr.value != null) {
+ normalized = wot_crypto.decrypt(normalized_attr.value, nonce, -1); // index = 0 since nonce already has it
+ if (!/^[\x00-\xFF]*$/.test(normalized)) {
+ normalized = null;
+ }
+ }
+
+ this.set(name, "normalized", normalized);
+
var child = target.firstChild;
- var a, r, c, t, i, l, x;
if (islink) {
if (this.get(name, "status") == WOT_QUERY_OK) {
- dump("wot_cache.add_target: not overwriting on link for " +
- name + "\n");
+ wdump("wot_cache.add_target: not overwriting on link for " + name);
return;
}
this.set(name, "status", WOT_QUERY_LINK);
@@ -334,116 +387,194 @@ var wot_cache =
this.set(name, "status", WOT_QUERY_OK);
}
+ var blacklists = [], bl_object = {},
+ cats = {}, cat_object = {};
+
while (child) {
- if (child.localName == WOT_SERVICE_XML_QUERY_APPLICATION) {
- a = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_NAME);
- r = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_R);
- c = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_C);
- i = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_I);
- l = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_L);
- x = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_E);
- t = child.attributes.getNamedItem(
- WOT_SERVICE_XML_QUERY_APPLICATION_T);
-
- if (a && a.value) {
- if (r && r.value && c && c.value) {
- this.set(name, "reputation_" + a.value,
- Number(r.value));
- this.set(name, "confidence_" + a.value,
- Number(c.value));
- }
- if (i && i.value) {
- this.set(name, "inherited_" + a.value,
- Number(i.value));
- }
- if (l && l.value) {
- this.set(name, "lowered_" + a.value,
- Number(l.value));
- }
- if (x && x.value) {
- this.set(name, "excluded_" + a.value,
- Number(x.value));
- }
- if (t && t.value) {
- this.set(name, "testimony_" + a.value,
- Number(t.value));
- }
- } else {
- dump("wot_cache.add_target: application name missing\n");
- }
+ switch (child.localName) {
+ case WOT_SERVICE_XML_QUERY_APPLICATION:
+ this.add_application(name, child);
+ break;
+
+ case WOT_SERVICE_XML_QUERY_QUESTION:
+ // just skip it. Questions are processed later (out of the cycle)
+ break;
+
+ case WOT_SERVICE_XML_QUERY_CATEGORY:
+ cat_object = this.add_category(name, child);
+ cats[cat_object.name] = cat_object;
+ break;
+
+ case WOT_SERVICE_XML_QUERY_BLACKLIST:
+ bl_object = this.add_blacklist(name, child);
+ blacklists.push(bl_object);
+ break;
+
+ default:
+ // unknown node found inside TARGET tag
+ wdump("Unknown tag " + child.localName + " inside the TARGET");
}
+ child = child.nextSibling;
+ }
- // process Feedback Question
- this.add_question(name, child);
+ this.set(name, "cats", JSON.stringify(cats));
+ this.set(name, "blacklists", JSON.stringify(blacklists));
- child = child.nextSibling;
- }
- } catch (e) {
- dump("wot_cache.add_target: failed with " + e + "\n");
+ // process GFeedbackLoop Question
+ this.add_question(name, target.firstChild);
+
+ } catch (e) {
+ wdump("ERROR: wot_cache.add_target: failed with " + e);
}
},
+ add_application: function (hostname, app_node) {
+ try {
+ var a, r, c, t, i, l, x;
+ a = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_NAME);
+ r = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_R);
+ c = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_C);
+ i = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_I);
+ l = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_L);
+ x = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_E);
+ t = app_node.attributes.getNamedItem(WOT_SERVICE_XML_QUERY_APPLICATION_T);
+
+ if (a && a.value) {
+ if (r && r.value !== null && c && c.value !== null) {
+ this.set(hostname, "reputation_" + a.value, Number(r.value));
+ this.set(hostname, "confidence_" + a.value, Number(c.value));
+ }
+ if (i && i.value) {
+ this.set(hostname, "inherited_" + a.value, Number(i.value));
+ }
+ if (l && l.value) {
+ this.set(hostname, "lowered_" + a.value, Number(l.value));
+ }
+ if (x && x.value) {
+ this.set(hostname, "excluded_" + a.value, Number(x.value));
+ }
+ if (t && t.value) {
+ this.set(hostname, "testimony_" + a.value, Number(t.value));
+ }
+ }
+ } catch (e) {
+ wdump("ERROR: wot_cache.add_application: failed with " + e);
+ }
+
+ },
+
+ process_attributes: function (attrs_list, hostname, node) {
+
+ var obj = {};
+
+ for (var i = 0; i < attrs_list.length; i++) {
+ var attr = attrs_list[i],
+ attr_node = node.attributes.getNamedItem(attr),
+ val = null;
+ if (attr_node && attr_node.value !== null) {
+ if (isNaN(attr_node.value)) {
+ val = String(attr_node.value);
+ } else {
+ val = Number(attr_node.value);
+ }
+
+ obj[attr] = val;
+ }
+ }
+
+ return obj;
+ },
+
+ add_category: function (hostname, node) {
+ try {
+ var attrs_list = [
+ WOT_SERVICE_XML_QUERY_CATEGORY_NAME,
+ WOT_SERVICE_XML_QUERY_CATEGORY_GROUP,
+ WOT_SERVICE_XML_QUERY_CATEGORY_C,
+ WOT_SERVICE_XML_QUERY_CATEGORY_I,
+ WOT_SERVICE_XML_QUERY_CATEGORY_VOTE
+ ];
+
+ var cat = this.process_attributes(attrs_list, hostname, node);
+ // small hack to comply with Chrome's add-on codebase
+ cat.v = cat.vote;
+ delete cat.vote;
+ cat.id = cat.name;
+ return cat;
+
+ } catch (e) {
+ wdump("ERROR: wot_cache.add_category: failed with " + e);
+ return {};
+ }
+ },
+
+ add_blacklist: function (hostname, node) {
+ try {
+ var attrs_list = [
+ WOT_SERVICE_XML_QUERY_BLACKLIST_TYPE,
+ WOT_SERVICE_XML_QUERY_BLACKLIST_TIME
+ ];
+
+ return this.process_attributes(attrs_list, hostname, node);
+
+ } catch (e) {
+ wdump("ERROR: wot_cache.add_category: failed with " + e);
+ return {};
+ }
+ },
+
add_question: function (hostname, target_node)
{
- if (target_node.localName == WOT_SERVICE_XML_QUERY_QUESTION) {
-
- try {
- var doc = target_node.ownerDocument;
- var id_node = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_QUESTION_ID).item(0),
- text_node = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_QUESTION_TEXT).item(0),
- dismiss_node = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_DISMISS_TEXT).item(0),
- choices_nodes = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_CHOICE_TEXT);
-
- if (id_node && id_node.firstChild && text_node && text_node.firstChild) {
- var id = String(id_node.firstChild.nodeValue),
- text = String(text_node.firstChild.nodeValue),
- dismiss_text = "";
-
- if (dismiss_node && dismiss_node.firstChild) {
- dismiss_text = String(dismiss_node.firstChild.nodeValue);
- }
+ if (!target_node) return;
+ try {
+ var doc = target_node.ownerDocument;
+ var id_node = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_QUESTION_ID).item(0),
+ text_node = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_QUESTION_TEXT).item(0),
+ dismiss_node = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_DISMISS_TEXT).item(0),
+ choices_nodes = doc.getElementsByTagName(WOT_SERVICE_XML_QUERY_CHOICE_TEXT);
+ if (id_node && id_node.firstChild && text_node && text_node.firstChild) {
+ var id = String(id_node.firstChild.nodeValue),
+ text = String(text_node.firstChild.nodeValue),
+ dismiss_text = "";
- if (id && text) {
+ if (dismiss_node && dismiss_node.firstChild) {
+ dismiss_text = String(dismiss_node.firstChild.nodeValue);
+ }
- var choice = choices_nodes.item(0),
- choices = [];
+ if (id && text) {
- while(choice) {
+ var choice = choices_nodes.item(0),
+ choices = [];
- var choice_text = choice.firstChild.nodeValue;
- var choice_value = choice.attributes.getNamedItem("value").value;
+ while(choice) {
- if (choice_text && choice_value) {
- choices.push({ value: choice_value, text: choice_text });
- }
+ var choice_text = choice.firstChild.nodeValue;
+ var choice_value = choice.attributes.getNamedItem("value").value;
- choice = choice.nextSibling;
- }
+ if (choice_text && choice_value) {
+ choices.push({ value: choice_value, text: choice_text });
+ }
- // now store question data to global WOT cache (if there are any choices)
- if (choices.length) {
- this.set(hostname, "question_id", id);
- this.set(hostname, "question_text", text);
- this.set(hostname, "dismiss_text", dismiss_text);
- this.set(hostname, "choices_number", Number(choices.length));
- for(var j=0; j < choices.length; j++) {
- this.set(hostname, "choice_value_" + String(j), choices[j]['value']);
- this.set(hostname, "choice_text_" + String(j), choices[j]['text']);
- }
- }
- }
- }
- } catch(e) {
- dump("Failed to extract Question data from XML\n");
- }
- }
+ choice = choice.nextSibling;
+ }
+
+ // now store question data to global WOT cache (if there are any choices)
+ if (choices.length) {
+ this.set(hostname, "question_id", id);
+ this.set(hostname, "question_text", text);
+ this.set(hostname, "dismiss_text", dismiss_text);
+ this.set(hostname, "choices_number", Number(choices.length));
+ for(var j=0; j < choices.length; j++) {
+ this.set(hostname, "choice_value_" + String(j), choices[j]['value']);
+ this.set(hostname, "choice_text_" + String(j), choices[j]['text']);
+ }
+ }
+ }
+ }
+ } catch(e) {
+ wdump("Failed to extract Question data from XML " + e);
+ }
},
add_query: function(queries, targets, islink)
diff --git a/chrome/wot.jar!/content/categories.js b/chrome/wot.jar!/content/categories.js
new file mode 100644
index 0000000..1344cce
--- /dev/null
+++ b/chrome/wot.jar!/content/categories.js
@@ -0,0 +1,299 @@
+/*
+ categories.js
+ Copyright © 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_categories = {
+
+ PREF_CATEGORY: "category",
+ PREF_GROUPINGS: "groupings",
+ CATEGORY_THRESHOLD: 3, // confidence level to show a category as identified
+ inited: false,
+ loading: false,
+ categories: {},
+ grouping: [], // Groupings for building category selector in Rating Window. Loaded from API server/update.xml.
+ cgroups: {}, // Categories' groups and their mapping to colors and TR/CS.
+
+ load_delayed: function () {
+ if (this.inited) return;
+
+ this.init_categories();
+ this.pbi = wot_prefs.pref.QueryInterface(Components.interfaces.nsIPrefBranch2);
+ this.pbi.addObserver(WOT_PREF + this.PREF_CATEGORY, this, false);
+ this.inited = true;
+ },
+
+ unload: function () {
+ try {
+ if (this.pbi) {
+ this.pbi.removeObserver(WOT_PREF + this.PREF_CATEGORY, this);
+ this.pbi = null;
+ }
+ } catch (e) {
+ wdump("wot_categories.unload: failed with " + e);
+ }
+ },
+
+ observe: function (subject, topic, state) {
+ // see load_delayed(). This function is used as a listener to
+ try {
+ if (!this.loading && topic == "nsPref:changed") {
+ this.init_categories();
+ }
+ } catch (e) {
+ wdump("wot_search.observe: failed with " + e);
+ }
+ },
+
+ parse: function (categories_node) {
+// wdump("INFO: parse() categories");
+ // process xml dom here and store to prefs
+ this.loading = true;
+ var i, j, gs_obj, cat_obj, res_grouping = [];
+
+ var groupings = categories_node.getElementsByTagName("grouping");
+ wot_prefs.deleteBranch(this.PREF_GROUPINGS + ".");
+ if (groupings) {
+ for (j = 0; j < groupings.length; j++) {
+ gs_obj = wot_util.copy_attrs(groupings[j]);
+
+ // convert some attrs to numbers
+ gs_obj.tmax = gs_obj.tmax !== null ? parseInt(gs_obj.tmax) : null;
+ gs_obj.tmin = gs_obj.tmin !== null ? parseInt(gs_obj.tmin) : null;
+
+ var groups_node = groupings[j].getElementsByTagName("group");
+ if (groups_node) {
+
+ gs_obj.groups = [];
+
+ for (i = 0; i < groups_node.length; i++) {
+ var grp_obj = wot_util.copy_attrs(groups_node[i]);
+ this.cgroups[grp_obj.name] = { type: grp_obj.type };
+ gs_obj.groups.push(grp_obj);
+ }
+ }
+
+ res_grouping.push(gs_obj);
+ }
+ wot_prefs.setChar(this.PREF_GROUPINGS + ".all", JSON.stringify(res_grouping), true);
+ }
+
+ // remove all categories from prefs
+ wot_prefs.deleteBranch(this.PREF_CATEGORY + ".");
+
+ // Iterate through <category> tags
+ var categories = categories_node.getElementsByTagName("category");
+ for (i = 0; i < categories.length; i++) {
+ cat_obj = wot_util.copy_attrs(categories[i]);
+ if (isNaN(cat_obj.name) || cat_obj.text == null || cat_obj.text.length == 0) {
+ wdump("WARN: wot_categories.parse(): empty malformed category is found. Skipped.");
+ continue;
+ }
+
+ cat_obj.id = parseInt(cat_obj.name);
+ cat_obj.cs = (cat_obj.application == "4"); // set ChildSafety flag
+ cat_obj.type = this.cgroups[cat_obj.group].type; // set type of the category based on parent group
+
+// this.categories[cat_obj.id] = cat_obj;
+
+ wot_prefs.setChar(this.PREF_CATEGORY + "." + cat_obj.name, JSON.stringify(cat_obj), true); // using utf8
+ }
+
+ this.init_categories();
+
+ this.loading = false;
+ },
+
+ init_categories: function () {
+// wdump("INFO: init_categories()");
+ /* Reads categories info from local preferences */
+
+ try {
+ var branch = wot_prefs.ps.getBranch(WOT_PREF + this.PREF_CATEGORY + ".");
+ var children = branch.getChildList("", {});
+
+ this.categories = {}; // clear categories in memory
+
+ for (var i = 0; i < children.length; i++) {
+ try {
+ var cat_id = children[i];
+ var cat_json = wot_prefs.getChar(this.PREF_CATEGORY + "." + cat_id, "{}", true); // using utf8
+ var cat = JSON.parse(cat_json);
+ if (!wot_util.isEmpty(cat)) this.categories[cat_id] = cat;
+ } catch (e) {
+ wdump("ERROR: exception in wot_categories.init_categories()" + e);
+ wdump("ERROR: cat id:" + cat_id);
+ wdump("ERROR: problematic string: " + cat_json);
+ continue;
+ }
+ }
+
+ var groupings_json = wot_prefs.getChar(this.PREF_GROUPINGS + ".all", "{}", true); //using utf8
+ this.grouping = JSON.parse(groupings_json);
+
+ this.inited = true;
+
+ } catch (e) {
+ wdump("wot_search.init_categories(): failed with " + e);
+ }
+ },
+
+ get_category: function (cat_id) {
+ var cid = String(cat_id),
+ cat = {};
+ if (this.categories && this.categories[cid]) {
+ cat = this.categories[cid];
+ cat.id = cid;
+ }
+ return cat;
+ },
+
+ get_category_name: function (cat_id, is_short) {
+ var cat = this.get_category(cat_id);
+ var text = is_short ? cat.shorttext : cat.text;
+ return wot_util.htmlescape(text ? text : cat.text); // if no short name is known, return full name
+ },
+
+ get_category_css: function (cat_id) {
+ var type = wot_util.htmlescape(this.get_category(cat_id).type);
+ return type !== null ? "c-" + type : "";
+ },
+
+ target_categories: function (target) {
+ // return categories reported by API server (both identified and votes) taking them from cache.
+ // Result is an Object.
+
+ var cats_json = wot_cache.get(target, "cats"),
+ cats = (cats_json && cats_json.length > 0) ? JSON.parse(cats_json) : {};
+
+// wdump("target_categories:: " + JSON.stringify(cats));
+ return cats;
+ },
+
+ target_blacklists: function (target) {
+ // return categories reported by API server (both identified and votes) taking them from cache.
+ // Result is an Object.
+
+ var bl_json = wot_cache.get(target, "blacklists"),
+ bls = (bl_json && bl_json.length > 0) ? JSON.parse(bl_json) : [];
+
+// wdump("target_blacklists:: " + JSON.stringify(bls));
+ return bls;
+
+ },
+
+ cache_categories: function (target, categories) {
+
+ // remove unvoted and non-identified categories from cached cats
+ var new_cats = {};
+
+ for (var cid in categories) {
+ var cat = categories[cid];
+ if ((cat.v == 0 || cat.v === null) && !cat.c) {
+ continue; // skip unvoted and not-identified
+ }
+
+ // clean categories object from unnesessary data
+ // FIXME: this requires cloning of the object before doing removals
+// cat.description = undefined;
+// cat.viewdescription = undefined;
+// cat.text = undefined;
+// cat.shorttext = undefined;
+
+ // copy category to new list
+ new_cats[cid] = cat;
+ }
+
+ wot_cache.set(target, "cats", JSON.stringify(new_cats));
+ },
+
+ select_identified: function (target_cats) {
+ // Returns categories identified by community (unsorted!)
+ var res = {};
+ for (var i in target_cats) {
+ var cat = target_cats[i];
+ if (cat.c >= this.CATEGORY_THRESHOLD) res[i] = cat;
+ }
+
+// wdump("select_identified:: " + JSON.stringify(res));
+
+ return res;
+ },
+
+ rearrange_categories: function (cats_object) {
+ // sorts the categories given as object and return two arrays of category objects ordered by confidence
+ var sort_array = [],
+ cs_array = [];
+
+ if (cats_object) {
+
+ try {
+ // Make the array of objects (categories)
+ for (var key in cats_object) {
+ var cat = this.get_category(key);
+ cats_object[key].id = key;
+ cats_object[key].cs = cat.cs;
+ cats_object[key].group = cat.group;
+ sort_array.push(cats_object[key]);
+ }
+
+ // Sort the array
+ sort_array.sort(function(a, b) {
+ if (a.c != b.c) { // try to sort by confidence level
+ return a.c - b.c
+ } else { // otherwise try to sort by group id
+ if (a.group != b.group) {
+ return a.group - b.group;
+ } else {
+ return a.id > b.id;
+ }
+ }
+ });
+ sort_array.reverse();
+ } catch (e) {
+ wdump("ERROR: wot_categories.rearrange_categories(): Failed to rearrange categories / 1", e);
+ }
+
+ var alltogether = sort_array.slice(0);
+
+ try {
+ // filter out Child Safety cats to other array
+ for (var i=sort_array.length-1; i>=0; i--) {
+ if (sort_array[i].cs) {
+ cs_array.push(sort_array.splice(i, 1)[0]);
+ }
+ }
+ cs_array.reverse();
+ } catch (e) {
+ wdump("ERROR: wot_categories.rearrange_categories(): Failed to rearrange categories / 2", e);
+ }
+ }
+
+ var res = {
+ all: alltogether,
+ trustworthy: sort_array,
+ childsafety: cs_array
+ };
+
+// wdump("rearrange_categories:: " + JSON.stringify(res));
+
+ return res;
+ }
+};
+
+wot_modules.push({ name: "wot_categories", obj: wot_categories });
\ No newline at end of file
diff --git a/chrome/wot.jar!/content/commands.js b/chrome/wot.jar!/content/commands.js
index 26e794c..1d68018 100644
--- a/chrome/wot.jar!/content/commands.js
+++ b/chrome/wot.jar!/content/commands.js
@@ -117,35 +117,6 @@ var wot_commands =
document.getElementById("wot-" + what + "-refresh").
setAttribute("disabled", !wot_util.isenabled() || !cached);
- /* Quick testimonies */
- var quicks = [];
-
- for (var i = 0; i < 5; ++i) {
- quicks[i] = document.getElementById("wot-" + what +
- "-testify-" + (i + 1));
- }
-
- for (var i = 0; i < quicks.length; ++i) {
- quicks[i].setAttribute("disabled",
- !wot_prefs.enabled || !cached);
- quicks[i].setAttribute("checked", false);
- }
-
- if (wot_util.isenabled() && cached) {
- var t = wot_cache.get(wot_core.hostname, "testimony_0");
-
- if (t >= WOT_MIN_REPUTATION_5) {
- quicks[4].setAttribute("checked", true);
- } else if (t >= WOT_MIN_REPUTATION_4) {
- quicks[3].setAttribute("checked", true);
- } else if (t >= WOT_MIN_REPUTATION_3) {
- quicks[2].setAttribute("checked", true);
- } else if (t >= WOT_MIN_REPUTATION_2) {
- quicks[1].setAttribute("checked", true);
- } else if (t >= 0) {
- quicks[0].setAttribute("checked", true);
- }
- }
} catch (e) {
dump("wot_commands.update: failed with " + e + "\n");
}
@@ -158,7 +129,7 @@ var wot_commands =
wot_prefs.setBool("enabled", wot_prefs.enabled);
wot_core.update();
} catch (e) {
- dump("wot_commands.enabled: failed with " + e + "\n");
+ wdump("wot_commands.enabled: failed with " + e);
}
},
@@ -166,12 +137,11 @@ var wot_commands =
{
try {
if (wot_cache.iscached(wot_core.hostname)) {
- wot_cache.set(wot_core.hostname, "status",
- WOT_QUERY_RETRY);
+ wot_cache.set(wot_core.hostname, "status", WOT_QUERY_RETRY);
wot_core.update();
}
} catch (e) {
- dump("wot_commands.refresh: failed with " + e + "\n");
+ wdump("wot_commands.refresh: failed with " + e);
}
},
@@ -205,26 +175,11 @@ var wot_commands =
}
},
- quicktestify: function(value)
- {
- try {
- if (wot_cache.isok(wot_core.hostname)) {
- wot_cache.set(wot_core.hostname, "testimony_0",
- Number(value));
- wot_cache.set(wot_core.hostname, "pending", true);
- wot_core.pending[wot_core.hostname] = true;
- wot_core.update();
- }
- } catch (e) {
- dump("wot_commands.quicktestify: failed with " + e + "\n");
- }
- },
-
- openlinkscorecard: function(event)
+ open_scorecard_link: function()
{
+ // Opens scorecard in a new tab for the URL selected via context menu
try {
- wot_browser.openscorecard(wot_commands.getcontexthostname(),
- null, WOT_URL_CTX);
+ wot_browser.openscorecard(wot_commands.getcontexthostname(), null, WOT_URL_CTX);
} catch (e) {
}
}
@@ -234,106 +189,6 @@ wot_modules.push({ name: "wot_commands", obj: wot_commands });
var wot_events =
{
- testimonydown: -1,
-
- get_slider_pos: function(event, testimony)
- {
- var pos = -1;
- try {
- var slider = document.getElementById("wot-rating-" +
- testimony + "-slider");
- var sld_rule = wot_css.getstyle(WOT_STYLESHEET,
- ".wot-rating-slider");
-
- if (!slider || !sld_rule) {
- return pos;
- }
-
- /* Calculate testimony value */
- var sld_w = wot_css.getstyle_numeric(sld_rule, "width");
-
- pos = WOT_MAX_REPUTATION * (event.screenX -
- slider.boxObject.screenX) / sld_w;
-
- /* Limit to a valid range */
- if (pos > WOT_MAX_REPUTATION) {
- pos = WOT_MAX_REPUTATION;
- } else if (pos < 0) {
- pos = 0;
- }
-
- /* Round */
- pos = (pos / WOT_TESTIMONY_ROUND).toFixed() * WOT_TESTIMONY_ROUND;
- } catch (e) {
- dump("wot_events.get_slider_pos: failed with " + e + "\n");
- pos = -1;
- }
- return pos;
- },
-
- /* Handles testimony slider events and updates the new pending testimony to
- query cache */
- slider_down: function(event, testimony)
- {
- try {
- if (!wot_cache.isok(wot_core.hostname)) {
- return false;
- }
-
- this.testimonydown = testimony;
-
- var pos = this.get_slider_pos(event, testimony);
- if (pos < 0) {
- return false;
- }
-
- /* Insert into cache */
- if (wot_cache.get(wot_core.hostname, "testimony_" +
- testimony) != pos) {
- wot_cache.set(wot_core.hostname, "testimony_" +
- testimony, Number(pos));
- wot_cache.set(wot_core.hostname, "pending", true);
- wot_core.pending[wot_core.hostname] = true;
-
- /* Update testimony window */
- wot_ui.update_testimonies();
- }
-
- /* Any pending testimonies will be stored in wot_core.update,
- which is called when the popup window is closed */
- return true;
- } catch (e) {
- dump("wot_events.slider: failed with " + e + "\n");
- }
- return false;
- },
-
- slider_up: function(event, testimony)
- {
- this.testimonydown = -1;
- return true;
- },
-
- slider_move: function(event, testimony)
- {
- /* Apparently, there is no way to detect if the mouse button is
- down besides counting clicks. This means that if the mouse
- button is released while outside the window, we won't be able
- to detect it and the slider keeps moving... */
- if (this.testimonydown == testimony) {
- this.slider_down(event, testimony);
- } else {
- this.testimonydown = -1;
- if (wot_cache.isok(wot_core.hostname)) {
- var pos = this.get_slider_pos(event, testimony);
- if (pos >= 0) {
- wot_ui.update_testimonies(testimony, pos);
- }
- }
- }
- return true;
- },
-
click_button: function(event)
{
try {
@@ -344,162 +199,5 @@ var wot_events =
} catch (e) {
dump("wot_events.click_button: failed with " + e + "\n");
}
- },
-
- /* Hides the popup window */
- popup_hide: function()
- {
- try {
- var popup = document.getElementById("wot-popup");
- if (popup) {
- popup.hidePopup();
- }
- } catch (e) {
- dump("wot_events.popup_hide: failed with " + e + "\n");
- }
- return false;
- },
-
- /* Called when the popup window is hidden */
- hide_popup: function()
- {
- try {
- if (wot_api_query.message_id.length > 0 &&
- wot_api_query.message_id !=
- WOT_SERVICE_XML_QUERY_MSG_ID_MAINT) {
- wot_prefs.setChar("last_message", wot_api_query.message_id);
- }
-
- /* Stores any pending testimonies */
- wot_core.update();
- } catch (e) {
- dump("wot_events.hide_popup: failed with " + e + "\n");
- }
- },
-
- click_title: function(event) {
- try {
- if (!wot_prefs.enabled) {
- wot_commands.enabled();
- }
- } catch (e) {
- dump("wot_events.click_title: failed with " + e + "\n");
- }
- },
-
- click_help: function(event, i) {
- try {
- var link = document.getElementById("wot-rating-" + i + "-help-link");
- if (link && link.getAttribute("comment") == "true") {
- return this.click_scorecard(event, true);
- }
- } catch (e) {
- dump("wot_events.click_help: failed with " + e + "\n");
- }
- return false;
- },
-
- click_user: function(event, i)
- {
- try {
- var content = document.getElementById("wot-user-" + i + "-content");
-
- if (!content) {
- return false;
- }
-
- var browser = getBrowser();
- if (browser) {
- browser.selectedTab =
- browser.addTab(content.getAttribute("url"));
- this.popup_hide();
- }
- } catch (e) {
- dump("wot_events.click_user: failed with " + e + "\n");
- }
- return false;
- },
-
- click_scorecard: function(event, comment)
- {
- try {
- var action = null;
-
- if (comment) {
- action = WOT_SCORECARD_COMMENT;
- }
-
- if (wot_core.hostname &&
- wot_browser.openscorecard(wot_core.hostname,
- action, WOT_URL_RWVIEWSC)) {
- this.popup_hide();
- }
- } catch (e) {
- dump("wot_events.click_scorecard: failed with " + e + "\n");
- }
- return false;
- },
-
- click_logo: function(event)
- {
- try {
- var browser = getBrowser();
- var url = wot_url.getwoturl("", WOT_URL_RWLOGO);
-
- if (browser && url) {
- browser.selectedTab = browser.addTab(url);
- this.popup_hide();
- }
- } catch (e) {
- dump("wot_events.click_guide: failed with " + e + "\n");
- }
- return false;
- },
-
- click_guide: function(event)
- {
- try {
- var browser = getBrowser();
- if (browser) {
- var url = wot_url.getprefurl("guide", false, null, WOT_URL_RWGUIDE); // getprefurl() already considers context
- browser.selectedTab =
- browser.addTab(url);
- this.popup_hide();
- }
- } catch (e) {
- dump("wot_events.click_guide: failed with " + e + "\n");
- }
- return false;
- },
-
- click_prefs: function(event)
- {
- try {
- var browser = getBrowser();
- if (browser) {
- browser.selectedTab = browser.addTab(wot_url.getprefurl(null, null, null, WOT_URL_RWSETTINGS));
- this.popup_hide();
- }
- } catch (e) {
- dump("wot_events.click_prefs: failed with " + e + "\n");
- }
- return false;
- },
-
- click_message: function(event)
- {
- try {
- if (/^\w+:\/\/.+/.test(wot_api_query.message_url)) {
- var browser = getBrowser();
- if (browser) {
- browser.selectedTab =
- browser.addTab(wot_api_query.message_url);
- this.popup_hide();
- }
- }
- } catch (e) {
- dump("wot_events.click_message: failed with " + e + "\n");
- }
- return false;
}
};
diff --git a/chrome/wot.jar!/content/config.js b/chrome/wot.jar!/content/config.js
index 58a9f70..cc8d4e8 100644
--- a/chrome/wot.jar!/content/config.js
+++ b/chrome/wot.jar!/content/config.js
@@ -19,7 +19,7 @@
*/
const WOT_PLATFORM = "firefox";
-const WOT_VERSION = "20130515";
+const WOT_VERSION = "20130917";
/*
* Constants
@@ -34,6 +34,16 @@ const WOT_MIN_REPUTATION_4 = 60;
const WOT_MIN_REPUTATION_3 = 40;
const WOT_MIN_REPUTATION_2 = 20;
+const WOT_REPUTATIONLEVELS = [
+ { level: "x", name: "rx", min: -2 },
+ { level: "0", name: "r0", min: -1 },
+ { level: "1", name: "r1", min: 0 },
+ { level: "2", name: "r2", min: WOT_MIN_REPUTATION_2 },
+ { level: "3", name: "r3", min: WOT_MIN_REPUTATION_3 },
+ { level: "4", name: "r4", min: WOT_MIN_REPUTATION_4 },
+ { level: "5", name: "r5", min: WOT_MIN_REPUTATION_5 }
+ ];
+
/* Confidence values */
const WOT_MAX_CONFIDENCE = 100;
const WOT_MIN_CONFIDENCE_5 = 45;
@@ -42,17 +52,35 @@ const WOT_MIN_CONFIDENCE_3 = 23;
const WOT_MIN_CONFIDENCE_2 = 12;
const WOT_MIN_CONFIDENCE_1 = 6;
-/* Testimony values and rounding */
-const WOT_TESTIMONY_QUICK_5 = WOT_MIN_REPUTATION_5;
-const WOT_TESTIMONY_QUICK_4 = WOT_MIN_REPUTATION_4;
-const WOT_TESTIMONY_QUICK_3 = WOT_MIN_REPUTATION_3;
-const WOT_TESTIMONY_QUICK_2 = WOT_MIN_REPUTATION_2;
-const WOT_TESTIMONY_QUICK_1 = 0;
-const WOT_TESTIMONY_ROUND = 1; /* Testimony steps */
-const WOT_MIN_COMMENT_DIFF = 35;
+const WOT_CONFIDENCELEVELS = [
+ { level: "x", name: "cx", min: -2 },
+ { level: "0", name: "c0", min: -1 },
+ { level: "1", name: "c1", min: WOT_MIN_CONFIDENCE_1 },
+ { level: "2", name: "c2", min: WOT_MIN_CONFIDENCE_2 },
+ { level: "3", name: "c3", min: WOT_MIN_CONFIDENCE_3 },
+ { level: "4", name: "c4", min: WOT_MIN_CONFIDENCE_4 },
+ { level: "5", name: "c5", min: WOT_MIN_CONFIDENCE_5 }
+ ];
+
+// reference: http://www.mywot.com/wiki/Activity_scores
+const WOT_ACTIVITYSCORE_LEVELS = [
+ { name: "rookie", min: 0 },
+ { name: "bronze", min: 1500 },
+ { name: "silver", min: 3000 },
+ { name: "gold", min: 6000 },
+ { name: "platinum", min: 10000 }
+ ];
+
+const WOT_AS_LEVELS = {
+ ROOKIE: 0,
+ BRONZE: 1500,
+ SILVER: 3000,
+ GOLD: 6000,
+ PLATINUM: 10000
+ };
/* Applications */
-const WOT_APPLICATIONS = 6;
+const WOT_COMPONENTS = [0, 4];
/* Search */
const WOT_SAFESEARCH_OSD_URL = "https://search.mywot.com/osd/en-US.xml";
@@ -78,6 +106,7 @@ const WOT_SERVICE_XML_QUERY = "query";
const WOT_SERVICE_XML_QUERY_NONCE = "nonce";
const WOT_SERVICE_XML_QUERY_TARGET = "target";
const WOT_SERVICE_XML_QUERY_TARGET_INDEX = "index";
+const WOT_SERVICE_XML_QUERY_TARGET_NORMAL = "normalized";
const WOT_SERVICE_XML_QUERY_APPLICATION = "application";
const WOT_SERVICE_XML_QUERY_APPLICATION_NAME = "name";
const WOT_SERVICE_XML_QUERY_APPLICATION_R = "r";
@@ -86,6 +115,15 @@ const WOT_SERVICE_XML_QUERY_APPLICATION_I = "inherited";
const WOT_SERVICE_XML_QUERY_APPLICATION_L = "lowered";
const WOT_SERVICE_XML_QUERY_APPLICATION_E = "excluded";
const WOT_SERVICE_XML_QUERY_APPLICATION_T = "t";
+const WOT_SERVICE_XML_QUERY_CATEGORY = "category";
+const WOT_SERVICE_XML_QUERY_CATEGORY_NAME = "name";
+const WOT_SERVICE_XML_QUERY_CATEGORY_GROUP = "group";
+const WOT_SERVICE_XML_QUERY_CATEGORY_C = "c";
+const WOT_SERVICE_XML_QUERY_CATEGORY_I = "inherited";
+const WOT_SERVICE_XML_QUERY_CATEGORY_VOTE = "vote";
+const WOT_SERVICE_XML_QUERY_BLACKLIST = "bl";
+const WOT_SERVICE_XML_QUERY_BLACKLIST_TYPE = "type";
+const WOT_SERVICE_XML_QUERY_BLACKLIST_TIME = "time";
const WOT_SERVICE_XML_QUERY_QUESTION = "question";
const WOT_SERVICE_XML_QUERY_QUESTION_ID = "questionId";
const WOT_SERVICE_XML_QUERY_QUESTION_TEXT = "questionText";
@@ -104,15 +142,13 @@ 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_LABEL = "label";
-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_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_QUERY_STATUS_LEVEL = "level";
const WOT_SERVICE_XML_REGISTER = "register";
const WOT_SERVICE_XML_REGISTER_ID = "id";
const WOT_SERVICE_XML_REGISTER_KEY = "key";
@@ -127,6 +163,7 @@ const WOT_SERVICE_XML_UPDATE_SEARCH_NAME = "name";
const WOT_SERVICE_XML_UPDATE_SHARED = "shared";
const WOT_SERVICE_XML_UPDATE_SHARED_DOMAINS = "domains";
const WOT_SERVICE_XML_UPDATE_SHARED_LEVEL = "level";
+const WOT_SERVICE_XML_UPDATE_CATEGORIES = "categories";
/* My */
const WOT_MY_URL = "http://www.mywot.com/";
@@ -183,9 +220,11 @@ const WOT_BLOCK_BLOCKED = "chrome://wot/locale/blocked.html";
*/
const WOT_PREF_PATH = "settings/";
-const WOT_PREF_FORWARD_TAB_MATCH = 7;
-const WOT_PREF_FORWARD = /^http(s)?\:\/\/(www\.)?mywot\.com\/([^\/]{2}(-[^\/]+)?\/)?(settings|update)(\/([^\/]+))?\/?$/;
-const WOT_PREF_TRIGGER = /^http(s)?\:\/\/(www\.)?mywot\.com\/([^\/]{2}(-[^\/]+)?\/)?(settings|update)\/.+/;
+const WOT_PREF_FORWARD_TAB_MATCH = 8;
+const WOT_PREF_FORWARD_TAB_BASE = 1;
+const WOT_PREF_FORWARD = /^(http(s)?\:\/\/(.+\.)?mywot\.com)\/([^\/]{2}(-[^\/]+)?\/)?(settings)(\/([^\/]+))?\/?(\?.+)?$/;
+const WOT_PREF_TRIGGER = /^(http(s)?\:\/\/(.+\.)?mywot\.com)\/([^\/]{2}(-[^\/]+)?\/)?(settings)\/.+/;
+
const WOT_PREF = "weboftrust.";
@@ -205,8 +244,8 @@ const WOT_SEARCH_TYPE_APP0 = 2;
/* First run */
const WOT_FIRSTRUN_WELCOME = 1;
-const WOT_FIRSTRUN_CURRENT = 2;
-const WOT_UPDATE_PATH = "update/";
+const WOT_FIRSTRUN_CURRENT = 3;
+const WOT_UPDATE_PATH = "update";
/* Preferences and defaults */
@@ -219,14 +258,14 @@ const wot_prefs_bool = [
[ "my_cookies", true ],
[ "prefetch", false ],
[ "private_disable", false ],
+ [ "search_ignore_0", false ],
[ "search_ignore_4", true ],
[ "search_scripts", true ],
[ "show_application_0", true ],
- [ "show_application_1", true ],
- [ "show_application_2", true ],
+ [ "show_application_1", false ],
+ [ "show_application_2", false ],
[ "show_application_3", false ],
[ "show_application_4", true ],
- [ "show_application_5", false ],
[ "show_search_popup", true ],
[ "use_search_level", false ],
[ "ninja_donuts", false ],
@@ -235,9 +274,12 @@ const wot_prefs_bool = [
[ "warning_unknown_2", false ],
[ "warning_unknown_3", false ],
[ "warning_unknown_4", false ],
- [ "warning_unknown_5", false ],
[ "feedback_enabled", true ],
- [ "feedback_optedout", false ]
+ [ "feedback_optedout", false ],
+ [ "show_fulllist", false ],
+ [ "wt_rw_ok", false ],
+ [ "super_showtestimonies", false ], // show my rating on the search popup at bottom corners of the popup
+ [ "settingsui_parental", false ] // this is should not be considered by the add-on. Only to render prefs on the settings page
];
const wot_prefs_char = [
@@ -251,16 +293,22 @@ const wot_prefs_char = [
[ "partner", "" ],
[ "status_level", "" ],
[ "update_checked", "0" ],
- [ "warning_opacity", "" ],
+ [ "warning_opacity", "0.7" ],
[ "witness_id", "" ],
[ "witness_key", "" ],
- [ "feedback_lasttimeasked", "" ]
+ [ "feedback_lasttimeasked", "" ],
+ [ "wt_rw_shown_dt", "" ], // timestamp when RW WelcomeTip was shown last time
+ [ "settingsui_warnlevel", "normal" ], // this is should not be considered by the add-on. Only to render prefs on the settings page
+ [ "settingsui_searchlevel", "normal" ]
];
const wot_prefs_int = [
[ "min_confidence_level", WOT_DEFAULT_MIN_CONFIDENCE_LEVEL ],
[ "popup_hide_delay", 1000 ],
[ "popup_show_delay", 200 ],
+ [ "ratingwindow_shown", 0 ],
+ [ "activity_score", 0 ],
+ [ "wt_rw_shown", 0 ], // How many times RW WT was shown
[ "search_level", WOT_MIN_REPUTATION_4 ],
[ "search_type", WOT_SEARCH_TYPE_OPTIMIZED ],
[ "update_interval", WOT_INTERVAL_UPDATE_CHECK ],
@@ -269,13 +317,12 @@ const wot_prefs_int = [
[ "warning_level_2", WOT_DEFAULT_WARNING_LEVEL ],
[ "warning_level_3", WOT_DEFAULT_WARNING_LEVEL ],
[ "warning_level_4", 0 ],
- [ "warning_level_5", WOT_DEFAULT_WARNING_LEVEL ],
[ "warning_type_0", WOT_WARNING_DOM ],
[ "warning_type_1", WOT_WARNING_DOM ],
[ "warning_type_2", WOT_WARNING_DOM ],
[ "warning_type_3", WOT_WARNING_NONE ],
[ "warning_type_4", WOT_WARNING_NONE ],
- [ "warning_type_5", WOT_WARNING_NONE ]
+ [ "settingsui_warntype", WOT_WARNING_DOM ] // just for UI, other value is WOT_WARNING_BLOCK
];
/* Search rules */
@@ -322,4 +369,42 @@ const WOT_URL_MENUMY = "menu-my";
const WOT_URL_BTN = "button";
const WOT_URL_CTX = "contextmenu";
+const WOT_COMMENTS = {
+ error_codes: {
+ "0": "SUCCESS",
+ "1": "NO_ACTION_DEFINED",
+ "2": "IS_BANNED",
+ "3": "AUTHENTICATION_FAILED",
+ "4": "NO_TARGET",
+ "5": "COMMENT_NOT_FOUND",
+ "6": "COMMENT_REMOVAL_FAILED",
+ "7": "COMMENT_NOT_ALLOWED",
+ "8": "NO_COMMENTID",
+ "9": "NO_CATEGORIES_SPECIFIED",
+ "10": "NO_COMMENT_SPECIFIED",
+ "11": "AUTHENTICATION_INVALID_QUERY_PARAMETERS",
+ "12": "AUTHENTICATION_REP_SERVER_ERROR",
+ "13": "NO_QUERY_SPECIFIED",
+ "14": "QUERY_STRING_MISSING",
+ "15": "COMMENT_HAS_BEEN_ALTERED",
+ "16": "COMMENT_TOO_SHORT",
+ "17": "COMMENT_TOO_LONG",
+ "18": "COMMENT_SAVE_FAILED",
+ SUCCESS: 0,
+ NO_ACTION_DEFINED: 1,
+ IS_BANNED: 2,
+ AUTHENTICATION_FAILED: 3,
+ COMMENT_NOT_FOUND: 5,
+ COMMENT_REMOVAL_FAILED: 6,
+ COMMENT_NOT_ALLOWED: 7,
+ AUTHENTICATION_REP_SERVER_ERROR: 12,
+ COMMENT_SAVE_FAILED: 18
+ }
+};
+
var wot_modules = [];
+
+// This function should be moved to other place
+function wdump (str) {
+ dump(str + "\n");
+}
\ No newline at end of file
diff --git a/chrome/wot.jar!/content/core.js b/chrome/wot.jar!/content/core.js
index e183677..77c5f40 100644
--- a/chrome/wot.jar!/content/core.js
+++ b/chrome/wot.jar!/content/core.js
@@ -352,13 +352,14 @@ var wot_core =
var blocked = "target=" + encodeURIComponent(hostname);
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- if (!wot_prefs["show_application_" + i]) {
+ for (var i = 0, a = 0; i < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ if (!wot_prefs["show_application_" + a]) {
continue;
}
var param = "";
- var reason = wot_warning.getwarningtype(hostname, i, true);
+ var reason = wot_warning.getwarningtype(hostname, a, true);
if (reason == WOT_REASON_TESTIMONY) {
param += "y";
@@ -366,29 +367,18 @@ var wot_core =
param += "r";
}
- var r = wot_cache.get(hostname, "reputation_" + i);
-
- if (wot_cache.get(hostname, "excluded_" + i)) {
- param += "x";
- } else if (r >= WOT_MIN_REPUTATION_5) {
- param += "5";
- } else if (r >= WOT_MIN_REPUTATION_4) {
- param += "4";
- } else if (r >= WOT_MIN_REPUTATION_3) {
- param += "3";
- } else if (r >= WOT_MIN_REPUTATION_2) {
- param += "2";
- } else if (r >= 0) {
- param += "1";
- } else {
- param += "0";
- }
+ var r = wot_cache.get(hostname, "reputation_" + a),
+ x = wot_cache.get(hostname, "excluded_" + a);
+
+ r = x ? -2 : r; // if excluded, then set level to -2
+
+ param += wot_util.get_level(WOT_REPUTATIONLEVELS, r).level;
if (wot_prefs.accessible) {
param += "a";
}
- blocked += "&" + i + "=" + param;
+ blocked += "&" + a + "=" + param;
}
blocked = "?" + encodeURIComponent(btoa(blocked)) + "#" +
@@ -564,7 +554,7 @@ var wot_core =
if (!wot_api_register.ready || !wot_core.loaded) {
wot_status.set("notready",
- wot_util.getstring("description_notready"));
+ wot_util.getstring("messages_notready"));
return;
}
@@ -589,7 +579,9 @@ var wot_core =
if (match) {
var section = match[WOT_PREF_FORWARD_TAB_MATCH];
- getBrowser().loadURIWithFlags(wot_url.getprefurl(section),
+ var base = (match[WOT_PREF_FORWARD_TAB_BASE] + "/settings/") || WOT_PREF_PATH;
+
+ getBrowser().loadURIWithFlags(wot_url.getprefurl(section, false, base),
Components.interfaces.nsIWebNavigation
.LOAD_FLAGS_BYPASS_HISTORY, null, null);
}
@@ -597,7 +589,7 @@ var wot_core =
if (!wot_util.isenabled()) {
wot_status.set("disabled",
- wot_util.getstring("description_disabled"));
+ wot_util.getstring("messages_disabled"));
return;
}
@@ -624,17 +616,22 @@ var wot_core =
if (wot_browser.isoffline()) {
/* Browser offline */
wot_status.set("offline",
- wot_util.getstring("description_offline"));
+ wot_util.getstring("message_offline"));
/* Retry after a timeout */
window.setTimeout(wot_core.update, WOT_INTERVAL_UPDATE_OFFLINE);
return;
}
- /* Submit any pending testimonies */
+ /* Submit any pending testimonies, comments and comments' removals */
wot_pending.submit();
+ wot_api_comments.processpending();
- /* Check for updates */
- wot_api_update.send(false);
+ /* Check for updates (force update if no categories are loaded yet) */
+ var forced_update = wot_util.isEmpty(wot_categories.categories) ||
+ !wot_categories.grouping ||
+ wot_categories.grouping.length == 0;
+
+ wot_api_update.send(forced_update);
if (!wot_core.hostname || wot_url.isprivate(wot_core.hostname) ||
wot_url.isexcluded(wot_core.hostname)) {
@@ -644,14 +641,14 @@ var wot_core =
wot_cache.destroy(wot_core.hostname);
}
wot_status.set("nohost",
- wot_util.getstring("description_private"));
+ wot_util.getstring("messages_notavailable"));
return;
}
if (!wot_cache.iscached(wot_core.hostname)) {
/* No previous record of the hostname, start a new query */
wot_status.set("inprogress",
- wot_util.getstring("description_inprogress"));
+ wot_util.getstring("messages_loading"));
wot_api_query.send(wot_core.hostname);
return;
}
@@ -665,7 +662,7 @@ var wot_core =
} else {
/* Query already in progress, keep waiting */
wot_status.set("inprogress",
- wot_util.getstring("description_inprogress"));
+ wot_util.getstring("messages_loading"));
return;
}
}
@@ -675,7 +672,7 @@ var wot_core =
if (status == WOT_QUERY_OK) {
if (age > WOT_INTERVAL_CACHE_REFRESH) {
wot_status.set("inprogress",
- wot_util.getstring("description_inprogress"));
+ wot_util.getstring("messages_loading"));
wot_api_query.send(wot_core.hostname);
} else {
wot_status.update();
@@ -685,12 +682,12 @@ var wot_core =
if (status == WOT_QUERY_RETRY || status == WOT_QUERY_LINK) {
/* Retry immediately */
wot_status.set("inprogress",
- wot_util.getstring("description_inprogress"));
+ wot_util.getstring("messages_loading"));
wot_api_query.send(wot_core.hostname);
return;
} else if (age > WOT_INTERVAL_CACHE_REFRESH_ERROR) {
wot_status.set("inprogress",
- wot_util.getstring("description_inprogress"));
+ wot_util.getstring("messages_loading"));
wot_api_query.send(wot_core.hostname);
return;
}
@@ -702,7 +699,7 @@ var wot_core =
try {
/* For some reason, we failed to get anything meaningful to display */
wot_status.set("error",
- wot_util.getstring("description_error_query"));
+ wot_util.getstring("messages_failed"));
} catch (e) {
dump("wot_core.update: failed with " + e + "\n");
}
@@ -712,24 +709,6 @@ var wot_core =
return this.force_https ? WOT_SERVICE_SECURE : WOT_SERVICE_NORMAL;
},
- 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";
- }
- },
-
clean_search_rules: function () {
// removes search rules from preferences
wot_prefs.deleteBranch(WOT_SEARCH);
diff --git a/chrome/wot.jar!/content/firstrun.js b/chrome/wot.jar!/content/firstrun.js
index e28c4de..8206999 100644
--- a/chrome/wot.jar!/content/firstrun.js
+++ b/chrome/wot.jar!/content/firstrun.js
@@ -73,8 +73,10 @@ var wot_firstrun =
wot_prefs.setChar("firstrun_time", past_date);
}
- this.opentab(WOT_FIRSTRUN_CURRENT,
- wot_url.getprefurl(partner, false, WOT_UPDATE_PATH));
+ var update_url = [ WOT_MY_URL.replace(/^(.+)\/$/,"$1"), WOT_UPDATE_PATH,
+ wot_util.getstring("lang"), WOT_PLATFORM, WOT_VERSION ].join("/");
+ this.opentab(WOT_FIRSTRUN_CURRENT, update_url);
+
} else {
// the add-on is launched first time
// remember the date/time of the first launch
diff --git a/chrome/wot.jar!/content/injections/ga_configure.js b/chrome/wot.jar!/content/injections/ga_configure.js
index 237a53b..80c5313 100644
--- a/chrome/wot.jar!/content/injections/ga_configure.js
+++ b/chrome/wot.jar!/content/injections/ga_configure.js
@@ -1,6 +1,6 @@
/*
ga_configure.js
- Copyright © 2009 - 2012 WOT Services Oy <info at mywot.com>
+ Copyright © 2012 - 2013 WOT Services Oy <info at mywot.com>
This file is part of WOT.
@@ -24,17 +24,16 @@
var _gaq = _gaq || [];
_gaq.push(['_setAccount', wot.ga_id]);
-_gaq.push(['_trackPageview']);
-
// provide version number to GA
_gaq.push(['_setCustomVar', 1, 'Version', String(wot.version), 2]); // scope = 2 (session level)
-
+_gaq.push(['_setReferrerOverride', '']); // clear the referrer in GA cookie. Issue #75 on GH.
+_gaq.push(['_trackPageview']);
/* This adds logic for counting events to wot object */
$.extend(wot, { ga: {
- disable: false, // general switcher to stop counting stats
+ disable: true, // general switcher to stop counting stats (Disabled For Firefox add-on)
_tracker: null,
categories: {
@@ -60,20 +59,27 @@ $.extend(wot, { ga: {
GEN_LAUNCHED: "WOT_launched",
WT_INTRO_0_SHOWN: "WT_Intro0_shown",
+ WT_INTRO_0_LEARN: "WT_Intro0_learnmore",
WT_INTRO_0_OK: "WT_Intro0_ok",
WT_WS_SHOWN: "WT_WS_shown",
WT_WS_OK: "WT_WS_ok",
WT_WS_OPTEDOUT: "WT_WS_optedout",
+ WT_WS_LEARN: "WT_WS_learnmore",
WT_RW_SHOWN: "WT_RW_shown",
WT_RW_OK: "WT_RW_ok",
+ WT_RW_LEARN: "WT_RW_learnmore",
WT_DONUTS_SHOWN:"WT_Donuts_shown",
WT_DONUTS_OK: "WT_Donuts_ok",
+ WT_DONUTS_LEARN:"WT_Donuts_learnmore",
FBL_shown: "FBL_shown",
FBL_submit: "FBL_submit",
FBL_closed: "FBL_closed",
+ FBL_dismiss: "FBL_dismiss",
FBL_optout_shown:"FBL_optout_shown",
+ FBL_optout_shown_smb: "FBL_optout_shown:smb", // used for additional stats purposes: tells submittions number
FBL_optout_yes: "FBL_optout_yes",
+ FBL_optout_yes_smb: "FBL_optout_yes:smb", // used for additional stats purposes: tells submittions number
FBL_optout_no: "FBL_optout_no",
FBL_whatisthis: "FBL_whatisthis",
FBL_bottom_close:"FBL_bottom_close",
@@ -98,21 +104,58 @@ $.extend(wot, { ga: {
return !!wot.ga._tracker;
},
- fire_event: function (category, action, label, value) {
+ fire_event: function (category, action, label) {
if (wot.ga.disable) return;
try {
if (wot.ga.init_tracker()) {
- wot.ga._tracker._trackEvent(category, action, label, value);
+ wot.ga._tracker._trackEvent(category, action, label);
} else {
// backup option, if AsyncTracker still isn't inited
- _gaq.push(['_trackEvent', category, action, label, value]);
+ _gaq.push(['_trackEvent', category, action, label]);
}
} catch (e) {
// silence...
//console.log("Error in wot.ga.fire_event(). Msg: ", e);
}
+ },
+
+ post_init: function() {
+ // Finalize setting up GA environment after wot.core is initialized fully
+
+ /* CustomVars slots:
+ * 1. version
+ * 2. partner = "undefined" | mailru
+ * 3. registered = yes | no ; since 24.05.2013
+ * 4. experiments
+ * 5. FBL_QID (page level). Was accessible = acc | normal until 28.03.2013
+ * */
+
+ // let's measure how many "accessible" users do we have on Chrome
+// var accessible = wot.env.is_accessible ? "acc" : "normal",
+ var partner = wot.prefs.get("partner") || "undefined"; // set partner
+
+ var is_registered = wot.core.is_level("registered") ? "yes" : "no";
+
+ _gaq.push(['_setCustomVar', 2, 'partner', partner, 2]); // scope = 2 (session level)
+ _gaq.push(['_setCustomVar', 3, 'registered', is_registered, 2]); // scope = 2 (session level)
+
+ wot.ga.set_experiments();
+ },
+
+ set_experiments: function () {
+ // sets up custom variable with Experiments
+ if (wot.exp) {
+ var exps = wot.exp.exps_running_ga();
+ if (exps && exps.length) {
+ _gaq.push(['_setCustomVar', 4, 'Experiments', exps, 1]); // scope = 1 (visitor level)
+ }
+ }
+ },
+
+ set_fbl_question: function (question_id) {
+ _gaq.push(['_setCustomVar', 5, 'FBL_QID', String(question_id), 3]); // scope = 3 (page level)
}
}});
diff --git a/chrome/wot.jar!/content/injections/wot_proxy.js b/chrome/wot.jar!/content/injections/wot_proxy.js
index f208000..de092ee 100644
--- a/chrome/wot.jar!/content/injections/wot_proxy.js
+++ b/chrome/wot.jar!/content/injections/wot_proxy.js
@@ -24,7 +24,7 @@
* */
var wot = {
- version: "20130515", // TODO: init this value from the add-on core code
+ version: "20130917", // TODO: init this value from the add-on core code
platform: "firefox",
debug: false, // when changing this, don't forget to switch ga_id value also!
default_component: 0,
diff --git a/chrome/wot.jar!/content/injections/jquery-ui-1.9.2.custom.js b/chrome/wot.jar!/content/libs/jquery-ui-1.9.2.custom.js
similarity index 100%
rename from chrome/wot.jar!/content/injections/jquery-ui-1.9.2.custom.js
rename to chrome/wot.jar!/content/libs/jquery-ui-1.9.2.custom.js
diff --git a/chrome/wot.jar!/content/injections/jquery.js b/chrome/wot.jar!/content/libs/jquery.js
similarity index 100%
rename from chrome/wot.jar!/content/injections/jquery.js
rename to chrome/wot.jar!/content/libs/jquery.js
diff --git a/chrome/wot.jar!/content/libs/jquery.menu-aim.js b/chrome/wot.jar!/content/libs/jquery.menu-aim.js
new file mode 100755
index 0000000..995365b
--- /dev/null
+++ b/chrome/wot.jar!/content/libs/jquery.menu-aim.js
@@ -0,0 +1,331 @@
+/**
+ * menu-aim is a jQuery plugin for dropdown menus that can differentiate
+ * between a user trying hover over a dropdown item vs trying to navigate into
+ * a submenu's contents.
+ *
+ * menu-aim assumes that you have are using a menu with submenus that expand
+ * to the menu's right. It will fire events when the user's mouse enters a new
+ * dropdown item *and* when that item is being intentionally hovered over.
+ *
+ * __________________________
+ * | Monkeys >| Gorilla |
+ * | Gorillas >| Content |
+ * | Chimps >| Here |
+ * |___________|____________|
+ *
+ * In the above example, "Gorillas" is selected and its submenu content is
+ * being shown on the right. Imagine that the user's cursor is hovering over
+ * "Gorillas." When they move their mouse into the "Gorilla Content" area, they
+ * may briefly hover over "Chimps." This shouldn't close the "Gorilla Content"
+ * area.
+ *
+ * This problem is normally solved using timeouts and delays. menu-aim tries to
+ * solve this by detecting the direction of the user's mouse movement. This can
+ * make for quicker transitions when navigating up and down the menu. The
+ * experience is hopefully similar to amazon.com/'s "Shop by Department"
+ * dropdown.
+ *
+ * Use like so:
+ *
+ * $("#menu").menuAim({
+ * activate: $.noop, // fired on row activation
+ * deactivate: $.noop // fired on row deactivation
+ * });
+ *
+ * ...to receive events when a menu's row has been purposefully (de)activated.
+ *
+ * The following options can be passed to menuAim. All functions execute with
+ * the relevant row's HTML element as the execution context ('this'):
+ *
+ * .menuAim({
+ * // Function to call when a row is purposefully activated. Use this
+ * // to show a submenu's content for the activated row.
+ * activate: function() {},
+ *
+ * // Function to call when a row is deactivated.
+ * deactivate: function() {},
+ *
+ * // Function to call when mouse enters a menu row. Entering a row
+ * // does not mean the row has been activated, as the user may be
+ * // mousing over to a submenu.
+ * enter: function() {},
+ *
+ * // Function to call when mouse exits a menu row.
+ * exit: function() {},
+ *
+ * // Selector for identifying which elements in the menu are rows
+ * // that can trigger the above events. Defaults to "> li".
+ * rowSelector: "> li",
+ *
+ * // You may have some menu rows that aren't submenus and therefore
+ * // shouldn't ever need to "activate." If so, filter submenu rows w/
+ * // this selector. Defaults to "*" (all elements).
+ * submenuSelector: "*",
+ *
+ * // Direction the submenu opens relative to the main menu. Can be
+ * // left, right, above, or below. Defaults to "right".
+ * submenuDirection: "right"
+ * });
+ *
+ * https://github.com/kamens/jQuery-menu-aim
+*/
+(function($) {
+
+ $.fn.menuAim = function(opts) {
+ // Initialize menu-aim for all elements in jQuery collection
+ this.each(function() {
+ init.call(this, opts);
+ });
+
+ return this;
+ };
+
+ function init(opts) {
+ var $menu = $(this),
+ activeRow = null,
+ mouseLocs = [],
+ lastDelayLoc = null,
+ timeoutId = null,
+ options = $.extend({
+ rowSelector: "> li",
+ submenuSelector: "*",
+ submenuDirection: "right",
+ active_selector: ".maintainHover",
+ tolerance: 75, // bigger = more forgivey when entering submenu
+ enter: $.noop,
+ exit: $.noop,
+ activate: $.noop,
+ deactivate: $.noop,
+ exitMenu: $.noop
+ }, opts);
+
+ var MOUSE_LOCS_TRACKED = 5, // number of past mouse locations to track
+ DELAY = 90, // ms delay when user appears to be entering submenu
+ ACTIVATE_DELAY = 5; // ms delay when user appears to hovering sections
+
+ /**
+ * Keep track of the last few locations of the mouse.
+ */
+ var mousemoveDocument = function(e) {
+ mouseLocs.push({x: e.pageX, y: e.pageY});
+
+ if (mouseLocs.length > MOUSE_LOCS_TRACKED) {
+ mouseLocs.shift();
+ }
+ };
+
+ /**
+ * Cancel possible row activations when leaving the menu entirely
+ */
+ var mouseleaveMenu = function() {
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ }
+
+ // If exitMenu is supplied and returns true, deactivate the
+ // currently active row on menu exit.
+ if (options.exitMenu(this)) {
+ if (activeRow) {
+ options.deactivate(activeRow);
+ }
+
+ activeRow = null;
+ }
+ };
+
+ /**
+ * Trigger a possible row activation whenever entering a new row.
+ */
+ var mouseenterRow = function() {
+ if (timeoutId) {
+ // Cancel any previous activation delays
+ clearTimeout(timeoutId);
+ }
+
+ options.enter(this);
+ possiblyActivate(this);
+ },
+ mouseleaveRow = function() {
+ options.exit(this);
+ };
+
+ var get_active = function() {
+ return $(options.active_selector, $menu).first();
+ };
+
+ /**
+ * Activate a menu row.
+ */
+ var activate = function(row) {
+ activeRow = get_active();
+ if (row == activeRow) {
+ return;
+ }
+
+ if (activeRow) {
+ options.deactivate(activeRow);
+ }
+
+ options.activate(row);
+// activeRow = row;
+ };
+
+ /**
+ * Possibly activate a menu row. If mouse movement indicates that we
+ * shouldn't activate yet because user may be trying to enter
+ * a submenu's content, then delay and check again later.
+ */
+ var possiblyActivate = function(row) {
+ var delay = activationDelay();
+
+ if (delay) {
+ timeoutId = setTimeout(function() {
+ possiblyActivate(row);
+ }, delay);
+ } else {
+ activate(row);
+ }
+ };
+
+ /**
+ * Return the amount of time that should be used as a delay before the
+ * currently hovered row is activated.
+ *
+ * Returns 0 if the activation should happen immediately. Otherwise,
+ * returns the number of milliseconds that should be delayed before
+ * checking again to see if the row should be activated.
+ */
+ var activationDelay = function() {
+
+ if (!activeRow) {
+ activeRow = get_active();
+ }
+
+ if (!activeRow || !$(activeRow).is(options.submenuSelector)) {
+ // If there is no other submenu row already active, then
+ // go ahead and activate immediately.
+ return 0;
+ }
+
+ var offset = $menu.offset(),
+ upperLeft = {
+ x: offset.left,
+ y: offset.top - options.tolerance
+ },
+ upperRight = {
+ x: offset.left + $menu.outerWidth(),
+ y: upperLeft.y
+ },
+ lowerLeft = {
+ x: offset.left,
+ y: offset.top + $menu.outerHeight() + options.tolerance
+ },
+ lowerRight = {
+ x: offset.left + $menu.outerWidth(),
+ y: lowerLeft.y
+ },
+ loc = mouseLocs[mouseLocs.length - 1],
+ prevLoc = mouseLocs[0];
+
+ if (!loc) {
+ return ACTIVATE_DELAY;
+ }
+
+ if (!prevLoc) {
+ prevLoc = loc;
+ }
+
+ if (prevLoc.x < offset.left || prevLoc.x > lowerRight.x ||
+ prevLoc.y < offset.top || prevLoc.y > lowerRight.y) {
+ // If the previous mouse location was outside of the entire
+ // menu's bounds, immediately activate.
+ return ACTIVATE_DELAY;
+ }
+
+ if (lastDelayLoc &&
+ loc.x == lastDelayLoc.x && loc.y == lastDelayLoc.y) {
+ // If the mouse hasn't moved since the last time we checked
+ // for activation status, immediately activate.
+ return 0;
+ }
+
+ // Detect if the user is moving towards the currently activated
+ // submenu.
+ //
+ // If the mouse is heading relatively clearly towards
+ // the submenu's content, we should wait and give the user more
+ // time before activating a new row. If the mouse is heading
+ // elsewhere, we can immediately activate a new row.
+ //
+ // We detect this by calculating the slope formed between the
+ // current mouse location and the upper/lower right points of
+ // the menu. We do the same for the previous mouse location.
+ // If the current mouse location's slopes are
+ // increasing/decreasing appropriately compared to the
+ // previous's, we know the user is moving toward the submenu.
+ //
+ // Note that since the y-axis increases as the cursor moves
+ // down the screen, we are looking for the slope between the
+ // cursor and the upper right corner to decrease over time, not
+ // increase (somewhat counterintuitively).
+ function slope(a, b) {
+ return (b.y - a.y) / (b.x - a.x);
+ }
+
+ var decreasingCorner = upperRight,
+ increasingCorner = lowerRight;
+
+ // Our expectations for decreasing or increasing slope values
+ // depends on which direction the submenu opens relative to the
+ // main menu. By default, if the menu opens on the right, we
+ // expect the slope between the cursor and the upper right
+ // corner to decrease over time, as explained above. If the
+ // submenu opens in a different direction, we change our slope
+ // expectations.
+ if (options.submenuDirection == "left") {
+ decreasingCorner = lowerLeft;
+ increasingCorner = upperLeft;
+ } else if (options.submenuDirection == "below") {
+ decreasingCorner = lowerRight;
+ increasingCorner = lowerLeft;
+ } else if (options.submenuDirection == "above") {
+ decreasingCorner = upperLeft;
+ increasingCorner = upperRight;
+ }
+
+ var decreasingSlope = slope(loc, decreasingCorner),
+ increasingSlope = slope(loc, increasingCorner),
+ prevDecreasingSlope = slope(prevLoc, decreasingCorner),
+ prevIncreasingSlope = slope(prevLoc, increasingCorner);
+
+ if (decreasingSlope < prevDecreasingSlope &&
+ increasingSlope > prevIncreasingSlope) {
+ // Mouse is moving from previous location towards the
+ // currently activated submenu. Delay before activating a
+ // new menu row, because user may be moving into submenu.
+ lastDelayLoc = loc;
+ return DELAY;
+ }
+ else if (decreasingSlope > prevDecreasingSlope && increasingSlope < prevIncreasingSlope) {
+ // if mouse goes away from submenu but still angled, apply delay.
+ lastDelayLoc = loc;
+ return DELAY;
+ }
+
+ lastDelayLoc = null;
+ return 0;
+ };
+
+ /**
+ * Hook up initial menu events
+ */
+ $menu
+ .mouseleave(mouseleaveMenu)
+ .find(options.rowSelector)
+ .mouseenter(mouseenterRow)
+ .mouseleave(mouseleaveRow);
+ $(document).mousemove(mousemoveDocument);
+
+ }
+})(jQuery);
+
diff --git a/chrome/wot.jar!/content/my.js b/chrome/wot.jar!/content/my.js
index c015b73..07c8564 100644
--- a/chrome/wot.jar!/content/my.js
+++ b/chrome/wot.jar!/content/my.js
@@ -23,18 +23,18 @@ var wot_my_session =
domcontentloaded: function(e)
{
try {
+ try { // Workaround to resolve "TypeError: can't access dead object" at start of the browser
+ if (!e.originalTarget) return;
+ } catch (e) { return; } // do nothing
+
var content = e.originalTarget;
- if (!content || !content.location || !content.location.href) {
- return;
- }
+ if (!content || !content.location || !content.location.href) return;
var host = wot_url.gethostname(content.location.href);
- if (!host || !WOT_MY_TRIGGER.test(host)) {
- return;
- }
-
+ if (!host || !WOT_MY_TRIGGER.test(host)) return;
+
var clear = content.getElementById("wotsaverating");
if (clear) {
@@ -42,6 +42,7 @@ var wot_my_session =
var target = clear.getAttribute("target");
if (target && wot_cache.iscached(target)) {
wot_cache.set(target, "status", WOT_QUERY_RETRY);
+ wot_rw.resetstate(); // tell the Rating Window to reset old user testimonies
}
});
}
@@ -63,6 +64,7 @@ var wot_my_session =
mgr.remove(WOT_MY_COOKIE_DOMAIN, "reload", "/", false);
mgr.remove(WOT_MY_COOKIE_DOMAIN, "accessible", "/", false);
mgr.remove(WOT_MY_COOKIE_DOMAIN, "partner", "/", false);
+ mgr.remove(WOT_MY_COOKIE_DOMAIN, "version", "/", false);
}
} catch (e) {
dump("wot_my_session.clear: failed with " + e + "\n");
@@ -165,6 +167,7 @@ var wot_my_session =
/* Always set these cookies */
this.setcookie("accessible", wot_prefs.accessible);
this.setcookie("partner", wot_partner.getpartner() || "");
+ this.setcookie("version", WOT_VERSION);
/* If it has been WOT_MY_SESSION_LENGTH seconds since the
session was last updated, force an update */
diff --git a/chrome/wot.jar!/content/overlay.xul b/chrome/wot.jar!/content/overlay.xul
index 0b147b4..ff93f5d 100644
--- a/chrome/wot.jar!/content/overlay.xul
+++ b/chrome/wot.jar!/content/overlay.xul
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="chrome://wot/skin/wot.css" type="text/css"?>
+<!DOCTYPE window SYSTEM "chrome://wot/locale/wot.dtd">
+
<!--
overlay.xul
- Copyright © 2005, 2006, 2007, 2008, 2009 WOT Services Oy <info at mywot.com>
+ Copyright © 2005 - 2013 WOT Services Oy <info at mywot.com>
This file is part of WOT.
@@ -19,420 +22,125 @@
along with WOT. If not, see <http://www.gnu.org/licenses/>.
-->
-<!DOCTYPE window SYSTEM "chrome://wot/locale/wot.dtd">
-<?xml-stylesheet href="chrome://wot/skin/wot.css" type="text/css"?>
-
<overlay id="wot-overlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/x-javascript" src="chrome://wot/content/config.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/cache.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/commands.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/shared.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/util.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/ui.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/prefs.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/my.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/warning.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/config.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/categories.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/cache.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/commands.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/shared.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/util.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/ratingwindow.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/ui.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/prefs.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/my.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/warning.js"/>
<script type="application/x-javascript" src="chrome://wot/content/surveys.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/update.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/popup.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/search.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/settings.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/cookies.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/api.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/firstrun.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/partner.js"/>
- <script type="application/x-javascript" src="chrome://wot/content/core.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/update.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/popup.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/search.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/settings.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/cookies.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/api.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/firstrun.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/partner.js"/>
+ <script type="application/x-javascript" src="chrome://wot/content/core.js"/>
+
+ <stringbundleset id="stringbundleset">
+ <stringbundle id="wot-strings" src="chrome://wot/locale/wot.properties"/>
+ </stringbundleset>
- <stringbundleset id="stringbundleset">
- <stringbundle id="wot-strings" src="chrome://wot/locale/wot.properties"/>
- </stringbundleset>
+ <commandset id="mainCommandSet">
+ <command id="wot-command-enabled" oncommand="wot_commands.enabled();"/>
+ <command id="wot-command-refresh" oncommand="wot_commands.refresh();"/>
+ <command id="wot-command-preferences" oncommand="wot_commands.preferences();"/>
+ <command id="wot-command-checkupdates" oncommand="wot_commands.checkupdates();"/>
+ <command id="wot-command-my" oncommand="wot_commands.my();"/>
+ <command id="wot-command-openlinkscorecard" oncommand="wot_commands.open_scorecard_link();"/>
+ </commandset>
- <commandset id="mainCommandSet">
- <command id="wot-command-enabled"
- oncommand="wot_commands.enabled();"/>
- <command id="wot-command-refresh"
- oncommand="wot_commands.refresh();"/>
- <command id="wot-command-preferences"
- oncommand="wot_commands.preferences();"/>
- <command id="wot-command-checkupdates"
- oncommand="wot_commands.checkupdates();"/>
- <command id="wot-command-testify-5"
- oncommand="wot_commands.quicktestify(WOT_TESTIMONY_QUICK_5);"/>
- <command id="wot-command-testify-4"
- oncommand="wot_commands.quicktestify(WOT_TESTIMONY_QUICK_4);"/>
- <command id="wot-command-testify-3"
- oncommand="wot_commands.quicktestify(WOT_TESTIMONY_QUICK_3);"/>
- <command id="wot-command-testify-2"
- oncommand="wot_commands.quicktestify(WOT_TESTIMONY_QUICK_2);"/>
- <command id="wot-command-testify-1"
- oncommand="wot_commands.quicktestify(WOT_TESTIMONY_QUICK_1);"/>
- <command id="wot-command-my"
- oncommand="wot_commands.my();"/>
- <command id="wot-command-openlinkscorecard"
- oncommand="wot_commands.openlinkscorecard();"/>
- </commandset>
+ <popupset id="mainPopupSet">
+ <!-- Testimony window -->
+ <panel id="wot-popup" position="bottomcenter bottomcenter"
+ onpopupshowing="wot_rw.on_rw_open(event);"
+ onpopuphiding="wot_rw.on_hide_popup();" noautofocus="false">
- <popupset id="mainPopupSet">
- <!-- Testimony window -->
- <menupopup id="wot-popup" noautohide="true" position="after_start"
- onpopupshowing="wot_core.update();"
- onpopuphiding="wot_events.hide_popup();"
- onmouseup="wot_events.slider_up(event, -1);">
- <vbox id="wot-elements">
- <!-- header -->
- <hbox id="wot-header">
- <box id="wot-header-logo"
- onclick="wot_events.click_logo(event);"/>
- <hbox id="wot-header-links">
- <label id="wot-header-link-0" class="wot-header-link"
- value="&wotRating.prefs;"
- onclick="wot_events.click_prefs(event);"/>
- <box id="wot-header-link-separator"/>
- <label id="wot-header-link-1" class="wot-header-link"
- value="&wotRating.guide;"
- onclick="wot_events.click_guide(event);"/>
- </hbox>
- <box id="wot-header-button" onclick="wot_events.popup_hide();"/>
- </hbox>
- <!-- title -->
- <vbox id="wot-title">
- <label id="wot-title-text" crop="center" value="&wotRating.title;"
- onclick="wot_events.click_title(event);"/>
- </vbox>
- <!-- rating header -->
- <hbox id="wot-rating-header">
- <label id="wot-rating-header-wot" crop="end" value="&wotRating.wot;"/>
- <label id="wot-rating-header-my" crop="end" value="&wotRating.my;"/>
- </hbox>
- <!-- rating 0 -->
- <box id="wot-rating-border-0" class="wot-rating-border"/>
- <vbox id="wot-rating-0" class="wot-rating">
- <label id="wot-rating-0-header" class="wot-rating-header" crop="end"
- value="&wotRating.app0;"/>
- <hbox id="wot-rating-0-data" class="wot-rating-data">
- <box id="wot-rating-0-reputation" class="wot-rating-reputation"/>
- <box id="wot-rating-0-confidence" class="wot-rating-confidence"/>
- <vbox id="wot-rating-0-testimony" class="wot-rating-testimony">
- <stack id="wot-rating-0-stack" class="wot-rating-stack"
- onmousedown="wot_events.slider_down(event, 0);"
- onmouseup="wot_events.slider_up(event, 0);"
- onmousemove="wot_events.slider_move(event, 0);">
- <box id="wot-rating-0-slider" class="wot-rating-slider"
- onmousedown="wot_events.slider_down(event, 0);"
- onmouseup="wot_events.slider_up(event, 0);"
- onmousemove="wot_events.slider_move(event, 0);"/>
- <box id="wot-rating-0-indicator" class="wot-rating-indicator"
- onmousedown="wot_events.slider_down(event, 0);"
- onmouseup="wot_events.slider_up(event, 0);"
- onmousemove="wot_events.slider_move(event, 0);"/>
- </stack>
- <hbox id="wot-rating-0-help" class="wot-rating-help">
- <label id="wot-rating-0-help-text" class="wot-rating-help-text" crop="end"/>
- <label id="wot-rating-0-help-link" class="wot-rating-help-link" crop="end"
- onclick="wot_events.click_help(event, 0);"/>
- </hbox>
- </vbox>
- </hbox>
- </vbox>
- <!-- rating 1 -->
- <box id="wot-rating-border-1" class="wot-rating-border"/>
- <vbox id="wot-rating-1" class="wot-rating">
- <label id="wot-rating-1-header" class="wot-rating-header" crop="end"
- value="&wotRating.app1;"/>
- <hbox id="wot-rating-1-data" class="wot-rating-data">
- <box id="wot-rating-1-reputation" class="wot-rating-reputation"/>
- <box id="wot-rating-1-confidence" class="wot-rating-confidence"/>
- <vbox id="wot-rating-1-testimony" class="wot-rating-testimony">
- <stack id="wot-rating-1-stack" class="wot-rating-stack"
- onmousedown="wot_events.slider_down(event, 1);"
- onmouseup="wot_events.slider_up(event, 1);"
- onmousemove="wot_events.slider_move(event, 1);">
- <box id="wot-rating-1-slider" class="wot-rating-slider"
- onmousedown="wot_events.slider_down(event, 1);"
- onmouseup="wot_events.slider_up(event, 1);"
- onmousemove="wot_events.slider_move(event, 1);"/>
- <box id="wot-rating-1-indicator" class="wot-rating-indicator"
- onmousedown="wot_events.slider_down(event, 1);"
- onmouseup="wot_events.slider_up(event, 1);"
- onmousemove="wot_events.slider_move(event, 1);"/>
- </stack>
- <hbox id="wot-rating-1-help" class="wot-rating-help">
- <label id="wot-rating-1-help-text" class="wot-rating-help-text" crop="end"/>
- <label id="wot-rating-1-help-link" class="wot-rating-help-link" crop="end"
- onclick="wot_events.click_help(event, 1);"/>
- </hbox>
- </vbox>
- </hbox>
- </vbox>
- <!-- rating 2 -->
- <box id="wot-rating-border-2" class="wot-rating-border"/>
- <vbox id="wot-rating-2" class="wot-rating">
- <label id="wot-rating-2-header" class="wot-rating-header" crop="end"
- value="&wotRating.app2;"/>
- <hbox id="wot-rating-2-data" class="wot-rating-data">
- <box id="wot-rating-2-reputation" class="wot-rating-reputation"/>
- <box id="wot-rating-2-confidence" class="wot-rating-confidence"/>
- <vbox id="wot-rating-2-testimony" class="wot-rating-testimony">
- <stack id="wot-rating-2-stack" class="wot-rating-stack"
- onmousedown="wot_events.slider_down(event, 2);"
- onmouseup="wot_events.slider_up(event, 2);"
- onmousemove="wot_events.slider_move(event, 2);">
- <box id="wot-rating-2-slider" class="wot-rating-slider"
- onmousedown="wot_events.slider_down(event, 2);"
- onmouseup="wot_events.slider_up(event, 2);"
- onmousemove="wot_events.slider_move(event, 2);"/>
- <box id="wot-rating-2-indicator" class="wot-rating-indicator"
- onmousedown="wot_events.slider_down(event, 2);"
- onmouseup="wot_events.slider_up(event, 2);"
- onmousemove="wot_events.slider_move(event, 2);"/>
- </stack>
- <hbox id="wot-rating-2-help" class="wot-rating-help">
- <label id="wot-rating-2-help-text" class="wot-rating-help-text" crop="end"/>
- <label id="wot-rating-2-help-link" class="wot-rating-help-link" crop="end"
- onclick="wot_events.click_help(event, 2);"/>
- </hbox>
- </vbox>
- </hbox>
- </vbox>
- <!-- rating 4 -->
- <box id="wot-rating-border-4" class="wot-rating-border"/>
- <vbox id="wot-rating-4" class="wot-rating">
- <label id="wot-rating-4-header" class="wot-rating-header" crop="end"
- value="&wotRating.app4;"/>
- <hbox id="wot-rating-4-data" class="wot-rating-data">
- <box id="wot-rating-4-reputation" class="wot-rating-reputation"/>
- <box id="wot-rating-4-confidence" class="wot-rating-confidence"/>
- <vbox id="wot-rating-4-testimony" class="wot-rating-testimony">
- <stack id="wot-rating-4-stack" class="wot-rating-stack"
- onmousedown="wot_events.slider_down(event, 4);"
- onmouseup="wot_events.slider_up(event, 4);"
- onmousemove="wot_events.slider_move(event, 4);">
- <box id="wot-rating-4-slider" class="wot-rating-slider"
- onmousedown="wot_events.slider_down(event, 4);"
- onmouseup="wot_events.slider_up(event, 4);"
- onmousemove="wot_events.slider_move(event, 4);"/>
- <box id="wot-rating-4-indicator" class="wot-rating-indicator"
- onmousedown="wot_events.slider_down(event, 4);"
- onmouseup="wot_events.slider_up(event, 4);"
- onmousemove="wot_events.slider_move(event, 4);"/>
- </stack>
- <hbox id="wot-rating-4-help" class="wot-rating-help">
- <label id="wot-rating-4-help-text" class="wot-rating-help-text" crop="end"/>
- <label id="wot-rating-4-help-link" class="wot-rating-help-link" crop="end"
- onclick="wot_events.click_help(event, 4);"/>
- </hbox>
- </vbox>
- </hbox>
- </vbox>
- <!-- scorecard -->
- <vbox id="wot-scorecard">
- <vbox id="wot-scorecard-content"
- onclick="wot_events.click_scorecard(event, false);">
- <label id="wot-scorecard-visit" class="wot-scorecard-text" crop="end"
- value="&wotRating.scorecard;"/>
- <box id="wot-scorecard-comment-container">
- <label id="wot-scorecard-comment" class="wot-scorecard-text" crop="end"
- value="&wotRating.comment;"
- onmouseover="document.getElementById('wot-scorecard-visit').setAttribute('inactive', true);"
- onmouseout="document.getElementById('wot-scorecard-visit').removeAttribute('inactive');"
- onclick="wot_events.click_scorecard(event, true);"/>
- </box>
- </vbox>
- </vbox>
- <!-- user 0 -->
- <vbox id="wot-user-0" class="wot-user" hidden="true">
- <hbox id="wot-user-0-content" class="wot-user-content">
- <vbox id="wot-user-0-stack" class="wot-user-stack">
- <label id="wot-user-0-header" class="wot-user-header" crop="end"/>
- <hbox id="wot-user-0-bar" class="wot-user-bar">
- <box id="wot-user-0-bar-image" class="wot-user-bar-image"/>
- <label id="wot-user-0-bar-text" class="wot-user-bar-text" crop="end"/>
- </hbox>
- </vbox>
- <box id="wot-user-0-text-container" class="wot-user-text-container">
- <label id="wot-user-0-text" class="wot-user-text" crop="end"
- onclick="wot_events.click_user(event, 0);"/>
- </box>
- </hbox>
- <label id="wot-user-0-notice" class="wot-user-notice" crop="end"/>
- </vbox>
- <!-- user 1 -->
- <vbox id="wot-user-1" class="wot-user" hidden="true">
- <hbox id="wot-user-1-content" class="wot-user-content">
- <vbox id="wot-user-1-stack" class="wot-user-stack">
- <label id="wot-user-1-header" class="wot-user-header" crop="end"/>
- <hbox id="wot-user-1-bar" class="wot-user-bar">
- <box id="wot-user-1-bar-image" class="wot-user-bar-image"/>
- <label id="wot-user-1-bar-text" class="wot-user-bar-text" crop="end"/>
- </hbox>
- </vbox>
- <box id="wot-user-1-text-container" class="wot-user-text-container">
- <label id="wot-user-1-text" class="wot-user-text" crop="end"
- onclick="wot_events.click_user(event, 1);"/>
- </box>
- </hbox>
- <label id="wot-user-1-notice" class="wot-user-notice" crop="end"/>
- </vbox>
- <!-- user 2 -->
- <vbox id="wot-user-2" class="wot-user" hidden="true">
- <hbox id="wot-user-2-content" class="wot-user-content">
- <vbox id="wot-user-2-stack" class="wot-user-stack">
- <label id="wot-user-2-header" class="wot-user-header" crop="end"/>
- <hbox id="wot-user-2-bar" class="wot-user-bar">
- <box id="wot-user-2-bar-image" class="wot-user-bar-image"/>
- <label id="wot-user-2-bar-text" class="wot-user-bar-text" crop="end"/>
- </hbox>
- </vbox>
- <box id="wot-user-2-text-container" class="wot-user-text-container">
- <label id="wot-user-2-text" class="wot-user-text" crop="end"
- onclick="wot_events.click_user(event, 2);"/>
- </box>
- </hbox>
- <label id="wot-user-2-notice" class="wot-user-notice" crop="end"/>
- </vbox>
- <!-- message -->
- <hbox id="wot-message" hidden="true"
- onclick="return wot_events.click_message(event);">
- <description id="wot-message-text" crop="end">
- </description>
- </hbox>
- <!-- partner -->
- <vbox id="wot-partner" hidden="true">
- <label id="wot-partner-text" crop="end" value="&wotRating.partner;"/>
- </vbox>
- </vbox>
- </menupopup>
+ <iframe id="wot-rwframe" src="chrome://wot/content/rw/ratingwindow.html" type="content"
+ width="576px" height="422px"/>
+ </panel>
- <!-- Indicator tooltip -->
- <tooltip id="wot-tooltip"
- onpopupshowing="return wot_commands.tooltip_update(document.tooltipNode);">
- <label id="wot-tooltip-text" value="&wotRating.title;" crop="center"/>
- </tooltip>
+ <!-- Indicator tooltip -->
+ <tooltip id="wot-tooltip"
+ onpopupshowing="return wot_commands.tooltip_update(document.tooltipNode);">
+ <label id="wot-tooltip-text" value="&wotRating.title;" crop="center"/>
+ </tooltip>
- <!-- Indicator menu -->
- <!-- XXX: shouldn't need onpopupshowing, but checkmarks aren't shown otherwise -->
- <menupopup id="wot-context-indicator"
- onpopupshowing="wot_commands.update('indicator');">
- <menuitem id="wot-indicator-refresh"
- label="&wotRefresh.label;"
- accesskey="&wotRefresh.accesskey;"
- command="wot-command-refresh"/>
- <menuitem label="&wotCheckUpdates.label;"
- accesskey="&wotCheckUpdates.accesskey;"
- command="wot-command-checkupdates"/>
- <menuseparator/>
- <menuitem id="wot-indicator-testify-5"
- label="&wotTestify5.label;"
- accesskey="&wotTestify5.accesskey;"
- type="radio"
- name="wot-indicator-quicktestify"
- command="wot-command-testify-5"/>
- <menuitem id="wot-indicator-testify-4"
- label="&wotTestify4.label;"
- accesskey="&wotTestify4.accesskey;"
- type="radio"
- name="wot-indicator-quicktestify"
- command="wot-command-testify-4"/>
- <menuitem id="wot-indicator-testify-3"
- label="&wotTestify3.label;"
- accesskey="&wotTestify3.accesskey;"
- type="radio"
- name="wot-indicator-quicktestify"
- command="wot-command-testify-3"/>
- <menuitem id="wot-indicator-testify-2"
- label="&wotTestify2.label;"
- accesskey="&wotTestify2.accesskey;"
- type="radio"
- name="wot-indicator-quicktestify"
- command="wot-command-testify-2"/>
- <menuitem id="wot-indicator-testify-1"
- label="&wotTestify1.label;"
- accesskey="&wotTestify1.accesskey;"
- type="radio"
- name="wot-indicator-quicktestify"
- command="wot-command-testify-1"/>
- <menuseparator/>
- <menuitem label="&wotMy.label;"
- accesskey="&wotMy.accesskey;"
- command="wot-command-my"/>
- <menuitem label="&wotPreferences.label;"
- accesskey="&wotPreferences.accesskey;"
- command="wot-command-preferences"/>
- <menuseparator/>
- <menuitem id="wot-indicator-enabled"
- label="&wotEnabled.label;"
- accesskey="&wotEnabled.accesskey;"
- type="checkbox"
- command="wot-command-enabled"/>
- </menupopup>
- </popupset>
+ <!-- Indicator menu -->
+ <!-- XXX: shouldn't need onpopupshowing, but checkmarks aren't shown otherwise -->
+ <menupopup id="wot-context-indicator"
+ onpopupshowing="wot_commands.update('indicator');">
+ <menuitem id="wot-indicator-refresh"
+ label="&wotRefresh.label;"
+ accesskey="&wotRefresh.accesskey;"
+ command="wot-command-refresh"/>
+ <menuitem label="&wotCheckUpdates.label;"
+ accesskey="&wotCheckUpdates.accesskey;"
+ command="wot-command-checkupdates"/>
+ <menuseparator/>
+ <menuitem label="&wotMy.label;"
+ accesskey="&wotMy.accesskey;"
+ command="wot-command-my"/>
+ <menuitem label="&wotPreferences.label;"
+ accesskey="&wotPreferences.accesskey;"
+ command="wot-command-preferences"/>
+ <menuseparator/>
+ <menuitem id="wot-indicator-enabled"
+ label="&wotEnabled.label;"
+ accesskey="&wotEnabled.accesskey;"
+ type="checkbox"
+ command="wot-command-enabled"/>
+ </menupopup>
+ </popupset>
- <!-- Browser content area menu -->
- <popup id="contentAreaContextMenu">
- <menuitem id="wot-content-openlinkscorecard"
- label="&wotLinkScorecard.label;"
- accesskey="&wotLinkScorecard.accesskey;"
- command="wot-command-openlinkscorecard"
- insertbefore="context-bookmarkpage"/>
- </popup>
+ <!-- Browser content area menu -->
+ <popup id="contentAreaContextMenu">
+ <menuitem id="wot-content-openlinkscorecard"
+ label="&wotLinkScorecard.label;"
+ accesskey="&wotLinkScorecard.accesskey;"
+ command="wot-command-openlinkscorecard"
+ insertbefore="context-bookmarkpage"/>
+ </popup>
- <!-- Tools menu -->
- <menupopup id="menu_ToolsPopup">
- <menu id="wot-context-tools" insertbefore="devToolsSeparator"
- label="&wotContent.label;">
- <menupopup id="wot-tools-popup">
- <menuitem label="&wotMy.label;"
- accesskey="&wotMy.accesskey;"
- command="wot-command-my"/>
- <menuitem label="&wotPreferences.label;"
- accesskey="&wotPreferences.accesskey;"
- command="wot-command-preferences"/>
- <menuseparator/>
- <menuitem label="&wotTestify5.label;"
- accesskey="&wotTestify5.accesskey;"
- type="radio"
- name="wot-tools-quicktestify"
- command="wot-command-testify-5"/>
- <menuitem label="&wotTestify4.label;"
- accesskey="&wotTestify4.accesskey;"
- type="radio"
- name="wot-tools-quicktestify"
- command="wot-command-testify-4"/>
- <menuitem label="&wotTestify3.label;"
- accesskey="&wotTestify3.accesskey;"
- type="radio"
- name="wot-tools-quicktestify"
- command="wot-command-testify-3"/>
- <menuitem label="&wotTestify2.label;"
- accesskey="&wotTestify2.accesskey;"
- type="radio"
- name="wot-tools-quicktestify"
- command="wot-command-testify-2"/>
- <menuitem label="&wotTestify1.label;"
- accesskey="&wotTestify1.accesskey;"
- type="radio"
- name="wot-tools-quicktestify"
- command="wot-command-testify-1"/>
- <menuseparator/>
- <menuitem label="&wotEnabled.label;"
- accesskey="&wotEnabled.accesskey;"
- type="checkbox"
- command="wot-command-enabled"/>
- </menupopup>
- </menu>
- </menupopup>
+ <!-- Tools menu -->
+ <menupopup id="menu_ToolsPopup">
+ <menu id="wot-context-tools" insertbefore="devToolsSeparator"
+ label="&wotContent.label;">
+ <menupopup id="wot-tools-popup">
+ <menuitem label="&wotMy.label;"
+ accesskey="&wotMy.accesskey;"
+ command="wot-command-my"/>
+ <menuitem label="&wotPreferences.label;"
+ accesskey="&wotPreferences.accesskey;"
+ command="wot-command-preferences"/>
+ <menuseparator/>
+ <menuitem label="&wotEnabled.label;"
+ accesskey="&wotEnabled.accesskey;"
+ type="checkbox"
+ command="wot-command-enabled"/>
+ </menupopup>
+ </menu>
+ </menupopup>
- <!-- Toolbar indicator -->
- <toolbarpalette id="BrowserToolbarPalette">
- <toolbarbutton id="wot-button"
- class="toolbarbutton-1"
- label="&wot.label;"
- popup="wot-popup"
- context="wot-context-indicator"
- tooltip="wot-tooltip"
- insertbefore="urlbar-container"
- onclick="wot_events.click_button(event);"/>
- </toolbarpalette>
+ <!-- Toolbar indicator -->
+ <toolbarpalette id="BrowserToolbarPalette">
+ <toolbarbutton id="wot-button"
+ class="toolbarbutton-1"
+ label="&wot.label;"
+ popup="wot-popup"
+ context="wot-context-indicator"
+ tooltip="wot-tooltip"
+ insertbefore="urlbar-container"
+ onclick="wot_events.click_button(event);"/>
+ </toolbarpalette>
</overlay>
diff --git a/chrome/wot.jar!/content/popup.js b/chrome/wot.jar!/content/popup.js
index e538628..23f1fcc 100644
--- a/chrome/wot.jar!/content/popup.js
+++ b/chrome/wot.jar!/content/popup.js
@@ -18,47 +18,55 @@
along with WOT. If not, see <http://www.gnu.org/licenses/>.
*/
-const WOT_POPUP_LAYER =
- "<div id=\"wot-logo\"></div>" +
- "<div id=\"wot-popup-ratings-ID\" class=\"wot-popup-ratings\">" +
- "<div id=\"wot-r0-stack-ID\" class=\"wot-stack\">" +
- "<div id=\"wot-r0-header-ID\" class=\"wot-header\">WOT_POPUP_TEXT_0</div>" +
- "<div id=\"wot-r0-rep-ID\" class=\"wot-rep\"></div>" +
- "<div id=\"wot-r0-cnf-ID\" class=\"wot-cnf\"></div>" +
- "</div>" +
- "<div id=\"wot-r1-stack-ID\" class=\"wot-stack\">" +
- "<div id=\"wot-r1-header-ID\" class=\"wot-header\">WOT_POPUP_TEXT_1</div>" +
- "<div id=\"wot-r1-rep-ID\" class=\"wot-rep\"></div>" +
- "<div id=\"wot-r1-cnf-ID\" class=\"wot-cnf\"></div>" +
- "</div>" +
- "<div id=\"wot-r2-stack-ID\" class=\"wot-stack\">" +
- "<div id=\"wot-r2-header-ID\" class=\"wot-header\">WOT_POPUP_TEXT_2</div>" +
- "<div id=\"wot-r2-rep-ID\" class=\"wot-rep\"></div>" +
- "<div id=\"wot-r2-cnf-ID\" class=\"wot-cnf\"></div>" +
- "</div>" +
- "<div id=\"wot-r4-stack-ID\" class=\"wot-stack\">" +
- "<div id=\"wot-r4-header-ID\" class=\"wot-header\">WOT_POPUP_TEXT_4</div>" +
- "<div id=\"wot-r4-rep-ID\" class=\"wot-rep\"></div>" +
- "<div id=\"wot-r4-cnf-ID\" class=\"wot-cnf\"></div>" +
- "</div>" +
- "</div>";
-
-const WOT_POPUP_STYLE =
- "@import \"chrome://wot/skin/include/popup.css\";";
+const WOT_POPUP_HTML =
+ '<div id="wot-logo">{POPUPHEADERTEXT}</div>' +
+ '<div id="wot-ratings{ID}" class="wot-ratings">' +
+ '<div id="wot-hostname"></div>' +
+ '<div id="wot-r0-stack{ID}" class="wot-stack wot-stack-left">' +
+ '<div id="wot-r0-header{ID}" class="wot-header">{POPUPTEXT0}</div>' +
+ '<div id="wot-r0-rep{ID}" class="wot-rep"></div>' +
+ '<div id="wot-r0-cnf{ID}" class="wot-cnf"></div>' +
+ '<div class="rating-legend-wrapper">' +
+ '<div class="rating-legend">{REPTEXT0}</div>' +
+ '</div>' +
+
+ '</div>' +
+ '<div id="wot-r4-stack{ID}" class="wot-stack wot-stack-right">' +
+ '<div id="wot-r4-header{ID}" class="wot-header">{POPUPTEXT4}</div>' +
+ '<div id="wot-r4-rep{ID}" class="wot-rep"></div>' +
+ '<div id="wot-r4-cnf{ID}" class="wot-cnf"></div>' +
+ '<div class="rating-legend-wrapper">' +
+ '<div class="rating-legend">{REPTEXT4}</div>' +
+ '</div>' +
+
+ '</div>' +
+ '</div>' +
+ '<div id="wot-categories">' +
+ '<div id="wot-cat-text">{POPUPNOCAT}</div>' +
+ '<ul id="wot-cat-list"></ul>' +
+ '</div>' +
+ '<div class="wot-corners-wrapper">' +
+ '<div id="wot-pp-tr" class="wot-pp-tr"></div>' +
+ '<div id="wot-pp-cs" class="wot-pp-cs"></div>' +
+ '</div>';
+
+const WOT_POPUP_STYLE = "@import \"chrome://wot/skin/include/popup.css\";";
var wot_popup =
{
- offsety: 15,
- offsetx: 0,
- height: 235,
- width: 137,
- ratingheight: 52,
- areaheight: 214,
+ offsety: -15,
+ offsetx: 4,
+ height: 220,
+ width: 300,
+// ratingheight: 52,
+// areaheight: 214,
barsize: 20,
offsetheight: 0,
postfix: "-" + Date.now(),
id: "wot-popup-layer",
onpopup: false,
+ layer: null,
+ MAX_CATEGORIES: 3,
load_delayed: function()
{
@@ -100,18 +108,16 @@ var wot_popup =
return false;
}
+ var replaces = [
+ { from: "ID", to: this.postfix },
+ { from: "POPUPTEXT0", to: wot_util.getstring("components_0") },
+ { from: "POPUPTEXT4", to: wot_util.getstring("components_4") },
+ { from: "POPUPHEADERTEXT", to: wot_util.getstring("popup_headertext") },
+ { from: "POPUPNOCAT", to: wot_util.getstring("popup_nocattext") }
+ ];
+
if (!this.layer) {
- this.layer = WOT_POPUP_LAYER;
- this.layer = this.layer.replace(/-ID/g,
- this.postfix);
- this.layer = this.layer.replace(/WOT_POPUP_TEXT_0/g,
- wot_util.getstring("popup_0") + ":");
- this.layer = this.layer.replace(/WOT_POPUP_TEXT_1/g,
- wot_util.getstring("popup_1") + ":");
- this.layer = this.layer.replace(/WOT_POPUP_TEXT_2/g,
- wot_util.getstring("popup_2") + ":");
- this.layer = this.layer.replace(/WOT_POPUP_TEXT_4/g,
- wot_util.getstring("popup_4") + ":");
+ this.layer = wot_util.processhtml(WOT_POPUP_HTML, replaces);
}
if (content.getElementById(this.id)) {
@@ -124,14 +130,18 @@ var wot_popup =
if (body && body.length) {
elem = body[0];
}
+
+ if (!elem) return false;
}
if (elem.isContentEditable) return false;
var layer = content.createElement("div");
+ var accessible_cls = wot_prefs.accessible ? " wot-popup-layer-accessible" : "";
+
layer.setAttribute("id", this.id);
- layer.setAttribute("class", "wot-popup-layer");
- layer.setAttribute("style", "display: none; cursor: pointer;");
+ layer.setAttribute("class", "wot-popup-layer" + accessible_cls);
+ layer.setAttribute("style", "visibility: hidden;");
layer.innerHTML = this.layer;
var style = content.createElement("style");
@@ -146,8 +156,7 @@ var wot_popup =
}
layer.addEventListener("click", function() {
- wot_browser.openscorecard(layer.getAttribute("target"),
- null, WOT_URL_POPUPVIEWSC);
+ wot_browser.openscorecard(layer.getAttribute("target"), null, WOT_URL_POPUPVIEWSC);
}, false);
elem.appendChild(layer);
@@ -163,126 +172,151 @@ var wot_popup =
loadlayer: function(content, layer, target)
{
try {
- var status = wot_cache.get(target, "status");
+ var status = wot_cache.get(target, "status"),
+ tr_t, cs_t, r, c, x, t;
if (status != WOT_QUERY_OK && status != WOT_QUERY_LINK) {
return false;
}
- var cls = layer.getAttribute("class");
-
- if (wot_prefs.accessible) {
+ for (var i = 0; i < WOT_COMPONENTS.length; ++i) {
+ var app = WOT_COMPONENTS[i];
+ var rep_elem = content.getElementById("wot-r" + app + "-rep" + this.postfix);
+ var cnf_elem = content.getElementById("wot-r" + app + "-cnf" + this.postfix);
- if (!cls || !cls.length) {
- cls = "accessible";
- } else if (cls.indexOf("accessible") < 0) {
- cls += " accessible";
+ if (!rep_elem || !cnf_elem) {
+ continue;
}
- layer.setAttribute("class", cls);
- } else if (cls && cls.indexOf("accessible") >= 0) {
- cls = cls.replace(/accessible/g, "");
- layer.setAttribute("class", cls);
+ r = wot_cache.get(target, "reputation_" + app),
+ c = wot_cache.get(target, "confidence_" + app),
+ x = wot_cache.get(target, "excluded_" + app),
+ t = wot_util.get_level(WOT_REPUTATIONLEVELS, wot_cache.get(target, "testimony_" + app)).name;
+
+ r = x ? -2 : r; // if Excluded is set, select proper rep level (rx);
+ rep_elem.setAttribute("reputation", wot_util.get_level(WOT_REPUTATIONLEVELS, r).name);
+
+ c = x ? -2 : c;
+ cnf_elem.setAttribute("confidence", wot_util.get_level(WOT_CONFIDENCELEVELS, c).name);
+
+ // set testimonies for TR and CS to bottom corners of the popup testimony_
+ if (app == 0) {
+ tr_t = t;
+ } else if (app == 4) {
+ cs_t = t;
+ }
}
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- var rep = content.getElementById("wot-r" + i + "-rep" +
- this.postfix);
- var cnf = content.getElementById("wot-r" + i + "-cnf" +
- this.postfix);
+ // set target name
+ var normalized_target = wot_cache.get(target, "normalized") || null;
- if (!rep || !cnf) {
- continue;
- }
+ var hostname_elem = content.getElementById("wot-hostname");
+ if (hostname_elem) {
+ var display_target = normalized_target && normalized_target.length ? normalized_target : target;
+ hostname_elem.textContent = wot_util.htmlescape(wot_shared.decodehostname(display_target));
+ }
- var r = wot_cache.get(target, "reputation_" + i);
- var c = wot_cache.get(target, "confidence_" + i);
- var x = wot_cache.get(target, "excluded_" + i);
-
- if (x) {
- rep.setAttribute("reputation", "excluded");
- } else if (r >= WOT_MIN_REPUTATION_5) {
- rep.setAttribute("reputation", 5);
- } else if (r >= WOT_MIN_REPUTATION_4) {
- rep.setAttribute("reputation", 4);
- } else if (r >= WOT_MIN_REPUTATION_3) {
- rep.setAttribute("reputation", 3);
- } else if (r >= WOT_MIN_REPUTATION_2) {
- rep.setAttribute("reputation", 2);
- } else if (r >= 0) {
- rep.setAttribute("reputation", 1);
- } else {
- rep.setAttribute("reputation", 0);
- }
+ // show user's ratings for the site
+ if (wot_prefs.super_showtestimonies) {
+ var tr_t_corner = content.getElementById("wot-pp-tr");
+ if (tr_t_corner && tr_t) {
+ tr_t_corner.setAttribute("r", tr_t);
+ }
+
+ var cs_t_corner = content.getElementById("wot-pp-cs");
+ if (cs_t_corner && cs_t) {
+ cs_t_corner.setAttribute("r", cs_t);
+ }
+ }
+
+ // Update categories in the popup
+ var target_cats = wot_categories.target_categories(target),
+ cats = wot_categories.select_identified(target_cats),
+ cat_list = content.getElementById("wot-cat-list"),
+ cat_text = content.getElementById("wot-cat-text");
+
+ if (cats && !wot_util.isEmpty(cats) && cat_list) {
+ var ordered_cats = wot_categories.rearrange_categories(cats);
+ cat_text.style.display = "none";
+ if (wot_popup.update_categories(cat_list, ordered_cats.all, content) > 0) {
+ wot_popup.toggle_categories(true, content); // show categories
+ } else {
+ wot_popup.toggle_categories(false, content);
+ }
+
+ } else {
+ wot_popup.toggle_categories(false, content); // hide categories list
+ }
- if (x) {
- cnf.setAttribute("confidence", 0);
- } else if (c >= WOT_MIN_CONFIDENCE_5) {
- cnf.setAttribute("confidence", 5);
- } else if (c >= WOT_MIN_CONFIDENCE_4) {
- cnf.setAttribute("confidence", 4);
- } else if (c >= WOT_MIN_CONFIDENCE_3) {
- cnf.setAttribute("confidence", 3);
- } else if (c >= WOT_MIN_CONFIDENCE_2) {
- cnf.setAttribute("confidence", 2);
- } else if (c >= WOT_MIN_CONFIDENCE_1) {
- cnf.setAttribute("confidence", 1);
- } else {
- cnf.setAttribute("confidence", 0);
- }
- }
- wot_popup.offsetheight = 0;
- var bottom = content.getElementById("wot-r0-stack" +
- this.postfix);
- if (wot_prefs.show_application_1) {
- bottom = content.getElementById("wot-r1-stack" +
- this.postfix);
- bottom.style.display = "block";
- } else {
- content.getElementById("wot-r1-stack" +
- this.postfix).style.display = "none";
- wot_popup.offsetheight -= wot_popup.ratingheight;
- }
- if (wot_prefs.show_application_2) {
- bottom = content.getElementById("wot-r2-stack" +
- this.postfix);
- bottom.style.display = "block";
- } else {
- content.getElementById("wot-r2-stack" +
- this.postfix).style.display = "none";
- wot_popup.offsetheight -= wot_popup.ratingheight;
- }
- if (wot_prefs.show_application_4) {
- bottom = content.getElementById("wot-r4-stack" +
- this.postfix);
- bottom.style.display = "block";
- } else {
- content.getElementById("wot-r4-stack" +
- this.postfix).style.display = "none";
- wot_popup.offsetheight -= wot_popup.ratingheight;
- }
- bottom.style.borderBottom = "0";
- content.getElementById("wot-popup-ratings" +
- this.postfix).style.height =
- wot_popup.offsetheight + wot_popup.areaheight + "px";
return true;
+
} catch (e) {
- dump("wot_popup.loadlayer: failed with " + e + "\n");
+ wdump("wot_popup.loadlayer: failed with " + e);
}
return false;
},
+ toggle_categories: function (show, content) {
+ var cat_list = content.getElementById("wot-cat-list"),
+ cat_text = content.getElementById("wot-cat-text");
+ if (cat_list && cat_text) {
+ if (show) {
+ cat_text.style.display = "none";
+ cat_list.style.display = "block";
+ }
+ else {
+ cat_text.style.display = "block";
+ cat_list.style.display = "none";
+ }
+ }
+ },
+
+ update_categories: function (list_node, categories, content) {
+ var cnt = 0;
+
+ // remove all list items
+ while(list_node.firstChild) {
+ list_node.removeChild(list_node.firstChild);
+ }
+
+ for (var k in categories) {
+ if (cnt >= this.MAX_CATEGORIES) break;
+
+ var cat = categories[k],
+ cid = cat.id,
+ li = content.createElement("li"),
+ cls = ["cat-item"],
+ cat_name = wot_categories.get_category_name(cid, true); // name is already htmlescaped
+
+ if (!cat_name) {
+ continue; // skip undefined categories, don't take them into account
+ }
+
+ cls.push(wot_categories.get_category_css(cid)); // css type is already htmlescaped
+ var cl = wot_util.get_level(WOT_CONFIDENCELEVELS, cat.c).name;
+ cls.push(cl);
+
+ li.textContent = cat_name;
+ li.setAttribute("class", cls.join(" "));
+
+ cnt++;
+ list_node.appendChild(li);
+ }
+
+ return cnt;
+ },
+
hidelayer: function(content, appearance)
{
try {
var layer = content.getElementById(this.id);
- if (layer && layer.style.display != "none" &&
+ if (layer && layer.style.visibility != "hidden" &&
(appearance == null || appearance == this.appearance) &&
!this.onpopup) {
- layer.style.display = "none";
+ layer.style.visibility = "hidden";
}
} catch (e) {
/* dump("wot_popup.hidelayer: failed with " + e + "\n"); */
@@ -335,15 +369,11 @@ var wot_popup =
var content = event_view.document;
- if (!content) {
- return;
- }
-
+ if (!content) return;
+
var layer = content.getElementById(wot_popup.id);
- if (!layer) {
- return;
- }
+ if (!layer) return;
wot_popup.target = wot_popup.findelem(event);
@@ -357,11 +387,10 @@ var wot_popup =
return;
}
- var attr = wot_popup.target.attributes.getNamedItem(
- wot_search.attribute);
- var target = attr.value;
+ var attr = wot_popup.target.attributes.getNamedItem(wot_search.attribute),
+ target = attr.value;
- if (layer.style.display == "block" &&
+ if (layer.style.visibility == "visible" &&
layer.getAttribute("target") == target) {
return;
}
@@ -373,21 +402,20 @@ var wot_popup =
return;
}
- var popupheight = wot_popup.height + wot_popup.offsetheight;
+ var style = event_view.getComputedStyle(layer),
+ popupheight = Math.max(isNaN(style.height) ? 0 : style.height , wot_popup.height),
+ popupwidth = style.width || wot_popup.width;
- layer.style.height = popupheight + "px";
- layer.style.width = wot_popup.width + "px";
+ var height = parseInt(event_view.innerHeight - wot_popup.barsize);
+ var width = 0 + event_view.innerWidth - wot_popup.barsize;
- var height = event_view.innerHeight - wot_popup.barsize;
- var width = event_view.innerWidth - wot_popup.barsize;
-
- if (height < popupheight || width < wot_popup.width) {
+ if (height < popupheight || width < popupwidth) {
wot_popup.hidelayer(content);
- return
+ return;
}
- var vscroll = event_view.pageYOffset;
- var hscroll = event_view.pageXOffset;
+ var vscroll = isNaN(event_view.pageYOffset) ? 0 : parseInt(event_view.pageYOffset);
+ var hscroll = isNaN(event_view.pageXOffset) ? 0 : parseInt(event_view.pageXOffset);
// more accurate way to calc position
// got from http://javascript.ru/ui/offset
@@ -396,18 +424,29 @@ var wot_popup =
var docElem = content.documentElement;
var body = content.body;
- var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
- var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
+
+ var y_offset = 0; // vertical offset for the pointer (which is not implemented yet)
+
+ var scrollTop = event_view.pageYOffset || docElem.scrollTop || body.scrollTop;
+ var scrollLeft = event_view.pageXOffset || docElem.scrollLeft || body.scrollLeft;
var clientTop = docElem.clientTop || body.clientTop || 0;
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
var y = box.top + scrollTop - clientTop;
var x = box.left + scrollLeft - clientLeft;
- var posy = wot_popup.offsety + y + wot_popup.target.offsetHeight;
+ var posy = wot_popup.offsety + y;// + wot_popup.target.offsetHeight;
var posx = wot_popup.offsetx + x + wot_popup.target.offsetWidth;
+ if (posy < vscroll) {
+ // if placeholder's top doesn't fit into view, align it to the view
+ posy = vscroll;
+ }
+
if (posy + popupheight > height + vscroll) {
- posy = y - popupheight - wot_popup.offsety;
+ if (posy < height + vscroll) {
+ y_offset = height + vscroll - y;
+ }
+ posy = (y - popupheight + height + vscroll + wot_popup.offsety)/2;
}
if (posx - hscroll < 0) {
@@ -418,7 +457,7 @@ var wot_popup =
var appearance = ++wot_popup.appearance;
- if (layer.style.display != "none") {
+ if (layer.style.visibility != "hidden") {
layer.style.top = posy + "px";
layer.style.left = posx + "px";
} else {
@@ -427,12 +466,12 @@ var wot_popup =
appearance == wot_popup.appearance) {
layer.style.top = posy + "px";
layer.style.left = posx + "px";
- layer.style.display = "block";
+ layer.style.visibility = "visible";
}
}, wot_prefs.popup_show_delay);
}
} catch (e) {
- dump("wot_popup.onmouseover: failed with " + e + "\n");
+ wdump("wot_popup.onmouseover: failed with " + e);
}
}
};
diff --git a/chrome/wot.jar!/content/prefs.js b/chrome/wot.jar!/content/prefs.js
index c2ada5e..c2634c7 100644
--- a/chrome/wot.jar!/content/prefs.js
+++ b/chrome/wot.jar!/content/prefs.js
@@ -170,12 +170,13 @@ var wot_prefs =
return false;
},
- getChar: function(name, default_value)
+ getChar: function(name, default_value, safe_utf8)
{
try {
- if (this.pref.getPrefType(WOT_PREF +
- name) == this.pref.PREF_STRING) {
- return this.pref.getCharPref(WOT_PREF + name);
+ if (this.pref.getPrefType(WOT_PREF + name) == this.pref.PREF_STRING) {
+ var res = this.pref.getCharPref(WOT_PREF + name);
+
+ return safe_utf8 ? wot_util.decode_utf8(res) : res; // decode from utf8
}
} catch (e) {
dump("wot_prefs.getChar(" + name + "): failed with " + e + "\n");
@@ -183,11 +184,14 @@ var wot_prefs =
return default_value;
},
- setChar: function(name, value)
+ setChar: function(name, value, safe_utf8)
{
try {
- this.pref.setCharPref(WOT_PREF + name, value);
- return true;
+ if (this.pref) {
+ value = safe_utf8 ? wot_util.encode_utf8(value) : value; // endode to utf8 if needed
+ this.pref.setCharPref(WOT_PREF + name, value);
+ return true;
+ }
} catch (e) {
dump("wot_prefs.setChar(" + name + "): failed with " + e + "\n");
}
@@ -233,6 +237,26 @@ var wot_prefs =
}
},
+ setSmart: function (name, value) {
+ // Looks up through preferences names and call the proper function to set the value of the named preference
+ var prefs_sets = [
+ [wot_prefs_char, wot_prefs.setChar],
+ [wot_prefs_int, wot_prefs.setInt ],
+ [wot_prefs_bool, wot_prefs.setBool]
+ ];
+
+ for (var s = 0; s < prefs_sets.length; s++) {
+ var pset = prefs_sets[s][0];
+ for (var i = 0; i < pset.length; ++i) {
+ if (pset[i][0] === name) {
+ var func = prefs_sets[s][1];
+ func.call(wot_prefs, name, value);
+ return;
+ }
+ }
+ }
+ },
+
sync: function()
{
try {
diff --git a/chrome/wot.jar!/content/ratingwindow.js b/chrome/wot.jar!/content/ratingwindow.js
new file mode 100644
index 0000000..675ddad
--- /dev/null
+++ b/chrome/wot.jar!/content/ratingwindow.js
@@ -0,0 +1,447 @@
+/*
+ ratingwindow.js
+ Copyright © 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_rw = {
+
+ RW_URL: "chrome://wot/content/rw/ratingwindow.html",
+ FRAME_ID: "wot-rwframe",
+ is_inited: false,
+ is_visible: false,
+ CHAN_ELEM_ID: "wot-ratingwindow",
+ CHAN_EVENT_ID: "wotrw",
+ IGNORED_PREFS: ["ratingwindow_shown"],
+ LEVELS: ["registered"], // list of possible levels to test
+
+ get_rw_window: function () {
+ var rw_frame = document.getElementById(this.FRAME_ID);
+ return rw_frame ? rw_frame.contentWindow : null;
+ },
+
+ get_rw_document: function () {
+ var rw_frame = document.getElementById(this.FRAME_ID);
+ return rw_frame ? rw_frame.contentDocument : null;
+ },
+
+ get_rw_wot: function () {
+ var rw = this.get_rw_window();
+ return rw ? rw.wot : null;
+ },
+
+ unseenmessage: function () {
+ try {
+ if (wot_api_query.message_id.length > 0 &&
+ wot_api_query.message_id !=
+ WOT_SERVICE_XML_QUERY_MSG_ID_MAINT) {
+ wot_prefs.setChar("last_message", wot_api_query.message_id);
+ }
+ } catch (e) {
+ wdump("wot_rw.unseenmessage: failed with " + e);
+ }
+ },
+
+ hide_ratingwindow: function () {
+ var popup = document.getElementById("wot-popup");
+ if (popup) {
+ popup.hidePopup();
+ }
+ },
+
+ /* Called when the popup window is hidden */
+ on_hide_popup: function()
+ {
+ this.is_visible = false;
+ try {
+ wot_rw.unseenmessage();
+
+ var rw_wot = wot_rw.get_rw_wot();
+ rw_wot.ratingwindow.finishstate(true); // finish state with unload = true to indicate the unintentional closing of RW
+
+ /* Stores any pending testimonies */
+ wot_core.update();
+ } catch (e) {
+ wdump("wot_rw.hide_popup: failed with " + e);
+ }
+ },
+
+ on_rw_open: function (event) {
+
+ var rw = this.get_rw_window(),
+ rw_doc = this.get_rw_document(),
+ rw_wot = this.get_rw_wot();
+
+ if (!rw || !rw_doc || !rw_wot) return;
+
+ this.is_visible = true;
+
+ if (!this.is_inited) {
+ this.initialize(rw, rw_doc, rw_wot);
+ // RW will ask BG to update it, so no need to update it here
+ } else {
+ wot_rw.update(); // RW is already loaded so we need to just update it
+ }
+
+ // We ignore attempts of RW to increase the counter. Instead, we increase it here.
+ wot_prefs.setInt("ratingwindow_shown", wot_prefs.ratingwindow_shown + 1);
+ },
+
+ update_messages: function () {
+ /* Sets message data into RW */
+ try {
+ var rw = this.get_rw_window();
+ if (!rw) return;
+
+ var msg_data = {
+ text: "",
+ id: null,
+ url: null,
+ status: null
+ };
+
+ if (wot_api_query.message.length != 0 && wot_api_query.message_type.length != 0) {
+ msg_data.text = wot_api_query.message;
+ msg_data.status = wot_api_query.message_type;
+ msg_data.id = wot_api_query.message_id;
+ msg_data.url = wot_api_query.message_url;
+ }
+
+ rw.wot_bg.wot.core.moz_set_usermessage(JSON.stringify(msg_data));
+
+ } catch (e) {
+ wdump("ERROR: wot_ratingwindow.update_messages(): Failed / " + e);
+ }
+ },
+
+ get_cached: function () {
+
+ var target = wot_core.hostname,
+ data = {};
+
+
+ if (target && wot_cache.isok(target)) {
+ var normalized_target = wot_cache.get(target, "normalized") || target;
+
+ // prepare data for the RW
+ data = {
+ target: target,
+ updated: wot_cache.get(target, "time"),
+ cached: {
+ status: wot_cache.get(target, "status"),
+ value: {
+ normalized: wot_shared.decodehostname(normalized_target)
+ },
+ comment: wot_cache.get_comment(target)
+ }
+ };
+
+ // fill it with reputation data
+ for (var i = 0; i < WOT_COMPONENTS.length; i++) {
+ var app = WOT_COMPONENTS[i];
+ var rep = wot_cache.get(target, "reputation_" + app),
+ cnf = wot_cache.get(target, "confidence_" + app),
+ exl = wot_cache.get(target, "excluded_" + app),
+ t = wot_cache.get(target, "testimony_" + app);
+
+ if (!data.cached.value[app]) {
+ data.cached.value[app] = {};
+ }
+
+ data.cached.value[app].r = exl ? -2 : rep;
+ data.cached.value[app].c = exl ? 0 : cnf;
+ data.cached.value[app].t = t;
+ }
+
+ data.cached.value.cats = wot_categories.target_categories(target);
+ data.cached.value.blacklist = wot_categories.target_blacklists(target);
+
+ } else {
+ data = {
+ target: target,
+ updated: null,
+ cached: {
+ status: WOT_QUERY_ERROR,
+ value: {
+ normalized: target
+ }
+ }
+ };
+ }
+
+ return data;
+ },
+
+ resetstate: function () {
+ // This is only needed when user rates a website via scorecard. In order to update the RW because it might have
+ // cached old testimonies already
+ var rw_wot = this.get_rw_wot();
+ if (rw_wot) {
+ rw_wot.ratingwindow.resetstate();
+ }
+ },
+
+ update: function () {
+ // Updates content of Rating Window. RW must be already initialized (locales, categories info, etc).
+// wdump("RW.update()");
+
+ if (!this.is_visible) return;
+
+ var rw = this.get_rw_window(),
+ rw_doc = this.get_rw_document(),
+ rw_wot = this.get_rw_wot(),
+ target = wot_core.hostname;
+
+// wdump("\tTarget: " + target);
+
+ if (!rw || !rw_doc || !rw_wot) return;
+
+ var data = wot_rw.get_cached();
+
+ wot_rw.push_preferences(rw, wot_rw.get_preferences()); // update preferences every time before showing RW
+
+ wot_rw.update_messages();
+
+ // set the user's activity score additionally to bg.wot.core.
+ // FIXME: use activity score provided by preferences in RW instead of direct manupulation of core.usercontent[]
+ if (rw.wot_bg) {
+ rw.wot_bg.wot.core.usercontent = [
+ { "label": wot_prefs.activity_score }
+ ];
+ }
+
+ // iterate through known user levels to find current one and provide it to rating window
+ for (var l, i=0; i < wot_rw.LEVELS.length; i++) {
+ l = wot_rw.LEVELS[i];
+ if (wot_crypto.islevel(l) && rw.wot_bg) {
+ rw.wot_bg.wot.core._level = l; // set the level into rating window
+ break;
+ }
+ }
+
+// wdump("\tdata: " + JSON.stringify(data));
+
+ rw_wot.ratingwindow.update(target, JSON.stringify(data));
+ },
+
+ update_ratingwindow_comment: function () {
+
+ var target = wot_core.hostname,
+ cached = wot_rw.get_cached(),
+ rw = wot_rw.get_rw_window(),
+ rw_wot = wot_rw.get_rw_wot(),
+ local_comment = wot_keeper.get_comment(target); // get locally stored comment if exists
+
+ rw_wot.ratingwindow.update_comment(cached.cached, local_comment, wot_cache.get_captcha());
+ },
+
+ get_preferences: function () {
+ var prefs = {};
+ try {
+ prefs = {
+ accessible: wot_prefs.accessible,
+ show_fulllist: wot_prefs.show_fulllist,
+ ratingwindow_shown: wot_prefs.ratingwindow_shown, // this has special processing
+ activity_score: wot_prefs.activity_score,
+ wt_rw_ok: wot_prefs.wt_rw_ok,
+ wt_rw_shown: wot_prefs.wt_rw_shown,
+ wt_rw_shown_dt: wot_prefs.wt_rw_shown_dt
+ };
+
+ } catch (e) {
+ wdump("ERROR: wot_rw.get_preferences() raised an exception: " + e);
+ }
+
+// wdump("prefs: " + JSON.stringify(prefs));
+
+ return prefs;
+ },
+
+ push_preferences: function (rw, prefs) {
+ try {
+ rw.wot_bg.wot.prefs.load_prefs(JSON.stringify(prefs));
+
+ } catch (e) {
+ wdump("ERROR: wot_rw.push_preferences() raised an exception: " + e);
+ }
+ },
+
+ on_submit: function (data) {
+// wdump("RW: on_submit() " + JSON.stringify(data));
+
+ if (!data || !data.params) {
+ wdump("on_submit() received empty data to submit.");
+ return;
+ }
+
+ var target = data.target,
+ testimony_0 = data.params.testimony_0,
+ testimony_4 = data.params.testimony_4,
+ votes = data.params.votes,
+ changed_votes = data.params.changed_votes; // as object
+
+ if (target && wot_cache.isok(target)) {
+ wot_cache.set(target, "testimony_0", Number(testimony_0));
+ wot_cache.set(target, "testimony_4", Number(testimony_4));
+ wot_cache.set(target, "votes", votes); // votes as a string ready to submit. Real cache update should be done later.
+
+ // Update cached categories with user's votes
+ var cached_categories = wot_categories.target_categories(target);
+ for (var cid in changed_votes) {
+ if (cached_categories[cid]) {
+ // if category is assigned to the site already just update the vote
+ cached_categories[cid].v = changed_votes[cid];
+ } else {
+ // if cat is not assigned yet do it now
+ cached_categories[cid] = wot_categories.get_category(cid);
+ cached_categories[cid].v = changed_votes[cid];
+ }
+ }
+ wot_categories.cache_categories(target, cached_categories); // put it back to the cache
+
+ wot_cache.set(target, "pending", true);
+ wot_core.pending[target] = true;
+
+ if (data.update_rw) wot_core.update(); // updating rating window before the comment is also submitted is not a good idea
+ }
+ },
+
+ on_ratingwindow_event: function (event) {
+ try {
+ var details = event.detail;
+ if (!details) return false;
+
+// wdump("on_ratingwindow_event() " + JSON.stringify(details));
+
+ var message_id = details.message_id,
+ data = details.data;
+
+ // Important: don't use "this" here, because it points to other than wot_rw object!
+
+ switch (message_id) {
+ case "update": // bg.wot.core.update() is called from RW
+ if (data && data.update_rw) {
+ wot_rw.update();
+ }
+ // TODO: do other updates (e.g. toolbar icon, etc)
+ wot_commands.update(); // Update button's context menu
+ break;
+
+ case "update_ratingwindow_comment":
+ wot_rw.update_ratingwindow_comment();
+ break;
+
+ case "unseenmessage":
+ wot_rw.unseenmessage();
+ break;
+
+ case "navigate":
+ wot_browser.open_wotsite(data.url, "", "", data.context, true, true);
+ wot_rw.hide_ratingwindow();
+ break;
+
+ case "prefs:set":
+ if (data.key && wot_rw.IGNORED_PREFS.indexOf(data.key) < 0) { // ignore special prefs
+ wot_prefs.setSmart(data.key, data.value); // not good to assume Char type here, so be careful
+ }
+ break;
+
+ case "close":
+ wot_rw.hide_ratingwindow();
+ break;
+
+ case "submit":
+ wot_rw.on_submit(data);
+ break;
+
+ case "get_comment":
+ wot_api_comments.get(data.target);
+ break;
+
+ case "submit_comment":
+ wot_api_comments.submit(data.target, data.user_comment, data.user_comment_id, data.votes);
+ break;
+
+ case "remove_comment":
+ wot_api_comments.remove(data.target);
+ break;
+
+ case "keeper.remove_comment":
+ wot_keeper.remove_comment(data.target);
+ break;
+
+ case "keeper.save_comment":
+ wot_keeper.save_comment(data.target, data.user_comment, data.user_comment_id, data.votes, data.keeper_status);
+ break;
+ }
+
+ return true;
+
+ } catch (e) {
+ wdump("ERROR: wot_rw.on_ratingwindow_event() raised an exception: " + e);
+ }
+ },
+
+ init_channel: function (elem_id, event_id) {
+ var doc = this.get_rw_document(),
+ rw = this.get_rw_window();
+
+ if (!doc || !rw) return false;
+
+ rw.wot_bg.wot.core.moz_connect(elem_id, event_id);
+
+ var chan = doc.getElementById(elem_id);
+ if (chan) {
+ chan.addEventListener(event_id, this.on_ratingwindow_event);
+ } else {
+ wdump("Can't find 'wot-ratingwindow' element in RatingWindow DOM. Very bad!");
+ }
+
+ return true;
+ },
+
+ initialize: function (rw, rw_doc, rw_wot) {
+ try {
+ this.init_channel(this.CHAN_ELEM_ID, this.CHAN_EVENT_ID);
+
+ var locale_strings = wot_util.get_all_strings();
+ rw.chrome.i18n.loadMessages(JSON.stringify(locale_strings)); // using JSON to push data to sandboxed content
+
+ var prefs = this.get_preferences();
+ this.push_preferences(rw, prefs);
+// wdump(JSON.stringify(prefs));
+
+ // setup categories data in the RW
+ rw_wot.categories = wot_categories.categories;
+ rw_wot.grouping = wot_categories.grouping;
+ rw_wot.cgroups = wot_categories.cgroups;
+
+ // init other values
+ rw_wot.firstrunupdate = WOT_FIRSTRUN_CURRENT;
+
+ rw_wot.ratingwindow.onload(); // this runs only once in FF
+
+ this.is_inited = true;
+
+ } catch (e) {
+ wdump("Failed with wot_rw.initialize()" + e);
+ }
+ }
+
+};
+
+wot_modules.push({ name: "wot_rw", obj: wot_rw });
\ No newline at end of file
diff --git a/chrome/wot.jar!/content/rw/keeper_constants.js b/chrome/wot.jar!/content/rw/keeper_constants.js
new file mode 100644
index 0000000..d13d77f
--- /dev/null
+++ b/chrome/wot.jar!/content/rw/keeper_constants.js
@@ -0,0 +1,27 @@
+/*
+ keeper_constants.js
+ Copyright © 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/>.
+ */
+
+$.extend(wot, { keeper: {
+
+ STATUSES: {
+ LOCAL: 1,
+ SUBMITTING: 2
+ }
+}});
\ No newline at end of file
diff --git a/chrome/wot.jar!/content/rw/proxies.js b/chrome/wot.jar!/content/rw/proxies.js
new file mode 100644
index 0000000..0f2e9e7
--- /dev/null
+++ b/chrome/wot.jar!/content/rw/proxies.js
@@ -0,0 +1,288 @@
+/*
+ proxies.js
+ Copyright © 2009 - 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/>.
+ */
+
+// The purpose of this file is to handle objects and methods that exist in Chrome browser but doesn't in Firefox
+
+var wot_bg = {
+ wot: {}
+}; // background page object
+
+$.extend(wot_bg.wot, wot, {
+
+ prefs: { // preferences
+
+ _prefs: {},
+
+ get: function (k) {
+ return wot_bg.wot.prefs._prefs[k];
+ },
+
+ set: function (k, v) {
+ var _this = wot_bg.wot;
+ // TODO: implement pushing setting preferences to the BG
+ wot_bg.wot.prefs._prefs[k] = v;
+ _this.core.moz_send("prefs:set", {key: k, value: v});
+ },
+
+ load_prefs: function (json_data) {
+ wot_bg.wot.prefs._prefs = JSON.parse(json_data);
+ wot_bg.wot.wt.load_settings(); // update WelcomeTips settings from preferences
+ }
+ },
+
+ core: { // stubs of Background page
+
+ _level: "", // TODO: implement getting current user "level",
+ _moz_element_id: null,
+ _moz_event_id: null,
+ badge: {
+ text: "",
+ type: null
+ },
+
+ usermessage: {},
+
+ is_level: function (level) {
+ return wot_bg.wot.core._level == level;
+ },
+
+ update: function (update_rw) {
+ wot_bg.wot.core.moz_send("update", { update_rw: update_rw}); // ask BG to update rating window
+ },
+
+ update_ratingwindow_comment: function () {
+ wot_bg.wot.core.moz_send("update_ratingwindow_comment", null); // ask BG to update comment data
+ },
+
+ unseenmessage: function () {
+ wot_bg.wot.core.moz_send("unseenmessage", null);
+ },
+
+ open_mywot: function(page, context) {
+ wot.ratingwindow.navigate(page, context);
+ },
+
+ moz_set_usermessage: function (json_data) {
+ // Takes jsoned message to show it user in RW
+
+ var data = JSON.parse(json_data);
+ if (data && data.text) wot_bg.wot.core.usermessage = data;
+ },
+
+ moz_connect: function (element_id, event_id) {
+ // init communication channel's properties
+ wot_bg.wot.core._moz_element_id = element_id;
+ wot_bg.wot.core._moz_event_id = event_id;
+ },
+
+ moz_send: function (message_id, data) {
+ // Sends event with data to background code (outside of RatingWindow)
+ var obj = document.getElementById(wot_bg.wot.core._moz_element_id);
+ var e = new CustomEvent(wot_bg.wot.core._moz_event_id, {
+ "detail": {
+ "message_id": message_id,
+ "data": data
+ }
+ });
+ obj.dispatchEvent(e);
+ }
+ },
+
+ keeper: {
+ remove_comment: function (target) {
+ wot_bg.wot.core.moz_send("keeper.remove_comment", { target: target });
+ },
+
+ save_comment: function (target, user_comment, user_comment_id, votes, keeper_status) {
+ wot_bg.wot.core.moz_send("keeper.save_comment", {
+ target: target,
+ user_comment: user_comment,
+ user_comment_id: user_comment_id,
+ votes: votes,
+ keeper_status: keeper_status
+ });
+ }
+ },
+
+ url: {
+ decodehostname: function (v) { return v;} // no need to process data in RW since it is already process in BG
+ },
+
+ api: {
+
+ submit: function (target, params, update_rw) {
+ wot_bg.wot.core.moz_send("submit", { target: target, params: params, update_rw: update_rw });
+ },
+
+ comments: {
+
+ get: function (target) {
+ wot_bg.wot.core.moz_send("get_comment", { target: target });
+ },
+
+ submit: function (target, user_comment, user_comment_id, votes) {
+ wot_bg.wot.core.moz_send("submit_comment", {
+ target: target,
+ user_comment: user_comment,
+ user_comment_id: user_comment_id,
+ votes: votes
+ });
+ },
+
+ remove: function (target) {
+ wot_bg.wot.core.moz_send("remove_comment", { target: target });
+ }
+
+ }
+
+ },
+
+ cache: {
+ cacheratingstate: function (target, state, votes) {
+ // Detects whether testimonies where changed.
+ // This function doesn't store anything in the Cache as against Chrome implementation.
+ // TODO: it should store new state/votes so when finish state is called again it doesn't send ratings second time
+
+ var changed = false,
+ obj = wot.ratingwindow.getcached();
+
+ wot.components.forEach(function(item) {
+ if (state[item.name]) {
+ obj.value[item.name] = obj.value[item.name] || {};
+
+ if (obj.value[item.name].t != state[item.name].t) {
+ obj.value[item.name].t = state[item.name].t;
+ changed = true;
+ return false; // exit the cycle
+ }
+ }
+ });
+
+ if (!wot.utils.isEmptyObject(votes)) {
+ for (var cid in votes) {
+ if (!obj.value.cats[cid]) {
+ obj.value.cats[cid] = {
+ id: cid,
+ c: 0 // since it wasn't in the cache, then it is not identified (?)
+ }
+ }
+ obj.value.cats[cid].v = votes[cid];
+ }
+ changed = true;
+ }
+
+ return changed;
+
+ },
+
+ setflags: function (target, flags) {
+ // {warned: true, warned_expire: warned_expire }
+ // TODO: implement sending flags to BG cache
+ }
+ },
+
+ ga: {}, // this object is replaced on every chrome.extension.getBackgroundPage() call
+
+ wt: { // Welcome Tips proxy wrapper
+
+ settings: {
+ rw_ok: false,
+ rw_shown: 0,
+ rw_shown_dt: null
+ },
+
+ save_setting: function(name) {
+ var bg = chrome.extension.getBackgroundPage(),
+ _this = wot_bg.wot.wt;
+
+ if (_this.settings[name] !== undefined) {
+ bg.wot.prefs.set("wt_"+name, _this.settings[name]);
+ }
+ },
+
+ load_settings: function () {
+ var _this = wot_bg.wot.wt;
+ for (var name in _this.settings) {
+ if (_this.settings.hasOwnProperty(name)) {
+ var val = wot_bg.wot.prefs.get("wt_" + name);
+ if (val !== undefined) {
+ _this.settings[name] = wot_bg.wot.prefs.get("wt_" + name);
+ }
+ }
+ }
+ }
+ }
+ });
+
+ wot_bg.console = {
+
+ log: function(args) {
+ if (window.console && window.console.log) {
+ window.console.log("LOG: " + arguments[1] + " , " + arguments[2] + " , " + arguments[3]);
+ }
+ wot_bg.wot.core.moz_send("log", { args: arguments });
+ },
+ warn: function (args) {
+ if (window.console && window.console.log) {
+ window.console.log("WARN: " + arguments[1] + " , " + arguments[2] + " , " + arguments[3]);
+ }
+ wot_bg.wot.core.moz_send("log", { args: arguments });
+ },
+ error: function (args) {
+ if (window.console && window.console.log) {
+ window.console.log("ERROR: " + arguments[1] + " , " + arguments[2] + " , " + arguments[3]);
+ }
+ wot_bg.wot.core.moz_send("log", { args: arguments });
+ }
+ };
+
+// IN order to allow RatingWindow to close itself we redefine the global method (what a nasty life!).
+window.close = function() {
+ wot_bg.wot.core.moz_send("close", null);
+};
+
+// Magic trick to supply wot.prefs with actual code
+$.extend(wot, { prefs: wot_bg.wot.prefs });
+
+var chrome = {
+ extension: {
+ getBackgroundPage: function () {
+ if (wot.ga) {
+ wot_bg.wot.ga = wot.ga; // init/update the GA object
+ }
+ return wot_bg;
+ }
+ },
+
+ i18n: {
+
+ messages: {},
+
+ getMessage: function(c) {
+ return chrome.i18n.messages[c];
+ },
+
+ loadMessages: function (json_data) {
+ chrome.i18n.messages = JSON.parse(json_data);
+ }
+
+ }
+};
+
diff --git a/chrome/wot.jar!/content/rw/ratingwindow.html b/chrome/wot.jar!/content/rw/ratingwindow.html
new file mode 100644
index 0000000..548145a
--- /dev/null
+++ b/chrome/wot.jar!/content/rw/ratingwindow.html
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+
+<!--
+ ratingwindow.html
+ Copyright © 2009 - 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/>.
+-->
+
+<html>
+<head>
+ <script type="text/javascript" src="chrome://wot/content/libs/jquery.js"></script>
+ <script type="text/javascript" src="chrome://wot/content/libs/jquery.menu-aim.js"></script>
+ <script type="text/javascript" src="chrome://wot/content/rw/wot.js"></script>
+ <script type="text/javascript" src="chrome://wot/content/rw/proxies.js"></script>
+ <script type="text/javascript" src="chrome://wot/content/rw/keeper_constants.js"></script>
+ <script type="text/javascript" src="chrome://wot/content/injections/ga_configure.js"></script>
+ <script type="text/javascript" src="chrome://wot/content/rw/ratingwindow.js"></script>
+
+ <style type="text/css">
+ @import "chrome://wot/skin/ratingwindow.css";
+ @import "chrome://wot/skin/welcometips.css";
+ </style>
+</head>
+<body>
+<div id="wot-ratingwindow">
+
+ <div id="wot-elements">
+ <!-- header -->
+ <div id="wot-header">
+ <div id="header-line-1">
+ <div id="wot-header-logo"></div>
+ <div id="wot-header-links">
+ <div id="wot-header-link-profile" class="wot-header-link"></div>
+ <div id="wot-header-link-forum" class="wot-header-link"></div>
+ <div id="wot-header-link-guide" class="wot-header-link"></div>
+ <div id="wot-header-link-settings" class="wot-header-link"></div>
+ </div>
+ <div id="wot-header-close"></div>
+ </div>
+ <div id="header-line-2">
+ <span id="wot-title-text"></span>
+ <span id="hostname-text"></span>
+ </div>
+ </div>
+
+ <div id="ratings-area">
+ <!-- rating header -->
+ <div id="wot-myratings-header">
+ <div id="myrating-header"></div>
+ <div id="wot-myrating-0-header"></div>
+ <div id="wot-myrating-4-header"></div>
+ </div>
+ <!-- rating 0 / Trustworthiness -->
+ <div id="wot-rating-0" class="wot-rating">
+ <div id="wot-rating-0-data" class="wot-rating-data" component="0">
+ <div id="wot-rating-0-testimony" class="wot-rating-testimony">
+ <div id="wot-rating-0-help" class="wot-rating-help">
+ <div id="wot-rating-0-helptext" class="wot-rating-helptext"></div>
+ <div id="wot-rating-0-helplink" class="wot-rating-helplink"></div>
+ </div>
+ <div class="wot-rating-bounds">
+ <div id="wot-rating-0-boundleft" class="rating-bound-left"></div>
+ <div id="wot-rating-0-boundright" class="rating-bound-right"></div>
+ </div>
+ <div id="wot-rating-0-stack" class="wot-rating-stack" component="0">
+ <div id="wot-rating-0-slider" class="wot-rating-slider"></div>
+ <div id="wot-rating-0-indicator" class="wot-rating-indicator"></div>
+ </div>
+ <div id="wot-rating-0-delete" class="rating-delete">
+ <div id="wot-rating-0-deleteicon" class="rating-delete-icon"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- rating 4 / Child Safety -->
+ <div id="wot-rating-4" class="wot-rating">
+ <div id="wot-rating-4-data" class="wot-rating-data" component="4">
+ <div id="wot-rating-4-testimony" class="wot-rating-testimony">
+ <div id="wot-rating-4-help" class="wot-rating-help">
+ <div id="wot-rating-4-helptext" class="wot-rating-helptext"></div>
+ <div id="wot-rating-4-helplink" class="wot-rating-helplink"></div>
+ </div>
+ <div class="wot-rating-bounds">
+ <div id="wot-rating-4-boundleft" class="rating-bound-left"></div>
+ <div id="wot-rating-4-boundright" class="rating-bound-right"></div>
+ </div>
+ <div id="wot-rating-4-stack" class="wot-rating-stack" component="4">
+ <div id="wot-rating-4-slider" class="wot-rating-slider"></div>
+ <div id="wot-rating-4-indicator" class="wot-rating-indicator"></div>
+ </div>
+ <div id="wot-rating-4-delete" class="rating-delete">
+ <div id="wot-rating-4-deleteicon" class="rating-delete-icon"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="user-comm-activity">
+ <div id="wot-user-0-header" class="wot-user-header"></div>
+ <div id="user-activityscore"></div>
+ <div id="wot-user-0-notice" class="wot-user-notice"></div>
+ </div>
+
+ <div id="rated-votes">
+ <div id="voted-categories">
+ <div id="voted-categories-content"></div>
+ </div>
+ <div id="change-ratings"></div>
+ </div>
+ </div>
+
+ <div id="main-area" class="view-mode">
+ <div id="reputation-info">
+ <div id="wot-rating-header-wot"></div>
+ <div class="rep-info-sections">
+ <div id="rep-block">
+
+ <div id="rep-0" class="rep-tr-block">
+ <div id="wot-rating-0-header" class="wot-rating-header"></div>
+ <div class="rating-values">
+ <div id="wot-rating-0-reputation" class="wot-rating-reputation"></div>
+ <div id="wot-rating-0-confidence" class="wot-rating-confidence"></div>
+ <div class="rating-legend-wrapper">
+ <div class="rating-legend"></div>
+ </div>
+ </div>
+ </div>
+
+ <div id="rep-4" class="rep-cs-block">
+ <div id="wot-rating-4-header" class="wot-rating-header"></div>
+ <div class="rating-values">
+ <div id="wot-rating-4-reputation" class="wot-rating-reputation"></div>
+ <div id="wot-rating-4-confidence" class="wot-rating-confidence"></div>
+ <div class="rating-legend-wrapper">
+ <div class="rating-legend"></div>
+ </div>
+ </div>
+ </div>
+
+ <!-- TODO: simplify this -->
+ <div id="wot-scorecard">
+ <div id="wot-scorecard-content">
+ <span id="wot-scorecard-visit" class="wot-scorecard-text"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="categories-area" style="display: block;">
+ <ul id="tr-categories-list"></ul>
+ </div>
+ </div>
+
+ </div>
+
+ <!-- Welcome Tip area -->
+ <div id="wot-welcometip" class="rtip-sticker">
+ <div class="wt-rw-header">
+ <span class="wt-rw-header-text">Share your experiences!</span>
+ <div class="wt-rw-close"></div>
+ </div>
+ <div class="wt-rw-body">
+ <p>WOT shows website reputations based on experiences from millions of users.</p>
+ <p>Leave your own rating by clicking the colored bars to indicate what you think of the site. Your rating helps other users surf safer.</p>
+ <p class="wot-c"><a id='wt-learnmore-link'>Learn more</a> about WOT.</p>
+ </div>
+ </div>
+
+ <!-- Rate mode: categories selector area -->
+ <div id="categories-selection-area">
+ <div class="category-description"></div>
+ <div class="category-title"></div>
+ <div class="category-selector">
+ <ul class="dropdown-menu"></ul>
+ </div>
+ </div>
+
+ <div id="commenting-area">
+ <div class="comment-title"></div>
+ <div id="comment-side-hint"></div>
+ <div id="comment-register">
+ <div id="comment-register-text"></div><br/>
+ <div><span id="comment-register-link"></span></div>
+ </div>
+ <div id="comment-captcha">
+ <div id="comment-captcha-text"></div><br/>
+ <div><span id="comment-captcha-link"></span></div>
+ </div>
+ <div class="user-comment-wrapper">
+ <textarea id="user-comment" placeholder=""></textarea>
+ <div id="comment-bottom-hint"></div>
+ </div>
+ </div>
+
+ <div id="thanks-area">
+ <div class="thanks-text"></div>
+ <div class="thanks-activityscore">
+ <span class="thanks-activityscore-text"></span>
+ <span class="thanks-activityscore-number"></span>
+ </div>
+ <div class="thanks-ratemore"></div>
+ </div>
+ </div>
+
+ <div id="bottom-area">
+
+ <div id="user-communication">
+ <div class="user-comm-social">
+ <!-- message -->
+ <div id="wot-message">
+ <div id="wot-message-text"></div>
+ </div>
+ <div class="social-buttons">
+
+ </div>
+ </div>
+ </div>
+
+ <div id="rate-buttons">
+ <div class="buttons-wrapper">
+ <div class="left-side">
+ <div id="btn-delete" title="">
+ <div class="btn-delete_icon"></div>
+ <div class="btn-delete_label"></div>
+ </div>
+ </div>
+ <div class="right-side">
+ <div id="btn-comment" class="rw-button" title=""></div>
+ <div id="btn-cancel" class="rw-button" title=""></div>
+ <div id="btn-submit" class="rw-button btn-submit disabled" title=""></div>
+ </div>
+ </div>
+ </div>
+
+ <div id="ok-button">
+ <div class="buttons-wrapper">
+ <div class="left-side"></div>
+ <div class="right-side">
+ <div id="btn-thanks-ok" class="rw-button" title=""></div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+
+ <!-- Old trash here -->
+ <div id="wot-user-0-text" class="wot-user-text" style="display: none;"></div>
+
+ <div id="wot-user-0-bar" class="wot-user-bar" style="display: none;">
+ <div id="wot-user-0-bar-image" class="wot-user-bar-image"></div>
+ </div>
+
+ <div id="wot-user-0-stack" class="wot-user-stack" style="display: none;"></div>
+ <div id="wot-user-0-text-container" class="wot-user-text-container" style="display: none;"></div>
+
+ </div>
+
+</div>
+
+<script type="text/javascript" src="chrome://wot/content/injections/ga_init.js"></script>
+</body>
+</html>
diff --git a/chrome/wot.jar!/content/rw/ratingwindow.js b/chrome/wot.jar!/content/rw/ratingwindow.js
new file mode 100644
index 0000000..2ad2d94
--- /dev/null
+++ b/chrome/wot.jar!/content/rw/ratingwindow.js
@@ -0,0 +1,2057 @@
+/*
+ ratingwindow.js
+ Copyright © 2009 - 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/>.
+ */
+
+$.extend(wot, { ratingwindow: {
+ MAX_VOTED_VISIBLE: 4, // how many voted categories we can show in one line
+ sliderwidth: 154,
+ slider_shift: -4, // ajustment
+ opened_time: null,
+ was_in_ratemode: false,
+ timer_save_button: null,
+ state: {}, // rating state
+ local_comment: null,
+ is_registered: false, // whether user has an account on mywot.com
+ delete_action: false, // remembers whether user is deleting rating
+ prefs: {}, // shortcut for background preferences
+ UPDATE_ROUND: 3, // = 3 version when we launched WOT 2.0 in September 2013
+
+ get_bg: function () {
+ // just a shortcut
+ return chrome.extension.getBackgroundPage();
+ },
+
+ is_rated: function (state) {
+ var ratings = wot.ratingwindow.getcached().value,
+ is_rated = false;
+
+// console.log("is_rated()", state, ratings);
+
+ state = state ? state : ratings;
+
+ // Detect if the website is rated by user, to activate proper mode
+ wot.components.forEach(function (i) {
+ var name = i.name;
+// console.log(name, state[name]);
+ if (state[name] && state[name].t >= 0) {
+ is_rated = true;
+ return false;
+ }
+ });
+
+ return is_rated;
+ },
+
+ resetstate: function () {
+ // resets testimonies state
+ wot.ratingwindow.state = { down: -1 };
+ },
+
+ updatestate: function(target, data)
+ {
+ var _this = wot.ratingwindow;
+ /* initialize on target change */
+ if (_this.state.target != target) {
+ _this.finishstate(false);
+ _this.state = { target: target, down: -1 };
+ }
+
+ var state = {
+ target: target
+ };
+
+ /* add existing ratings to state */
+ if (data && data.status == wot.cachestatus.ok) {
+ wot.components.forEach(function(item) {
+
+ var datav = data.value[item.name];
+
+ if (datav && datav.t >= 0) {
+ state[item.name] = { t: datav.t };
+ } else {
+ state[item.name] = { t: -1 };
+ }
+ });
+ }
+
+ /* remember previous state */
+ _this.state = $.extend(state, _this.state);
+ },
+
+ setstate: function (component, t) {
+ // This only changes the user's testimonies' state
+ var new_value = { name: component };
+ new_value.t = t >= 0 ? parseInt(t) : -1;
+ this.state[component] = new_value;
+ this.update_catsel_state();
+ },
+
+ delete_testimony: function(component) {
+ var _rw = wot.ratingwindow;
+ _rw.setstate(component, -1);
+ _rw.state.down = -1;
+ _rw.rate_control.updateratings({ name: component, t: -1 });
+ },
+
+ update_catsel_state: function () {
+ // update category selector based on user's testimonies
+ var cache = wot.ratingwindow.getcached();
+ var identified = (cache.value && cache.value.cats) ? cache.value.cats : [];
+ wot.ratingwindow.cat_selector.set_state(this.state, identified);
+ },
+
+ cat_difference: function (is_rated) {
+ var _rw = wot.ratingwindow;
+ var cache = _rw.getcached(),
+ cached_cats = (cache.value && cache.value.cats) ? cache.value.cats : {};
+ var old_votes = wot.select_voted(cached_cats), // from the cache. Object.
+ new_votes_arr = [], // user's votes. Array.
+ new_votes_obj = {},
+ diff = {}, // the difference in votes
+ cat = {};
+
+ // If user removed testimonies, we have to remove votes also. Otherwise take votes from the category selector
+ if (is_rated) {
+ new_votes_arr = _rw.cat_selector.get_user_votes(false); // get votes as array
+ }
+
+// console.log("old", old_votes);
+// console.log("new", new_votes_arr);
+
+ for(var i in new_votes_arr) {
+ cat = new_votes_arr[i];
+ new_votes_obj[cat.id] = cat.v;
+ // if the category voted the same previously, skip it
+ if (!(old_votes[cat.id] && old_votes[cat.id].v == cat.v)) {
+ diff[cat.id] = cat.v; // the category hasn't been voted previously
+ }
+ }
+
+ // look for removals of votes
+ for(cat in old_votes) {
+ if (new_votes_obj[cat] === undefined) {
+ // the category has been unvoted in current session
+ diff[cat] = 0;
+ }
+ }
+
+// console.log("diff", diff);
+ return diff;
+ },
+
+ _make_votes: function (diff) {
+ var votes = [];
+ for (var cat in diff) {
+ votes.push(String(cat) + ":" + diff[cat]);
+ }
+
+// console.log("votes", votes);
+
+ if (votes.length > 0) {
+ return votes.join("/") + "/";
+ } else {
+ return "";
+ }
+
+ },
+
+ has_votes: function () {
+ var _rw = wot.ratingwindow,
+ votes = _rw.cat_selector.get_user_votes(false);
+ return votes.length > 0;
+ },
+
+ finishstate: function(unload)
+ {
+ var rw = wot.ratingwindow,
+ bg = rw.get_bg();
+
+ try {
+ var bgwot = bg.wot, // shortage for perfomance and readability
+ target = "",
+ is_rated = false,
+ testimonies_changed = false,
+ comment_changed = false,
+ has_comment = false,
+ user_comment = $("#user-comment").val().trim(),
+ user_comment_id = 0,
+ cached = {},
+ changed_votes = {}, // user votes diff as an object
+ changed_votes_str = "", // user's votes diff for categories as string
+ votes = rw.cat_selector.get_user_votes(true), // user's votes for categories as object {cat_id : vote }
+ has_up_votes = rw.has_1upvote(votes),
+ votes_changed = false; // just a flag that votes have been changed
+
+ /* message was shown */
+
+ // on unload finishing, restore previous message or remove current
+ if (unload && bgwot.core.usermessage && bgwot.core.usermessage.previous) {
+ bgwot.core.usermessage = bgwot.core.usermessage.previous;
+ }
+
+ if (bgwot.core.unseenmessage()) {
+ bgwot.prefs.set("last_message", bg.wot.core.usermessage.id);
+ }
+
+ if (rw.state.target) {
+ target = rw.state.target;
+ cached = rw.getcached();
+ is_rated = rw.is_rated(rw.state);
+ changed_votes = rw.cat_difference(is_rated);
+ votes_changed = !wot.utils.isEmptyObject(changed_votes);
+
+ // Whether ratings OR categories were changed?
+ testimonies_changed = (rw.was_in_ratemode && (bgwot.cache.cacheratingstate(target, rw.state, changed_votes) || votes_changed));
+
+ has_comment = (user_comment.length > 0);
+
+ if (cached.comment && cached.comment.comment && cached.comment.comment.length > 0) {
+ user_comment_id = cached.comment.wcid;
+ comment_changed = (cached.comment.comment != user_comment);
+ } else {
+ comment_changed = has_comment; // since there was no comment before
+ user_comment_id = 0; // no previous comment, set cid to zero
+ }
+ }
+
+// bg.console.log("testimonies_changed:", testimonies_changed);
+// bg.console.log("comment_changed:", comment_changed);
+// bg.console.log("is_rated:", is_rated);
+// bg.console.log("has_comment:", has_comment);
+
+ /* if user's testimonies or categories were changed, store them in the cache and submit */
+ if (testimonies_changed) {
+
+ // don't show warning screen immediately after rating and set "expire to" flag
+ var warned_expire = (new Date()).getTime() + wot.expire_warned_after;
+ bgwot.cache.setflags(target, {warned: true, warned_expire: warned_expire });
+
+ /* submit new ratings */
+ var params = {};
+
+ wot.components.forEach(function(item) {
+ if (rw.state[item.name]) {
+ params["testimony_" + item.name] =
+ rw.state[item.name].t;
+ }
+ });
+
+ if (votes_changed) {
+ params.votes = rw._make_votes(changed_votes); // diff of votes
+ params._user_votes = votes; // all user's votes
+ params.changed_votes = changed_votes;
+ }
+
+ bgwot.api.submit(target, params, false); // don't update RW yet
+
+ // count testimony event
+ // TODO: add either label or number to count voted categories AND/OR whether ratings were deleted
+ bgwot.ga.fire_event(wot.ga.categories.RW, wot.ga.actions.RW_TESTIMONY);
+ } else {
+// bg.console.log("No testimonies & votes to submit them. Ignored.");
+ }
+
+ if (unload) { // RW was closed by browser (not by clicking "Save")
+// bg.console.log("RW triggered finish state during Unload");
+
+ if ((comment_changed)) {
+// bg.console.log("The comment seems to be changed");
+ // when comment body is changed, we might want to store it locally
+ bgwot.keeper.save_comment(target, user_comment, user_comment_id, votes, wot.keeper.STATUSES.LOCAL);
+ }
+
+ } else { // User clicked Save
+ // TODO: make it so, that if votes were changed and user have seen the comment, then submit the comment
+ if (comment_changed && has_up_votes) {
+ // Comment should be submitted, if (either comment OR categories votes were changed) AND at least one up vote is given
+ if (has_comment) {
+// bg.console.log("SUBMIT COMMENT");
+
+ // If user can't leave a comment for a reason, accept the comment locally, otherwise submit it silently
+ var keeper_status = (rw.comments.allow_commenting && rw.is_registered) ? wot.keeper.STATUSES.SUBMITTING : wot.keeper.STATUSES.LOCAL;
+ bgwot.keeper.save_comment(target, user_comment, user_comment_id, votes, keeper_status);
+
+ if (rw.comments.allow_commenting && rw.is_registered) {
+ // TODO: send GA signal about submitting a comment
+ bgwot.api.comments.submit(target, user_comment, user_comment_id, rw._make_votes(votes));
+ }
+
+ } else {
+ if (comment_changed) {
+ // remove the comment
+// bg.console.log("REMOVE COMMENT");
+ bgwot.keeper.remove_comment(target);
+ if (rw.is_registered) {
+ bgwot.api.comments.remove(target);
+ // TODO: send GA signal about removing a comment
+ }
+ }
+ }
+ }
+ }
+
+ /* update all views */
+ bgwot.core.update(false); // explicitly told to not update the rating window
+ } catch (e) {
+ bg.console.log("ratingwindow.finishstate: failed with ", e);
+ }
+ },
+
+ /* helpers */
+
+ navigate: function(url, context, fragment, keep_opened)
+ {
+ try {
+ fragment = fragment ? "#" + fragment : "";
+
+ var bg = wot.ratingwindow.get_bg();
+ bg.wot.core.moz_send("navigate", {
+ url: url,
+ context: context,
+ fragment: fragment
+ });
+
+ } catch (e) {
+ console.error("ratingwindow.navigate: failed with ", e);
+ }
+ },
+
+ getcached: function()
+ {
+ var _rw = wot.ratingwindow;
+ if (_rw.current.target && _rw.current.cached &&
+ _rw.current.cached.status == wot.cachestatus.ok) {
+ return _rw.current.cached;
+ }
+ return { value: {} };
+ },
+
+ getrating: function(e, stack)
+ {
+ var noopinion_threshold = 102;
+ try {
+ if (this.getcached().status == wot.cachestatus.ok) {
+ var slider = $(".wot-rating-slider", stack);
+
+ /* rating from slider position */
+ var position = 100 * (wot.ratingwindow.slider_shift + e.clientX - slider.offset().left) /
+ wot.ratingwindow.sliderwidth;
+
+ if (e.type == "mouseleave") position = noopinion_threshold + 1;
+
+ /* sanitize the rating value */
+ if (position < 0) {
+ position = 0;
+ } else if (position >= 100 && position <= noopinion_threshold) {
+ position = 100;
+ } else if (position > noopinion_threshold) {
+ position = -1;
+ } else {
+ position = position.toFixed();
+ }
+
+ return position;
+ }
+ } catch (e) {
+ console.log("ratingwindow.getrating: failed with ", e);
+ }
+
+ return -1;
+ },
+
+ /* user interface */
+
+ current: {},
+
+ updatecontents: function()
+ {
+ var bg = chrome.extension.getBackgroundPage(),
+ _this = wot.ratingwindow,
+ cached = _this.getcached(),
+ visible_hostname = "",
+ rw_title = "";
+
+ /* update current rating state */
+// _this.updatestate(_this.current.target, cached);
+ var normalized_target = cached.value.normalized ? cached.value.normalized : _this.current.target;
+
+ var $_hostname = $("#hostname-text"),
+ $_wot_title_text = $("#wot-title-text");
+
+ /* target */
+ if (_this.current.target && cached.status == wot.cachestatus.ok) {
+ visible_hostname = bg.wot.url.decodehostname(normalized_target);
+ rw_title = wot.i18n("messages", "ready");
+ } else if (cached.status == wot.cachestatus.busy) {
+ rw_title = wot.i18n("messages", "loading");
+ } else if (cached.status == wot.cachestatus.error) {
+ rw_title = wot.i18n("messages", "failed");
+ } else {
+ rw_title = wot.i18n("messages", _this.current.status || "notavailable");
+ }
+
+ $_hostname.text(visible_hostname);
+ $_wot_title_text.text(rw_title);
+
+ /* reputations */
+ /* ratings */
+
+ wot.components.forEach(function(item) {
+
+ var cachedv = cached.value[item.name];
+ var rep_level = (cached.status == wot.cachestatus.ok) ?
+ wot.getlevel(wot.reputationlevels,
+ (cachedv && cachedv.r != null) ? cachedv.r : -1).name : "r0";
+
+ $("#wot-rating-" + item.name + "-reputation").attr("reputation", rep_level);
+
+ $("#wot-rating-" + item.name + "-confidence").attr("confidence",
+ (cached.status == wot.cachestatus.ok) ?
+ wot.getlevel(wot.confidencelevels,
+ (cachedv && cachedv.c != null)? cachedv.c : -1).name : "c0");
+
+ var $_rep_legend = $("#rep-" + item.name + " .rating-legend");
+ $_rep_legend.attr("r", rep_level);
+ $_rep_legend.text(wot.get_level_label(item.name, rep_level, false));
+
+ var t = (cachedv && cachedv.t >= 0) ? cachedv.t : -1;
+
+ _this.rate_control.updateratings({ name: item.name, t: t }); // update visual ratingbars
+ });
+
+ /* message */
+
+ var msg = bg.wot.core.usermessage; // usual case: show a message from WOT server
+ var $_wot_message = $("#wot-message");
+ // if we have something to tell a user
+ if (msg.text) {
+ var status = msg.type || "";
+ $("#wot-message-text")
+ .attr("url", msg.url || "")
+ .attr("status", status)
+ .text(msg.text);
+
+ $_wot_message.attr("status", status).attr("msg_id", msg.id).show();
+ } else {
+ $_wot_message.hide();
+ }
+
+ /* content for user (messages / communications) */
+ $(".wot-user").hide();
+
+ // TODO: rewrite below: use activity score stored in Prefs instead.
+ var index = 0,
+ item = (bg.wot.core.usercontent && bg.wot.core.usercontent.length > 0) ? bg.wot.core.usercontent[0] : {},
+ user_header = wot.i18n("activityscore","text"),
+ user_as = 0,
+ $_user_text = $("#wot-user-0-text"),
+ as_notice = wot.i18n("activityscore", "next");
+
+ if (item.label && !isNaN(item.label)) {
+ user_as = parseInt(item.label); // for better security we use numeric
+ }
+
+ // insert next level name
+ var level_name = '<span class="user-level">' +
+ wot.i18n("activityscore", wot.get_user_level(user_as, true).name) +
+ '</span>';
+
+ as_notice = as_notice.replace("{NEXT_LEVEL}", level_name);
+
+ $("#wot-user-0-header").text(wot.i18n("activityscore", "text"));
+ $("#user-activityscore").text(user_as);
+
+ $(".thanks-activityscore-text").text(user_header); // on the "Thank you" screen
+ $(".thanks-activityscore-number").text(user_as); // on the "Thank you" screen
+ $(".thanks-ratemore").html(as_notice || ""); // on the "Thank you" screen
+
+ $_user_text.attr("url", item.url || "");
+
+ if (user_as < wot.AS_LEVELS.PLATINUM) {
+ $("#wot-user-0-notice").html(as_notice).show();
+ } else {
+ $("#wot-user-0-notice").hide();
+ }
+
+ if (item.text) {
+ $_user_text.text(item.text);
+ $("#wot-user-0").css("display", "block");
+ }
+
+ },
+
+ insert_categories: function (cat_list, $_target) {
+ $_target.hide(); // to prevent blinking during modification
+ $("li", $_target).remove(); // clean the list
+
+ for (var i in cat_list) {
+ var cdata = cat_list[i];
+ var cat_id = cdata.id,
+ cat_conf = wot.getlevel(wot.confidencelevels, cdata.c).name,
+ cgroup_style = wot.get_category_css(cat_id),
+ $_new_cat = $("<li class='cat-item'></li>"),
+ cat_text = wot.get_category_name(cat_id, true),
+ $_ico = $("<div class='ico'></div>");
+
+ if (cat_text) {
+ $_new_cat.text(cat_text);
+ $_new_cat.addClass([cgroup_style, cat_conf].join(" ")); // set group style, confidence style
+ $_ico.addClass([cgroup_style, cat_conf].join(" "));
+ $_new_cat.prepend($_ico);
+ $_target.append($_new_cat);
+ }
+ }
+ $_target.show();
+ },
+
+ update_categories: function () {
+// console.log("wot.ratingwindow.update_categories()");
+ var _rw = wot.ratingwindow,
+ cached = _rw.getcached(),
+ $_tr_list = $("#tr-categories-list");
+
+ try {
+ // delete categories from the visible area
+ _rw.insert_categories({}, $_tr_list);
+
+ if (_rw.current.target && cached.status == wot.cachestatus.ok && cached.value) {
+ var cats = cached.value.cats;
+ if (!wot.utils.isEmptyObject(cats)) {
+ var sorted = wot.rearrange_categories(wot.select_identified(cats)); // sort categories and split into two parts (TR, CS)
+ _rw.insert_categories(sorted.all, $_tr_list);
+ }
+ }
+ } catch (e) {
+ console.error("Failed to render categories", e);
+ }
+ },
+
+ update: function(target, data)
+ {
+
+ try {
+ var _rw = wot.ratingwindow;
+ var bg = chrome.extension.getBackgroundPage();
+
+ /* accessibility. Moved to update() because onload() is called only once */
+ $("#wot-ratingwindow").toggleClass("accessible", bg.wot.prefs.get("accessible"));
+
+ data = JSON.parse(data); // for safety
+
+ _rw.updatestate(data.target, data.cached);
+
+ _rw.current = data || {};
+ _rw.is_registered = bg.wot.core.is_level("registered"); // update the state on every window update
+
+ _rw.updatecontents();
+ _rw.update_categories();
+
+ if (_rw.is_registered) {
+ // ask server if there is my comment for the website
+ _rw.comments.get_comment(data.target);
+ } else {
+ bg.wot.core.update_ratingwindow_comment(); // don't allow unregistered addons to comment
+ }
+
+ _rw.modes.reset();
+ _rw.cat_selector.init_voted();
+ _rw.modes.auto();
+ } catch (e) {
+ console.log("ratingwindow.update: failed with ", e);
+ }
+ },
+
+ update_comment: function (cached, local_comment, captcha_required) {
+
+ var _rw = wot.ratingwindow,
+ _comments = wot.ratingwindow.comments,
+ data = {},
+ bg = chrome.extension.getBackgroundPage(),
+ is_unsubmitted = false;
+
+ _rw.current.cached = cached; // update current cached state
+ _rw.local_comment = local_comment; // keep locally stored comment
+
+ if (cached && cached.comment) {
+ data = cached.comment;
+ _rw.comments.captcha_required = captcha_required || false;
+ }
+
+ var error_code = data.error_code || 0;
+
+ _comments.allow_commenting = ([
+ wot.comments.error_codes.AUTHENTICATION_FAILED,
+ wot.comments.error_codes.COMMENT_NOT_ALLOWED,
+ wot.comments.error_codes.IS_BANNED
+ ].indexOf(error_code) < 0); // if none of these codes are found
+
+ _comments.is_banned = (error_code == wot.comments.error_codes.IS_BANNED);
+
+ // If there is a locally stored comment, use it if it's newer than server-stored one
+ if (local_comment && !wot.utils.isEmptyObject(local_comment)) {
+
+ // If server-side comment is newer, than drop locally stored one
+ if (local_comment.timestamp && data.timestamp && data.timestamp >= local_comment.timestamp) {
+ // Remove a comment from keeper
+ bg.wot.keeper.remove_comment(local_comment.target);
+ _rw.local_comment = null;
+ } else {
+ data.comment = local_comment.comment;
+ data.timestamp = local_comment.timestamp;
+ data.wcid = data.wcid === undefined ? 0 : data.wcid;
+ is_unsubmitted = true;
+ }
+ }
+
+ // check whether comment exists: "comment" should not be empty, and wcid should not be null (but it can be zero)
+ if (data && data.comment && data.wcid !== undefined) {
+ _comments.posted_comment = data;
+ _comments.set_comment(data.comment);
+ $("#rated-votes").addClass("commented");
+
+ // switch to commenting mode if we have unfinished comment
+ if (is_unsubmitted) {
+ _rw.modes.comment.activate();
+ }
+
+ } else {
+// bg.console.log("no comment to show");
+
+ _comments.set_comment("");
+ $("#rated-votes").removeClass("commented");
+ _comments.posted_comment = {};
+ }
+
+ // change appearance of commenting area regarding to permissions
+ if (!_rw.is_registered) {
+ // show the invitation to create an account
+ _rw.comments.show_register_invitation();
+
+ } else {
+ if (_rw.comments.captcha_required) {
+ _rw.comments.show_captcha_invitation();
+
+ } else if (_rw.comments.is_banned) {
+ // this is considered below
+ } else {
+ // normal mode
+ _rw.comments.show_normal_hint();
+ }
+ }
+
+ _comments.update_button(_rw.modes.current_mode, _comments.allow_commenting && !_comments.is_banned);
+ },
+
+ hide: function()
+ {
+ window.close();
+ },
+
+ count_window_opened: function () {
+ // increase amount of times RW was shown (store to preferences)
+
+ wot.log("RW: count_window_opened");
+
+ var bg = chrome.extension.getBackgroundPage();
+ var counter = bg.wot.prefs.get(wot.engage_settings.invite_to_rw.pref_name);
+ counter = counter + 1;
+ bg.wot.prefs.set(wot.engage_settings.invite_to_rw.pref_name, counter);
+ },
+
+ reveal_ratingwindow: function (no_animation) {
+ var $wtip = $("#wot-welcometip");
+ if (no_animation) {
+ $wtip.hide();
+ } else {
+ $wtip.animate({"height": 0, "opacity": 0.2}, {
+ duration: 100,
+ complete: function(){
+ $wtip.hide();
+ }
+ });
+ }
+ },
+
+ show_welcome_tip: function () {
+ // use small delay to allow GA script to initialize itself
+ window.setTimeout(function(){
+
+ $("#wot-welcometip").fadeIn();
+
+ // fire the event to GA, providing amount of minutes from installation to opening rating window
+ var bg = chrome.extension.getBackgroundPage();
+ var timesincefirstrun = Math.round((bg.wot.time_sincefirstrun() + 0.5) / wot.DT.MINUTE);
+ wot.ga.fire_event(wot.ga.categories.WT, wot.ga.actions.WT_RW_SHOWN, String(timesincefirstrun));
+ }, 500);
+ },
+
+ localize: function () {
+ /* texts */
+ wot.components.forEach(function(item) {
+ var n = item.name;
+ $("#wot-rating-" + n + "-header").text(wot.i18n("components", n));
+ $("#wot-myrating-"+ n +"-header").text(wot.i18n("ratingwindow", "question" + n));
+
+ $("#wot-rating-" + n + "-boundleft").text(wot.i18n("testimony", item.name + "_levels_" + wot.getlevel(wot.reputationlevels, 0).name));
+ $("#wot-rating-" + n + "-boundright").text(wot.i18n("testimony", item.name + "_levels_" + wot.getlevel(wot.reputationlevels, 100).name));
+ });
+
+ [
+ { selector: "#myrating-header", text: wot.i18n("ratingwindow", "myrating") },
+ { selector: "#wot-header-link-guide", text: wot.i18n("ratingwindow", "guide") },
+ { selector: "#wot-header-link-forum", text: wot.i18n("ratingwindow", "forum") },
+ { selector: "#wot-header-link-settings",text: wot.i18n("ratingwindow", "settings") },
+ { selector: "#wot-header-link-profile", text: wot.i18n("ratingwindow", "profile") },
+ { selector: "#wot-title-text", text: wot.i18n("messages", "initializing") },
+ { selector: "#wot-rating-header-wot", text: wot.i18n("ratingwindow", "wotrating") },
+ { selector: "#wot-rating-header-my", text: wot.i18n("ratingwindow", "myrating") },
+ { selector: "#wot-scorecard-visit", text: wot.i18n("ratingwindow", "viewscorecard") },
+ { selector: "#wot-scorecard-comment", text: wot.i18n("ratingwindow", "addcomment") },
+// { selector: "#wot-partner-text", text: wot.i18n("ratingwindow", "inpartnership") },
+ { selector: ".wt-rw-header-text", html: wot.i18n("wt", "rw_text_hdr") },
+ { selector: ".wt-rw-body", html: wot.i18n("wt", "rw_text") },
+ { selector: ".btn-delete_label", text: wot.i18n("buttons", "delete") },
+ { selector: "#btn-delete", title: wot.i18n("buttons", "delete_title") },
+ { selector: "#btn-cancel", text: wot.i18n("buttons", "cancel") },
+ { selector: "#btn-submit", text: wot.i18n("buttons", "save") },
+ { selector: "#btn-thanks-ok", text: wot.i18n("buttons", "ok") },
+ { selector: ".category-title", text: wot.i18n("ratingwindow", "categories") },
+ { selector: "#change-ratings", text: wot.i18n("ratingwindow", "rerate_change") },
+ { selector: ".comment-title", text: wot.i18n("ratingwindow", "comment") },
+ { selector: "#user-comment", placeholder: wot.i18n("ratingwindow", "comment_placeholder") },
+ { selector: "#comment-side-hint", html: wot.i18n("ratingwindow", "commenthints") },
+ { selector: ".thanks-text", text: wot.i18n("ratingwindow", "thankyou") },
+ { selector: "#comment-register-text", text: wot.i18n("ratingwindow", "comment_regtext") },
+ { selector: "#comment-register-link", text: wot.i18n("ratingwindow", "comment_register") },
+ { selector: "#comment-captcha-text", text: wot.i18n("ratingwindow", "comment_captchatext") },
+ { selector: "#comment-captcha-link", text: wot.i18n("ratingwindow", "comment_captchalink") }
+
+ ].forEach(function(item) {
+ var $elem = $(item.selector);
+ if (item.text) {
+ $elem.text(item.text);
+ } else if (item.html) {
+ $elem.html(item.html);
+ } else if (item.title) {
+ $elem.attr("title", item.title);
+ } else if (item.placeholder) {
+ $elem.attr("placeholder", item.placeholder);
+ }
+ });
+ },
+
+ build_voted_category_html: function (category, vote) {
+
+ var cat_name = wot.get_category_name(category.id, true); // use short name
+ var $_cat_wrapper = $('<div class="votedcategory"></div>'),
+ $_hand = $('<div class="category-hand"><div class="hand-icon"></div></div>'),
+ $_cat_text = $('<div class="category-text"></div>');
+
+ $_hand.addClass(vote == 1 ? "hand-up" : "hand-down");
+ $_hand.attr("title", wot.i18n("ratingwindow", vote == 1 ? "vote_yes" : "vote_no"));
+ $_cat_text.attr("title", cat_name);
+ $_cat_text.text(cat_name);
+ $_cat_wrapper.append($_hand);
+ $_cat_wrapper.append($_cat_text);
+
+ return $_cat_wrapper;
+ },
+
+ update_uservoted: function () {
+ var _rw = wot.ratingwindow;
+ var res = "",
+ up_voted = [],
+ down_voted = [],
+ cat = null,
+ $_change = $("#change-ratings"),
+ $_voted_content = $("#voted-categories-content"),
+ $_voted_categories = $("#voted-categories"),
+ change_link_text = "";
+
+ // try to get user's votes from the category selector (if there are any)
+ var voted = _rw.cat_selector.get_user_votes();
+ if (voted.length > 0) {
+ for (var i = 0; i < voted.length; i++) {
+ cat = voted[i];
+ if (cat.v == 1) {
+ up_voted.push(_rw.build_voted_category_html(cat, cat.v));
+ } else if (cat.v == -1) {
+ down_voted.push(_rw.build_voted_category_html(cat, cat.v));
+ }
+ }
+ } else {
+ // try to get user's votes from cache (server response)
+ voted = wot.select_voted(_rw.getcached().value.cats);
+ for(cat in voted) {
+ if (voted[cat].v == 1) {
+ up_voted.push(_rw.build_voted_category_html(wot.get_category(cat), voted[cat].v));
+ } else if (voted[cat].v == -1) {
+ down_voted.push(_rw.build_voted_category_html(wot.get_category(cat), voted[cat].v));
+ }
+ }
+ }
+
+ $_voted_content.empty();
+
+ if (up_voted.length > 0) {
+
+ $_voted_categories.removeClass("wider");
+
+ up_voted.forEach(function(elem) {
+ $_voted_content.append(elem);
+ });
+
+ down_voted.forEach(function(elem) {
+ $_voted_content.append(elem);
+ });
+
+ var more_voted = up_voted.length + down_voted.length - _rw.MAX_VOTED_VISIBLE;
+
+ if (more_voted > 0) {
+ var $_more = $('<div class="more-categories"></div>');
+ $_more.text("+" + more_voted + " " + wot.i18n("ratingwindow", "morecats"));
+ $_voted_content.append($_more);
+ }
+
+ change_link_text = wot.i18n("ratingwindow", "rerate_change");
+ } else {
+ $_voted_categories.addClass("wider");
+ $_voted_content.text(wot.i18n("ratingwindow", "novoted"));
+ change_link_text = "";
+ }
+
+ $("#rated-votes").toggleClass("voted", (up_voted.length > 0));
+ $_change.text(change_link_text);
+ $_change.toggle(change_link_text && change_link_text.length > 0);
+ },
+
+ has_1upvote: function (votes_obj) {
+ // At least one category must be voted as YES since user gives a rating
+ var _rw = wot.ratingwindow,
+ votes = votes_obj || _rw.cat_selector.get_user_votes(true); // get votes as object {cat_id : vote }
+ for(i in votes) {
+ if (votes[i] == 1) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+ is_allowed_submit: function () {
+ var _rw = wot.ratingwindow,
+ testimonies = 0,
+ passed = false,
+ has_1upvote = _rw.has_1upvote(),
+ has_comment = _rw.comments.is_commented(),
+ has_valid_comment = _rw.comments.has_valid_comment();
+
+ // 1. Either TR or CS are rated, OR none of them are rated (e.g. "delete my ratings")
+ for (i in wot.components) {
+ var cmp = wot.components[i].name;
+ if (_rw.state[cmp] && _rw.state[cmp].t !== null && _rw.state[cmp].t >= 0) {
+ testimonies++;
+ }
+ }
+
+ if (has_1upvote) {
+ // if there is a comment, it must be valid, otherwise disallow the submit
+ if ((testimonies > 0 && !has_comment) || has_valid_comment) { // if rated OR commented, then OK
+ passed = true;
+ } else if (testimonies == 0 && !has_comment) {
+ passed = true;
+ }
+ } else {
+ if (testimonies == 0 && has_comment == false) {
+ passed = true; // no cats, no testimonies, no comment := "Delete everything" (if there are changes)
+ }
+ }
+
+ return passed;
+ },
+
+ update_submit_button: function (enable) {
+ var _rw = wot.ratingwindow,
+ $_submit = $("#btn-submit"),
+ delete_action = false;
+
+ _rw.timer_save_button = null;
+
+ if (enable) {
+ $_submit.removeClass("disabled");
+ } else if (enable === false) {
+ $_submit.addClass("disabled");
+ } else {
+ enable = _rw.is_allowed_submit();
+ $_submit.toggleClass("disabled", !enable);
+
+ // If user wants to delete ratings, change the text of the button and hide "Delete ratings" button
+ if (enable && !_rw.is_rated(_rw.state) && !_rw.comments.has_valid_comment()) {
+ $_submit.text(wot.i18n("testimony", "delete"));
+ $("#btn-delete").hide();
+ delete_action = true; // remember the reverse of the label
+ }
+ }
+
+ if (!delete_action) {
+ $_submit.text(wot.i18n("buttons", "save"));
+ $("#btn-delete").show();
+ }
+ _rw.delete_action = delete_action;
+ },
+
+ onload: function()
+ {
+ var _rw = wot.ratingwindow;
+ var bg = chrome.extension.getBackgroundPage();
+
+ _rw.opened_time = new Date(); // remember time when RW was opened (for UX measurements)
+ _rw.prefs = bg.wot.prefs; // shortcut
+ wot.cache_locale();
+
+ var first_opening = !_rw.prefs.get(wot.engage_settings.invite_to_rw.pref_name);
+
+ wot.init_categories(_rw.prefs);
+
+ _rw.localize();
+
+ /* user interface event handlers */
+ var wurls = wot.urls;
+
+ var $_wot_header_logo = $("#wot-header-logo");
+
+ $_wot_header_logo.bind("click", function(event) {
+ if (event.shiftKey) {
+ event.preventDefault();
+ }
+ else {
+ wot.ratingwindow.navigate(wurls.base, wurls.contexts.rwlogo);
+ }
+ });
+
+ $_wot_header_logo.bind("dblclick", function(event) {
+ if (event.shiftKey) {
+ wot.ratingwindow.navigate(chrome.extension.getURL("/settings.html"), wurls.contexts.rwlogo);
+ }
+ });
+
+ $("#wot-header-link-settings").bind("click", function() {
+ wot.ratingwindow.navigate(wurls.settings, wurls.contexts.rwsettings);
+ });
+
+ $("#wot-header-link-profile").bind("click", function() {
+ wot.ratingwindow.navigate(wurls.profile, wurls.contexts.rwprofile);
+ });
+
+ $("#wot-header-link-guide").bind("click", function() {
+ wot.ratingwindow.navigate(wurls.tour, wurls.contexts.rwguide);
+ });
+
+ $("#wot-header-link-forum").bind("click", function() {
+ wot.ratingwindow.navigate(wurls.base + "forum", wurls.contexts.rwforum);
+ });
+
+ $("#wot-header-close").bind("click", function() {
+ bg.wot.ga.fire_event(wot.ga.categories.RW, wot.ga.actions.RW_BTN_CLOSE);
+ _rw.hide();
+ });
+
+ $("#wot-scorecard-content").bind("click", function() {
+ if (wot.ratingwindow.current.target) {
+ wot.ratingwindow.navigate(wot.urls.scorecard +
+ encodeURIComponent(wot.ratingwindow.current.target),
+ wurls.contexts.rwviewsc);
+ }
+ });
+
+ $(".wot-user-text").bind("click", function() {
+ var url = $(this).attr("url");
+ if (url) {
+ wot.ratingwindow.navigate(url, wurls.contexts.rwprofile);
+ }
+ });
+
+ $("#wot-message").bind("click", function() {
+ var url = $("#wot-message-text").attr("url");
+ if (url) {
+ var label = wot.i18n("locale") + "__" + $(this).attr("msg_id");
+ bg.wot.ga.fire_event(wot.ga.categories.RW, wot.ga.actions.RW_MSG_CLICKED, label);
+ wot.ratingwindow.navigate(url, wurls.contexts.rwmsg);
+ }
+ });
+
+ $(".rating-delete-icon, .rating-deletelabel").bind("click", _rw.rate_control.on_remove);
+
+ $("#user-comment").bind("change keyup", function() {
+ window.setTimeout(function(){
+ wot.ratingwindow.comments.update_hint();
+
+ // set the timeout to update save button when user stops typing the comment
+ if (wot.ratingwindow.timer_save_button) {
+ window.clearTimeout(wot.ratingwindow.timer_save_button);
+ }
+ wot.ratingwindow.timer_save_button = window.setTimeout(wot.ratingwindow.update_submit_button, 200);
+
+ }, 20); // to react on any keyboard event after the text was changed
+ });
+
+ // Rate mode event handlers
+ $("#btn-comment").bind("click", _rw.on_comment_button);
+ $("#btn-submit").bind("click", _rw.on_submit);
+ $("#btn-thanks-ok").bind("click", _rw.on_thanks_ok);
+ $("#btn-cancel").bind("click", _rw.on_cancel);
+ $("#btn-delete").bind("click", _rw.on_delete_button);
+ $("#change-ratings, #voted-categories-content").bind("click", _rw.on_change_ratings);
+
+
+ $("#comment-register-link").bind("click", function() {
+ wot.ratingwindow.navigate(wurls.signup, wurls.contexts.rwcommreg);
+ });
+
+ $("#comment-captcha-link").bind("click", function() {
+ if (wot.ratingwindow.current.target) {
+ wot.ratingwindow.navigate(wot.urls.scorecard +
+ encodeURIComponent(wot.ratingwindow.current.target + "/rate"),
+ wurls.contexts.rwcaptcha, "rate");
+ }
+ });
+
+ $(window).unload(wot.ratingwindow.on_unload);
+
+ _rw.rate_control.init(); // init handlers of rating controls
+ bg.wot.core.update(true); // this starts main data initialization (e.g. before it, there is no "cached" data)
+
+ var wt = bg.wot.wt,
+ locale = wot.i18n("locale");
+
+ // Welcome Tip button "close"
+ $(".wt-rw-close").bind("click", function (e){
+ wot.ratingwindow.reveal_ratingwindow();
+ wot.ratingwindow.count_window_opened();
+
+ wt.settings.rw_ok = true;
+ wt.save_setting("rw_ok");
+
+ var time_before_click = Math.round(wot.time_since(wot.ratingwindow.opened_time));
+ wot.ga.fire_event(wot.ga.categories.WT, wot.ga.actions.WT_RW_OK, String(time_before_click));
+ });
+
+ // Welcome Tip "learn more" link handler
+ $("#wt-learnmore-link").bind("click", function (){
+ var time_before_click = Math.round(wot.time_since(wot.ratingwindow.opened_time));
+ wot.ga.fire_event(wot.ga.categories.WT, wot.ga.actions.WT_RW_LEARN, String(time_before_click));
+ bg.wot.core.open_mywot(wot.urls.tour_rw, wot.urls.contexts.wt_rw_lm); // FIXME
+ });
+
+ var tts_wtip = (first_opening || wot.firstrunupdate == _rw.UPDATE_ROUND) &&
+ !(wt.settings.rw_ok || wt.settings.rw_shown > 0) &&
+ wot.is_defined(["rw_text", "rw_text_hdr"], "wt");
+
+// tts_wtip = tts_wtip && (wot.get_activity_score() < bg.wot.wt.activity_score_max || wot.firstrunupdate == _rw.UPDATE_ROUND);
+
+ if (bg.wot.prefs.get("super_wtips")) tts_wtip = true; // override by super-setting
+
+ if (tts_wtip) {
+ // RW is opened first time - show welcome tip
+ _rw.show_welcome_tip();
+
+ // set all welcome tip's preferences (== wt was shown)
+ wt.settings.rw_shown = wt.settings.rw_shown + 1;
+ wt.settings.rw_shown_dt = String(Date.now());
+ wt.save_setting("rw_shown");
+ wt.save_setting("rw_shown_dt");
+ }
+
+ // increment "RatingWindow shown" counter
+ _rw.count_window_opened();
+ bg.wot.core.badge.text = "";
+ bg.wot.core.badge.type = null;
+
+ // shown RatingWindow means that we shown a message => remove notice badge from the button
+ // this was commented on 24.06.2013 to avoid concurrent changing of the badge
+// if (bg.wot.core.badge_status && bg.wot.core.badge_status.type == wot.badge_types.notice.type) {
+// bg.wot.core.set_badge(null, false); // hide badge
+// }
+ },
+
+ on_comment_button: function (e) {
+ var _rw = wot.ratingwindow;
+
+ if ($(this).hasClass("disable")) return; // do nothing of the button is disabled
+
+ switch (_rw.modes.current_mode) {
+ case "rate":
+ if (!_rw.comments.allow_commenting) return;
+ _rw.update_uservoted();
+ _rw.modes.comment.activate();
+ break;
+ case "comment":
+ _rw.modes.rate.activate();
+ break;
+ }
+ },
+
+ on_delete_button: function () {
+// console.log("on_delete_button()");
+ var _rw = wot.ratingwindow,
+ bg = _rw.get_bg();
+
+ wot.components.forEach(function(item){
+ _rw.delete_testimony(item.name);
+ });
+
+ bg.wot.keeper.remove_comment(_rw.state.target);
+ _rw.comments.set_comment(""); // clear the comment
+ _rw.local_comment = null;
+ _rw.comments.update_hint();
+
+ wot.ratingwindow.finishstate(false);
+ bg.wot.core.moz_send("update", { update_rw: true }); // force to update RW with newest state data
+ _rw.modes.auto(); // switch RW mode according to current state
+ },
+
+ on_cancel: function () {
+
+ var _rw = wot.ratingwindow,
+ cached = _rw.getcached(),
+ bg = chrome.extension.getBackgroundPage();
+
+ // restore previous testimonies
+ wot.components.forEach(function(item){
+ var a = item.name;
+ var t = (cached.value[a] && cached.value[a].t !== undefined) ? cached.value[a].t : -1;
+ if (_rw.state[a]) {
+ _rw.state[a].t = t;
+ _rw.state[a].name = a;
+ } else {
+ _rw.state[a] = { t: t, name: a };
+ }
+
+ _rw.rate_control.updateratings(_rw.state[a]); // restore user's testimonies visually
+ });
+
+ _rw.cat_selector.init_voted(); // restore previous votes
+
+ bg.wot.keeper.remove_comment(_rw.state.target); // remove locally saved comment
+ _rw.update_comment(cached, null); // restore comment to server-side version
+
+ _rw.modes.auto(); // switch RW mode according to current state
+ },
+
+ on_submit: function (e) {
+// console.log("on_submit()");
+
+ if ($(e.currentTarget).hasClass("disabled")) return; // do nothing is "Save" is not allowed
+
+ var _rw = wot.ratingwindow;
+ wot.ratingwindow.finishstate(false);
+ if (_rw.delete_action) {
+ _rw.get_bg().wot.core.update(true);
+ _rw.modes.auto(); // switch RW mode according to current state
+ } else {
+ _rw.modes.thanks.activate();
+ }
+ },
+
+ on_thanks_ok: function () {
+ wot.ratingwindow.modes.auto();
+ },
+
+ on_change_ratings: function () {
+ wot.ratingwindow.modes.rate.activate();
+ },
+
+ on_unload: function () {
+ wot.ratingwindow.finishstate(true);
+ },
+
+ rate_control: {
+
+ init: function() {
+ var _this = wot.ratingwindow;
+
+ // Rating control events handlers
+ $(".wot-rating-stack").bind({
+ mousedown: _this.rate_control.on_mousedown,
+ mouseup: _this.rate_control.on_mouseup,
+ mousemove: _this.rate_control.on_mousemove,
+ mouseleave: _this.rate_control.on_mousemove
+ });
+ },
+
+ on_mousemove: function (e) {
+ var _rw = wot.ratingwindow;
+
+// if (_rw.state.down == -1) return;
+ var c = $(this).attr("component");
+ var t = _rw.getrating(e, this);
+
+ if (_rw.state.down == c) {
+ _rw.setstate(c, t);
+ } else {
+ _rw.state.down = -1;
+ }
+
+ _rw.rate_control.updateratings({ name: c, t: t });
+ },
+
+ on_mousedown: function (e) {
+ var _rw = wot.ratingwindow;
+
+ // skip the click if ratings are disabled
+ if ($("#ratings-area").attr("disabled")) return;
+
+ var c = $(this).attr("component");
+ var t = _rw.getrating(e, this);
+ _rw.state.down = c;
+ _rw.setstate(c, t);
+ _rw.rate_control.updateratings({ name: c, t: t });
+
+ if (!_rw.modes.is_current("comment")) _rw.modes.rate.activate(); // switch to rate mode if we are not in "comment" mode
+
+ // there is a nasty issue in Chrome & jQuery: when dragging an object, the cursor has "text select" form.
+ e.originalEvent.preventDefault(); // http://stackoverflow.com/a/9743380/954197
+ },
+
+ on_mouseup: function (e) {
+ var _rw = wot.ratingwindow;
+ _rw.state.down = -1; // no component is being rating right now
+ },
+
+ on_remove: function (e) {
+ var _rw = wot.ratingwindow;
+
+ if ($(this).closest(".rating-delete").hasClass("delete")) {
+
+ if (!_rw.modes.is_current("comment")) _rw.modes.rate.activate(); // switch to rate mode if we are not in "comment" mode
+ var c = parseInt($(this).closest(".wot-rating-data").attr("component"));
+
+ // TODO: show the warning that categories will be deleted also (?)
+ _rw.delete_testimony(c);
+ }
+ },
+
+ update_ratings_visibility: function (mode) {
+ var _rw = wot.ratingwindow,
+ $_ratingarea = $("#ratings-area");
+
+ if (mode == "unrated") {
+ var cached = _rw.getcached();
+ if (_rw.state.target) {
+ $_ratingarea.attr("disabled", null);
+ } else {
+ $_ratingarea.attr("disabled", "disabled");
+ // TODO: show some text to explain that there is nothing to rate
+ }
+ } else {
+ $_ratingarea.attr("disabled", null);
+ }
+ },
+
+ updateratings: function(state)
+ {
+ /* indicator state */
+ var _rw = wot.ratingwindow;
+ state = state || {};
+
+ /* update each component */
+ wot.components.forEach(function(item) {
+ if (state.name !== null && state.name != item.name) {
+ return;
+ }
+
+ var elems = {},
+ rep = wot.getlevel(wot.reputationlevels, -1).name,
+ t = -1,
+ wrs = _rw.state[item.name];
+
+ ["stack", "slider", "indicator", "deleteicon", "deletelabel",
+ "helptext", "helplink", "data"].forEach(function(elem) {
+ elems[elem] = $("#wot-rating-" + item.name + "-" + elem);
+ });
+
+ t = (wrs && wrs.t !== null) ? wrs.t : t;
+
+ if (t >= 0) {
+ /* rating */
+ rep = wot.getlevel(wot.reputationlevels, t).name;
+ elems.indicator.css("left", (t * _rw.sliderwidth / 100).toFixed() + "px");
+ elems.stack.addClass("testimony").removeClass("hover");
+ elems.deletelabel.text(wot.i18n("testimony", "delete"));
+ elems.deleteicon.closest(".rating-delete").removeClass("unrated");
+ elems.deleteicon.closest(".rating-delete").addClass("delete");
+
+ } else if (state.name != null && state.t >= 0) {
+ /* temporary indicator position */
+ rep = wot.getlevel(wot.reputationlevels, state.t).name;
+// elems.indicator.css("left", (state.t * _rw.sliderwidth / 100).toFixed() + "px");
+ elems.stack.removeClass("testimony").addClass("hover");
+
+ } else {
+ elems.indicator.css("left", ""); // reset the x-position
+ elems.stack.removeClass("testimony").removeClass("hover");
+ elems.deletelabel.text(wot.i18n("testimony", "unrated"));
+ elems.deleteicon.closest(".rating-delete").addClass("unrated");
+ elems.deleteicon.closest(".rating-delete").removeClass("delete");
+ }
+
+ if (rep) {
+ elems.stack.attr("r", rep);
+ if (state.down != -1) {
+ elems.indicator.attr("r", rep);
+ elems.data.attr("r", rep);
+ }
+ }
+
+ var helptext = wot.get_level_label(item.name, rep, true);
+
+ if (helptext.length) {
+ elems.helptext.text(helptext).show();
+ elems.helptext.attr("r", rep);
+ } else {
+ elems.helptext.hide();
+ }
+ });
+
+ _rw.update_submit_button();
+ }
+ },
+
+ /* Modes are only visual helpers to render proper content in the Rating Window */
+ modes: {
+
+ current_mode: "",
+
+ unrated: {
+ visible: ["#reputation-info", "#user-communication", ".user-comm-social"],
+ invisible: ["#rate-buttons", "#categories-selection-area", "#rated-votes",
+ "#commenting-area", "#thanks-area", "#ok-button"],
+ addclass: "view-mode unrated",
+ removeclass: "rated commenting thanks rate",
+
+ activate: function () {
+ if (!wot.ratingwindow.modes._activate("unrated")) return false;
+ return true;
+ }
+ },
+
+ rated: {
+ visible: ["#reputation-info", "#user-communication", "#rated-votes", ".user-comm-social"],
+ invisible: ["#rate-buttons", "#categories-selection-area",
+ "#commenting-area", "#thanks-area", "#ok-button"],
+ addclass: "view-mode rated",
+ removeclass: "unrated commenting thanks rate",
+
+ activate: function () {
+ if (!wot.ratingwindow.modes._activate("rated")) return false;
+ wot.ratingwindow.update_uservoted();
+ return true;
+ }
+ },
+
+ rate: {
+ visible: ["#rate-buttons", "#categories-selection-area"],
+ invisible: ["#reputation-info", "#user-communication", "#rated-votes",
+ "#commenting-area", "#thanks-area", "#ok-button"],
+ addclass: "rate",
+ removeclass: "view-mode rated unrated commenting thanks",
+
+ activate: function () {
+ var _rw = wot.ratingwindow,
+ prev_mode = _rw.modes.current_mode;
+
+ if (!_rw.modes._activate("rate")) return false;
+
+ // "Comment" mode can be the first active mode in session, so we have to init things still.
+ if (prev_mode != "comment" || !_rw.cat_selector.inited) {
+ if (!_rw.cat_selector.inited) {
+ _rw.cat_selector.build();
+ _rw.cat_selector.init();
+ }
+ _rw.cat_selector.init_voted();
+ _rw.update_catsel_state(); // update the category selector with current state
+ }
+
+ _rw.update_submit_button();
+ _rw.comments.update_button("rate", true);
+ _rw.was_in_ratemode = true;
+
+ _rw.reveal_ratingwindow(true);
+ return true;
+ }
+ },
+
+ comment: { // Not implemented yet
+ visible: ["#rate-buttons", "#commenting-area", "#rated-votes"],
+ invisible: ["#reputation-info", "#user-communication", "#categories-selection-area",
+ "#thanks-area", "#ok-button"],
+ addclass: "commenting",
+ removeclass: "view-mode rated unrated rate thanks",
+
+ activate: function () {
+ var _rw = wot.ratingwindow,
+ prev_mode = _rw.modes.current_mode;
+ if (!wot.ratingwindow.modes._activate("comment")) return false;
+
+ // TODO: this piece of code is a duplication. Should be refactored.
+ if (prev_mode == "" || !_rw.cat_selector.inited) {
+ if (!_rw.cat_selector.inited) {
+ _rw.cat_selector.build();
+ _rw.cat_selector.init();
+ }
+ _rw.cat_selector.init_voted();
+ }
+
+ _rw.was_in_ratemode = true; // since in comment mode user is able to change rating, we should set the flag
+ _rw.comments.update_hint();
+ _rw.comments.update_button("comment", true);
+ _rw.update_submit_button();
+ _rw.comments.focus();
+ _rw.reveal_ratingwindow(true);
+ return true;
+ }
+ },
+
+ thanks: {
+ visible: ["#thanks-area", "#rated-votes", "#ok-button"],
+ invisible: ["#reputation-info", "#user-communication", "#categories-selection-area",
+ "#commenting-area", "#rate-buttons"],
+ addclass: "thanks view-mode",
+ removeclass: "rated unrated rate commenting",
+
+ activate: function () {
+ var _rw = wot.ratingwindow;
+ if (!_rw.modes._activate("thanks")) return false;
+
+ _rw.update_uservoted();
+
+ // no need to show this to platinum members
+ if ((_rw.prefs.get("activity_score") || 0) >= wot.AS_LEVELS.PLATINUM) {
+ $(".thanks-ratemore").hide();
+ }
+
+ setTimeout(function() {
+ wot.ratingwindow.modes.auto(); // switch to default mode
+ }, 6000);
+ return true;
+ }
+ },
+
+ show_hide: function (mode_name) {
+ var _modes = wot.ratingwindow.modes;
+ var visible = _modes[mode_name] ? _modes[mode_name].visible : [];
+ var invisible = _modes[mode_name] ? _modes[mode_name].invisible : [];
+
+ $(invisible.join(", ")).hide();
+ $("#wot-ratingwindow").addClass(_modes[mode_name].addclass).removeClass(_modes[mode_name].removeclass);
+ $(visible.join(", ")).show();
+ },
+
+ _activate: function (mode_name) {
+ /* Generic func to do common things for switching modes. Returns false if there is no need to switch the mode. */
+// console.log("RW.modes.activate(" + mode_name + ")");
+
+ var _rw = wot.ratingwindow;
+ if (_rw.modes.current_mode == mode_name) return false;
+ _rw.modes.show_hide(mode_name);
+ _rw.modes.current_mode = mode_name;
+ _rw.rate_control.update_ratings_visibility(mode_name);
+ return true;
+ },
+
+ auto: function () {
+ var _rw = wot.ratingwindow;
+
+ if (_rw.local_comment && _rw.local_comment.comment) {
+ _rw.modes.comment.activate();
+ } else {
+ // If no locally saved comment exists, switch modes between Rated / Unrated
+ if (_rw.is_rated()) {
+ _rw.modes.rated.activate();
+ } else {
+ _rw.modes.unrated.activate();
+ }
+ }
+ },
+
+ reset: function () {
+ wot.ratingwindow.modes.current_mode = "";
+ },
+
+ is_current: function (mode) {
+ return wot.ratingwindow.modes.current_mode == mode;
+ }
+ },
+
+ cat_selector: {
+ inited: false,
+ $_cat_selector: null,
+ short_list: true,
+ voted: {},
+
+ build: function () {
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector,
+ cats = [];
+
+ _this.$_cat_selector = $(".category-selector .dropdown-menu"); // all operations are done on the menu actually
+ $("*", _this.$_cat_selector).detach(); // remove everything if present
+
+ // cycle through grouping to create main sections
+ for (var gi = 0; gi < wot.grouping.length; gi++) {
+ var grp = wot.grouping[gi];
+ if (!grp.omnipresent && grp.text && grp.groups) {
+ var $_li = _this._build_grouping(grp.text, grp.name);
+
+ var $_popover = $("<div></div>").addClass("popover"); // container for a list of categories
+
+ // Iterate over list of groups in the grouping (section)
+ for(var a = 0; a < grp.groups.length; a++) {
+ var g = grp.groups[a], // g.name == id, g.type == css style
+ g_id = parseInt(g.name);
+
+ cats = wot.select_categories(g_id, g_id); // list if categories' IDs
+ _rw.cat_selector._build_from_list(cats, $_popover, false);
+ }
+
+ $_li.append($_popover);
+ _this.$_cat_selector.append($_li);
+ }
+ }
+
+ var _i18n_fulllist = wot.i18n("ratingwindow", "fulllist");
+
+ if (_i18n_fulllist) {
+ var chk_html = '<div class="cat-full-list">' +
+ '<input type="checkbox" id="chk-full-list" class="css-checkbox"/>' +
+ '<label for="chk-full-list" class="css-label">' + _i18n_fulllist + '</label>' +
+ '</div>';
+
+ _this.$_cat_selector.append($(chk_html));
+ }
+ },
+
+ _build_grouping: function (grouping_text, grouping_name) {
+ // Makes HTML for a grouping
+ var $_li = $("<li></li>").attr("grp-name", grouping_name); // grouping holder
+ // add section name
+ $("<span></span>").addClass("group-title").text(grouping_text).appendTo($_li);
+ return $_li;
+ },
+
+ _build_from_list: function (cat_list, $_target_popover, omni) {
+ /* Makes HTML elements of categories with all controls and inserts them into Popover wrapper */
+ var _this = wot.ratingwindow.cat_selector;
+ var textvote_yes = wot.i18n("ratingwindow", "vote_yes"),
+ textvote_no = wot.i18n("ratingwindow", "vote_no");
+
+ $(".category-breakline", $_target_popover).detach(); // remove any breaklines
+ if (cat_list.length > 0) {
+ // Iterate over a list of categories belonging to the current group
+ if (omni) {
+ $("<div></div>").addClass("category-breakline").appendTo($_target_popover); // add the separator for omni
+ }
+
+ for (var ci = 0; ci < cat_list.length; ci++) {
+ var cobj = cat_list[ci],// here we may get a category object, or simple category ID. Depends on source.
+ cid = 0;
+ cid = (typeof cobj == "object") ? cobj.id : cobj; // in case if we work with category object instead if just a number
+
+ var cat = wot.get_category(cid);
+ if (!wot.utils.isEmptyObject(cat)) {
+ var $_po_cat = $("<div></div>").addClass("category"); // container for a category
+ $_po_cat.attr("data-cat", cat.id);
+ if (omni) {
+ $_po_cat.addClass("omni");
+ }
+
+ if (cat.fullonly) {
+ $_po_cat.addClass("fullonly");
+ $_po_cat.toggleClass("invisible", _this.short_list);
+ }
+
+ $("<div></div>") // the category line
+ .text(wot.get_category_name(cat.id, true))
+ .addClass("cat-name")
+ .appendTo($_po_cat);
+
+ var $_cat_vote = $("<div></div>").addClass("cat-vote");
+
+ // TODO: use translations for strings
+ $("<div></div>").text(textvote_yes).addClass("cat-vote-left").appendTo($_cat_vote);
+ $("<div></div>").text(textvote_no).addClass("cat-vote-right").appendTo($_cat_vote);
+
+ $("<div></div>").addClass("delete-icon")
+ .appendTo($("<div></div>").addClass("cat-vote-del").appendTo($_cat_vote));
+
+ $_cat_vote.appendTo($_po_cat);
+
+ $_target_popover.append($_po_cat);
+
+ } else {
+ console.warn("Can't find category", cat_list[ci]);
+ }
+ }
+
+ }
+ return cat_list.length;
+ },
+
+ set_state: function (state, identified) {
+ // Sets the category selector into proper state taking into account user's ratings and currently identified categories.
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ if (!_this.inited) return; // do nothing when I'm not ready yet
+
+ if (!_rw.modes.is_current("rate")) return; // do nothing when not in Rate mode
+
+ var t0 = state[0] ? state[0].t : -1; // Trustworthiness user's testimony
+ var t4 = state[4] ? state[4].t : -1; // Child Safety user's testimony
+
+ // 1. Pre-open proper grouping
+ var grp = wot.determ_grouping(t0, null),
+ grp_id = grp.name;
+
+ var $_grouping = $("li[grp-name=" + grp_id + "]", _this.$_cat_selector).first();
+ if ($_grouping && grp_id != null) {
+ _this.deactivate_all();
+ _this.activate_submenu($_grouping);
+ }
+
+ // 2. Create omni-part with CS categories based on user's CS testimony
+ var omnigroupings = wot.determ_grouping(t0, "omnipresent");
+ var omni_categories = [], // all possible omni-categories
+ omni_to_show = [], // plain filtered list of omni-categories
+ omni_per_section = {}; // list of omni-categories per selector's section
+
+ // make a list of all categories for omni-area that we may show
+ if (omnigroupings && omnigroupings.groups) {
+ for (var gi = 0; gi < omnigroupings.groups.length; gi++) {
+ var g_id = parseInt(omnigroupings.groups[gi].name);
+ // collect all categories that are possible to show in omni-area
+ omni_categories = omni_categories.concat(wot.select_categories(g_id, g_id));
+ }
+
+ // filter out categories irrelevant to user's testimony
+ omni_to_show = omni_categories.filter(function(elem, i, arr) {
+ var cat = wot.get_category(elem);
+ return (cat.rmin !== null && cat.rmax !== null && t4 >= cat.rmin && t4 <= cat.rmax);
+ });
+ }
+
+ /* now omni_to_show[] contains all cats for the given testimony and we need to make filtered lists
+ for every section in the selector. */
+ for (var j = 0; j < wot.grouping.length; j++) {
+ if (wot.grouping[j].omnipresent) continue; // skip omni grouping for obvious reason
+ var section_id = wot.grouping[j].name;
+ omni_per_section[section_id] = omni_to_show.filter(function (elem, i , arr) {
+ var cat = wot.get_category(elem);
+ if (cat.excludegroupings) {
+ var excludegroupings = cat.excludegroupings.split(",");
+ return (excludegroupings.indexOf(section_id) < 0);
+ }
+ return true;
+ });
+ }
+
+ // 3. Build dynamic group ("Do you agree with?") filtering out categories shown in omni-area
+ var cached = _rw.getcached(),
+ cats_object = cached.value.cats,
+ dyn_cats = [],
+ dyn_grp = wot.determ_grouping(null, "dynamic"); // find the dynamic group to identify "popover" DOM element
+
+ if (dyn_grp.groups) {
+ for (var i= 0, gid; i < dyn_grp.groups.length; i++) {
+ gid = parseInt(dyn_grp.groups[i].name);
+ dyn_cats = dyn_cats.concat(wot.select_categories(gid, gid));
+ }
+ }
+
+ if (!wot.utils.isEmptyObject(cats_object)) {
+ var cats = wot.rearrange_categories(cats_object); // list of categories' IDs
+ // filter out categories that are in the omni-area already
+ // and that are only voted but not identified by community
+ var filtered_dynamic = cats.trustworthy.concat(cats.childsafety).filter(function(elem){
+ var cat_id = parseInt(elem.id);
+ var fltr = !(omni_to_show.indexOf(cat_id) >= 0);
+ fltr = fltr && elem.c; // Identified cats have "c" attribute's value greater than than zero;
+ fltr = fltr && !(dyn_cats.indexOf(cat_id) >= 0); // drop categories that are already in dyn_cats
+ return fltr;
+ });
+
+ filtered_dynamic = dyn_cats.concat(filtered_dynamic);
+
+ var $_popover = $("li[grp-name="+dyn_grp.name+"] .popover", _this.$_cat_selector).first();
+ $(".category", $_popover).detach(); // remove all previous categories from the popover
+ _rw.cat_selector._build_from_list(filtered_dynamic, $_popover, false); // fill the popover with categories
+ }
+
+ // 4. Append finally Omni Categories
+ $(".category-selector .popover .omni").detach(); // remove all previous omni groups from all popovers
+
+ // Create and attach omni categories to _all_ popovers (groupings)
+ for (var si in omni_per_section) {
+ if (omni_per_section[si]) {
+ var $_popover = $(".category-selector li[grp-name=" + si + "] .popover");
+ _this._build_from_list(omni_per_section[si], $_popover, true);
+ }
+ }
+
+ _this.highlight_identified(cats_object); // assign CSS styles to identified categories
+ _this.markup_voted(); // assign extra data to voted categories
+ },
+
+ highlight_identified: function (cats_object) {
+ // Highlights currently identified categories in the selector
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector,
+ cats = wot.select_identified(cats_object);
+
+ $(".category.identified", _this.$_cat_selector).removeClass("identified");
+
+ for(var cat_id in cats) {
+ $(".category[data-cat=" + cat_id + "]", _this.$_cat_selector)
+ .addClass("identified")
+ .removeClass("fullonly invisible"); // if a category is identified, show it in both full/short list modes and prevent to be hidden
+ }
+ },
+
+ markup_voted: function () {
+ // Hightlights user's votes for categories
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ $(".category", _this.$_cat_selector).removeAttr("voted");
+
+ for(var cat_id in _this.votes) {
+ $(".category[data-cat=" + cat_id + "]", _this.$_cat_selector)
+ .removeClass("fullonly invisible") // if a category is voted, show it in both full/short list modes
+ .attr("voted", _this.votes[cat_id].v);
+ }
+ },
+
+ get_user_votes: function (return_object) {
+ // Scans DOM for all visible categories in the category selector to filter out voted but invisible cats in future
+
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector,
+ voted = [],
+ voted_obj = {};
+
+ $(".category", _this.$_cat_selector).each(function (i, elem) {
+ var cid = $(this).attr("data-cat"), cat = null;
+ if (cid && $(this).attr("voted")) {
+ cid = parseInt(cid);
+ if (voted_obj[cid] === undefined) { // check for unique
+ cat = wot.get_category(cid);
+ cat.v = parseInt($(this).attr("voted"));
+ voted.push(cat);
+ voted_obj[cid] = cat.v; // to be able to get a list of unique voted categories
+ }
+ }
+ });
+
+ return return_object ? voted_obj : voted; // return either object or array
+ },
+
+ update_categories_visibility: function () {
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ // show / hide categories from short/full list
+ $(".category.fullonly", _this.$_cat_selector).toggleClass("invisible", _this.short_list);
+ },
+
+ init: function() {
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ _this.init_voted();
+
+ $(".dropdown-menu").menuAim({
+ active_selector: ".maintainHover",
+ activate: _this.activate_submenu,
+ deactivate: _this.deactivate_submenu
+ });
+
+ $(_this.$_cat_selector).on("click", ".category, .cat-vote-left, .cat-vote-right, .cat-vote-del", _this.vote);
+
+ // show description of the hovered category
+ $(_this.$_cat_selector).on("mouseenter mouseleave", ".category", _this.on_category_hover);
+
+ _this.short_list = !_rw.prefs.get("show_fulllist");
+
+ $("#chk-full-list").
+ bind("change", _this.on_show_full).
+ attr("checked", _this.short_list ? null : "checked");
+
+ _this.$_cat_selector.toggleClass("shortlist", _this.short_list); // change appearance of the list
+
+ _this.update_categories_visibility();
+
+ this.inited = true;
+ },
+
+ on_category_hover: function (e) {
+
+ var $_cat = $(e.currentTarget),
+ $_category_title = $(".category-title"),
+ $_cat_description = $(".category-description");
+
+ var cat_id = $_cat.attr("data-cat"),
+ is_hovered = (e.type == "mouseenter") && (cat_id !== undefined);
+
+ var cat_description = wot.get_category(cat_id).description;
+
+ if (is_hovered && cat_description) {
+ $_category_title.hide(0, function () {
+ $_cat_description.text(cat_description);
+ $_cat_description.show();
+ });
+
+ } else {
+ $_cat_description.hide(0, function (){
+ $_category_title.show();
+ });
+ }
+ },
+
+ on_show_full: function () {
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ _this.short_list = ($(this).attr("checked") != "checked");
+ _rw.prefs.set("show_fulllist", !_this.short_list); // store the value
+
+ _this.$_cat_selector.toggleClass("shortlist", _this.short_list); // change appearance of the list
+
+ _this.update_categories_visibility();
+ },
+
+ init_voted: function () {
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ var cached = _rw.getcached(),
+ cats_object = (cached && cached.value && cached.value.cats) ? cached.value.cats : {};
+
+ _this.votes = wot.select_voted(cats_object);
+ _this.markup_voted();
+ },
+
+ destroy: function () {
+ // destroys the selector
+ var _rw = wot.ratingwindow,
+ _this = _rw.cat_selector;
+
+ if (_this.inited) {
+ _this.votes = {};
+ _this.$_cat_selector.children().detach();
+ _this.inited = false;
+ }
+ },
+
+ activate_submenu: function(elem) {
+ var menu = $(".dropdown-menu");
+ var category_title = $(".category-title");
+ var $_external_container = $("#categories-selection-area");
+ var selected_elem = $(elem);
+ var sub_menu = selected_elem.find(".popover");
+
+ selected_elem.addClass("maintainHover");
+
+ var left_distance = 162; //menu.outerWidth() + (menu.offset().left - $_external_container.offset().left);
+ var top_distance = 10;//menu.offset().top;
+
+ //TO DO: what if user changes category manully.
+
+ // Show the submenu
+ sub_menu.css({
+ top: top_distance,
+ left: left_distance // main should overlay submenu
+ }).show();
+ },
+
+ deactivate_all: function () {
+ var _this = wot.ratingwindow.cat_selector;
+ $(".category-selector .maintainHover").each(function(i, elem){
+ _this.deactivate_submenu(elem);
+ });
+ },
+
+ deactivate_submenu: function(elem) {
+ var selected_elem = $(elem);
+ var sub_menu = selected_elem.find(".popover");
+ sub_menu.hide();
+ selected_elem.removeClass("maintainHover");
+ },
+
+ _calc_vote_result: function (vs, vy, vn, vd, vc) {
+ // Calculates the resulted vote depending on what was clicked and current vote state
+ if (vd == 1) return 0; // if "delete" is clicked
+ var fy = vy * Math.min(vy, vy - vs);
+ var fn = vn * Math.max(-1, -vn - vs);
+ var fc = vc * ((vs + 2) % 3 - 1);
+ return fy + fn + fc;
+ },
+
+ vote: function(event) {
+ // Sets attr "voted" on categories tags
+ var _this = wot.ratingwindow.cat_selector,
+ $_clicked = $(this),
+ $_current_cat = $_clicked.closest(".category").first(),
+ currently_voted = $_current_cat.attr("voted"),
+ cat_id = $_current_cat.attr("data-cat"),
+ $_cats = $(".category[data-cat="+cat_id+"]");
+
+ event.stopPropagation(); // don't bubble the event (causes undesired effects)
+
+ var vy = $_clicked.hasClass("cat-vote-left") ? 1 : 0; // clicked Yes
+ var vn = $_clicked.hasClass("cat-vote-right") ? 1 : 0; // clicked No
+ var vc = $_clicked.hasClass("category") ? 1 : 0; // Clicked Category line
+ var vd = $_clicked.hasClass("cat-vote-del") ? 1 : 0; // Clicked "delete" vote
+ var vs = currently_voted ? parseInt(currently_voted) : 0; // current vote state for the clicked category
+ var new_vote = _this._calc_vote_result(vs, vy, vn, vd, vc);
+
+ if (new_vote != 0) {
+ $_cats.attr("voted", new_vote);
+ _this.votes[cat_id] = wot.get_category(cat_id);
+ _this.votes[cat_id].v = new_vote;
+ } else {
+ $_cats.removeAttr("voted");
+ if (_this.votes[cat_id]) delete _this.votes[cat_id];
+ }
+
+ wot.ratingwindow.update_submit_button(); // enable/disable "Save" button
+ }
+ }, /* end of cat_selector {} */
+
+ /* Start of Comments API and Comments UI code */
+ comments: {
+ allow_commenting: true,
+ is_banned: false,
+ captcha_required: false,
+ MIN_LIMIT: 30,
+ MAX_LIMIT: 20000,
+ is_changed: false,
+ posted_comment: {},
+
+ is_commented: function() {
+ // comment can be there, but it can be invalid (outside of limits restrictions, etc)
+ return ($("#user-comment").val().trim().length > 0);
+ },
+
+ get_comment: function (target) {
+ var bg = wot.ratingwindow.get_bg(),
+ bgwot = bg.wot;
+
+// bg.console.log("RW: wot.ratingwindow.comments.get_comment(target)", target);
+
+ bgwot.api.comments.get(target);
+ },
+
+ remove_comment: function () {
+ // TODO: to be implemented when there will be a button "remove the comment" in UI
+ },
+
+ update_hint: function () {
+ var rw = wot.ratingwindow,
+ _this = rw.comments,
+ $_comment = $("#user-comment"),
+ $_hint = $("#comment-bottom-hint"),
+ len = $_comment.val().trim().length,
+ fix_len = 0,
+ cls = "";
+
+ if (len > 0 && len < _this.MIN_LIMIT) {
+ fix_len = String(len - _this.MIN_LIMIT).replace("-", "– "); // readability is our everything
+ cls = "error min"
+ } else if (len > _this.MAX_LIMIT) {
+ fix_len = len - _this.MAX_LIMIT;
+ cls = "error max"
+ } else {
+ // we could show here something like "looks good!"
+ }
+
+ $_hint.attr("class", cls).text(fix_len);
+ },
+
+ update_button: function (mode, enabled) {
+ var _this = wot.ratingwindow.comments,
+ $_button = $("#btn-comment");
+
+ $_button.toggleClass("disabled", !(enabled && _this.allow_commenting)); // take into account other restrictions like "banned"
+
+ switch (mode) {
+ case "rate":
+ if (_this.is_commented()) {
+ $_button.text(wot.i18n("ratingwindow", "editcomment"));
+ } else {
+ $_button.text(wot.i18n("ratingwindow", "addcomment"));
+ }
+
+ break;
+ case "comment":
+ if (wot.ratingwindow.has_1upvote()) {
+ $_button.text(wot.i18n("ratingwindow", "backtoratings"));
+ } else {
+ $_button.text(wot.i18n("ratingwindow", "backtoratings_category"));
+ }
+ break;
+ }
+
+ $_button.toggle(!_this.is_banned); // don't show this button to banned users
+ },
+
+ set_comment: function (text) {
+ $("#user-comment").val(text);
+ },
+
+ has_valid_comment: function () {
+ var comment = $("#user-comment").val().trim(),
+ _this = wot.ratingwindow.comments;
+
+ return (comment.length >= _this.MIN_LIMIT && comment.length < _this.MAX_LIMIT);
+ },
+
+ focus: function () {
+ $("#user-comment").focus();
+ },
+
+ show_normal_hint: function () {
+ $("#comment-register").hide();
+ $("#comment-captcha").hide();
+ $("#comment-side-hint").show();
+ $("#user-comment").removeClass("warning").attr("disabled", null);
+ },
+
+ show_register_invitation: function () {
+ $("#comment-side-hint").hide();
+ $("#user-comment").addClass("warning");
+ $("#comment-register").show();
+ },
+
+ show_captcha_invitation: function () {
+ $("#comment-side-hint").hide();
+ $("#user-comment").addClass("warning").attr("disabled", "1");
+ $("#comment-captcha").show();
+ }
+ }
+
+}});
diff --git a/chrome/wot.jar!/content/rw/wot.js b/chrome/wot.jar!/content/rw/wot.js
new file mode 100644
index 0000000..ecc5bb9
--- /dev/null
+++ b/chrome/wot.jar!/content/rw/wot.js
@@ -0,0 +1,1040 @@
+/*
+ wot.js
+ Copyright © 2009 - 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 = {
+ version: 20130917,
+ platform: "firefox",
+ locale: "en", // cached value of the locale
+ lang: "en-US", // cached value of the lang
+ debug: false, // when changing this, don't forget to switch ga_id value also!
+ default_component: 0,
+ enable_surveys: true, // Feedback loop engine
+
+ ga_id: "UA-2412412-8", // test: UA-35564069-1 , live: UA-2412412-8
+
+ // environment (browser, etc)
+ env: {
+ is_mailru: false,
+ is_yandex: false,
+ is_rambler: false,
+
+ is_accessible: false
+ },
+
+ components: [
+ { name: 0 },
+ { name: 4 }
+ ],
+
+ cgroups: {}, // Categories' groups and their mapping to colors and TR/CS. Initialized by calling "wot.init_categories(prefs)"
+
+ // Groupings for building category selector in Rating Window. Loaded from API server, update.xml file.
+ grouping: [],
+
+ categories: {}, // is loaded from preferences during launch and updated from server regularly
+
+ category_threshold: 3, // confidence level to show a category as identified
+
+ reputationlevels: [
+ { name: "rx", min: -2 },
+ { name: "r0", min: -1 },
+ { name: "r1", min: 0 },
+ { name: "r2", min: 20 },
+ { name: "r3", min: 40 },
+ { name: "r4", min: 60 },
+ { name: "r5", min: 80 }
+ ],
+
+ confidencelevels: [
+ { name: "cx", min: -2 },
+ { name: "c0", min: -1 },
+ { name: "c1", min: 6 },
+ { name: "c2", min: 12 },
+ { name: "c3", min: 23 },
+ { name: "c4", min: 34 },
+ { name: "c5", min: 45 }
+ ],
+
+ // reference: http://www.mywot.com/wiki/Activity_scores
+ activityscore_levels: [
+ { name: "rookie", min: 0 },
+ { name: "bronze", min: 1500 },
+ { name: "silver", min: 3000 },
+ { name: "gold", min: 6000 },
+ { name: "platinum", min: 10000 }
+ ],
+
+ AS_LEVELS: {
+ ROOKIE: 0,
+ BRONZE: 1500,
+ SILVER: 3000,
+ GOLD: 6000,
+ PLATINUM: 10000
+ },
+
+ searchtypes: {
+ optimized: 0,
+ worst: 1,
+ trustworthiness: 2
+ },
+
+ warningtypes: { /* bigger value = more severe warning */
+ none: 0,
+ notification: 1,
+ overlay: 2,
+ block: 3
+ },
+
+ warningreasons: { /* bigger value = more important reason */
+ skipped: -1,
+ none: 0,
+ unknown: 1,
+ rating: 2,
+ reputation: 3
+ },
+
+ urls: {
+ base: "http://www.mywot.com/",
+ scorecard: "http://www.mywot.com/scorecard/",
+ settings: "http://www.mywot.com/settings",
+ profile: "http://www.mywot.com/user",
+ signup: "https://www.mywot.com/signup",
+ welcome: "http://www.mywot.com/settings/welcome",
+ setcookies: "http://www.mywot.com/setcookies.php",
+ update: "http://www.mywot.com/update",
+ tour_warning:"http://www.mywot.com/support/tour/warningscreen",
+ tour: "http://www.mywot.com/support/tour/",
+ tour_rw: "http://www.mywot.com/support/tour/ratingwindow",
+ tour_scorecard: "http://www.mywot.com/support/tour/scorecard",
+
+ contexts: {
+ rwlogo: "rw-logo",
+ rwsettings: "rw-settings",
+ rwguide: "rw-guide",
+ rwforum: "rw-forum",
+ rwviewsc: "rw-viewsc",
+ rwprofile: "rw-profile",
+ rwmsg: "rw-msg",
+ rwcommreg: "rw-commreg",
+ rwcaptcha: "rw-captcha",
+ warnviewsc: "warn-viewsc",
+ warnrate: "warn-rate",
+ popupviewsc: "popup",
+ popuprate: "popup-rate",
+ popupdonuts: "popup-donuts",
+ fbl_logo: "fbl-logo",
+ wt_intro: "wt-intro",
+ wt_rw_lm: "wt-rw-lm",
+ wt_warn_lm: "wt-warn-lm",
+ wt_warn_logo: "wt-warn-logo",
+ wt_donuts_lm: "wt-donuts-lm",
+ wt_donuts_logo: "wt-donuts-logo"
+ }
+ },
+
+ firstrunupdate: 1, /* increase to show a page after an update */
+
+ cachestatus: {
+ error: 0,
+ ok: 1,
+ busy: 2,
+ retry: 3,
+ link: 4,
+ unsubmitted: 5
+ },
+
+ badge_types: {
+ unsaved_comment: {
+ color: [255, 0, 0, 255],
+ text: "?",
+ type: "unsaved_comment",
+ priority: 1
+ },
+ notice: { // for system notifications
+ color: [240, 0, 0, 255],
+ text: "1",
+ type: "notice", // important to compare with current status type
+ priority: 2
+ },
+ message: { // for messages from another users
+ color: [160, 160, 160, 255],
+ text: "",
+ type: "message",
+ priority: 3
+ },
+ unrated: {
+ color: [255, 235, 0, 255],
+ text: "-",
+ type: "unrated",
+ priority: 4
+ },
+ nocategories: {
+ color: [200, 200, 200, 255],
+ text: "?",
+ type: "nocategories",
+ priority: 5
+ }
+ },
+
+ comments: {
+ error_codes: {
+ "0": "SUCCESS",
+ "1": "NO_ACTION_DEFINED",
+ "2": "IS_BANNED",
+ "3": "AUTHENTICATION_FAILED",
+ "4": "NO_TARGET",
+ "5": "COMMENT_NOT_FOUND",
+ "6": "COMMENT_REMOVAL_FAILED",
+ "7": "COMMENT_NOT_ALLOWED",
+ "8": "NO_COMMENTID",
+ "9": "NO_CATEGORIES_SPECIFIED",
+ "10": "NO_COMMENT_SPECIFIED",
+ "11": "AUTHENTICATION_INVALID_QUERY_PARAMETERS",
+ "12": "AUTHENTICATION_REP_SERVER_ERROR",
+ "13": "NO_QUERY_SPECIFIED",
+ "14": "QUERY_STRING_MISSING",
+ "15": "COMMENT_HAS_BEEN_ALTERED",
+ "16": "COMMENT_TOO_SHORT",
+ "17": "COMMENT_TOO_LONG",
+ "18": "COMMENT_SAVE_FAILED",
+ SUCCESS: 0,
+ NO_ACTION_DEFINED: 1,
+ IS_BANNED: 2,
+ AUTHENTICATION_FAILED: 3,
+ COMMENT_NOT_FOUND: 5,
+ COMMENT_REMOVAL_FAILED: 6,
+ COMMENT_NOT_ALLOWED: 7,
+ AUTHENTICATION_REP_SERVER_ERROR: 12,
+ COMMENT_SAVE_FAILED: 18
+ }
+ },
+
+ expire_warned_after: 20000, // number of milliseconds after which warned flag will be expired
+
+ // trusted extensions IDs
+ allowed_senders: {
+ "ihcnfeknmfflffeebijjfbhkmeehcihn": true, // dev version
+ "bhmmomiinigofkjcapegjjndpbikblnp": true, // WOT via WebStore
+ "goinjpofmboaejkhflohjoloaoebfopj": true, // WOT (m2) distributed via mywot.com
+ "hghiafbmcdglhlkgpfafjjoigpghhilc": true // Manifest-1 version of WOT addon
+ },
+
+ // engagement schedule
+ engage_settings: {
+ invite_to_rw: {
+ delay: 12 * 3600, // 12 hours after first launch
+ pref_name: "ratingwindow_shown",
+ enabled: true // this is a cache value to avoid comprehensive logic work often (in case of = false)
+ }
+ },
+
+ // Constants for playing with date & time (in seconds)
+ DT: {
+ MINUTE: 60,
+ HOUR: 3600,
+ DAY: 24 * 3600,
+ WEEK: 7 * 24 * 3600,
+ MONTH: 30 * 24 * 3600
+ },
+
+ /* logging */
+
+ log: function (s)
+ {
+ if (wot.debug) {
+ console.log(s, arguments);
+ }
+ },
+
+ /* events */
+
+ events: {},
+
+ trigger: function (name, params, once)
+ {
+ if (this.events[name]) {
+ if (wot.debug) {
+ console.log("trigger: event " + name + ", once = " + once);
+ }
+
+ this.events[name].forEach(function (obj) {
+ try {
+ obj.func.apply(null, [].concat(params).concat(obj.params));
+ } catch (e) {
+ console.log("trigger: event " + name + " failed with " +
+ e + "\n");
+ }
+ });
+
+ if (once) { /* these events happen only once per bind */
+ delete (this.events[name]);
+ }
+ }
+ },
+
+ bind: function (name, func, params)
+ {
+ if (typeof (func) == "function") {
+ this.events[name] = this.events[name] || [];
+ this.events[name].push({ func: func, params: params || [] });
+
+ if (wot.debug) {
+ console.log("bind: event " + name);
+ }
+ this.trigger("bind:" + name);
+ }
+ },
+
+ addready: function (name, obj, func)
+ {
+ obj.ready = function (setready)
+ {
+ if (typeof(func) == "function") {
+ this.isready = setready || func.apply(this);
+ } else {
+ this.isready = setready || this.isready;
+ }
+ if (this.isready) {
+ wot.trigger(name + ":ready", [], true);
+ }
+ };
+
+ obj.isready = false;
+
+ this.bind("bind:" + name + ":ready", function() {
+ obj.ready();
+ });
+ },
+
+ /* messaging */
+
+ connections: {},
+
+ triggeronmessage: function(port)
+ {
+ port.onMessage.addListener(function(data) {
+ wot.trigger("message:" + data.message, [ {
+ port: port,
+ post: function(message, data) {
+ wot.post(this.port.name, message, data, this.port);
+ }
+ }, data ]);
+ });
+ },
+
+ listen: function(names)
+ {
+ if (typeof(names) == "string") {
+ names = [ names ];
+ }
+
+ chrome.extension.onConnect.addListener(function(port) {
+ if (names.indexOf(port.name) >= 0) {
+ wot.triggeronmessage(port);
+ wot.connections[port.name] = port;
+ }
+ });
+ },
+
+ connect: function(name)
+ {
+ var port = this.connections[name];
+
+ if (port) {
+ return port;
+ }
+
+ port = chrome.extension.connect({ name: name });
+
+ if (port) {
+ this.triggeronmessage(port);
+ this.connections[name] = port;
+ }
+
+ return port;
+ },
+
+ post: function(name, message, data, port)
+ {
+ port = port || this.connect(name);
+
+ if (port) {
+ data = data || {};
+ data.message = name + ":" + message;
+ this.log("post: posting " + data.message + "\n");
+ port.postMessage(data);
+ }
+ },
+
+ is_allowed_sender: function(sender_id) {
+ return wot.allowed_senders[sender_id] || wot.debug; // allow known senders or any in
+ },
+
+ /* i18n */
+
+ i18n: function(category, id, shorter)
+ {
+ var msg = category;
+
+ if (shorter) {
+ msg += "__short";
+ }
+
+ if (id != null) {
+ msg += "_" + id;
+ }
+
+ var result = chrome.i18n.getMessage(msg);
+
+ if (result == null) {
+ result = this.debug ? "!?" : "";
+ }
+
+ // Workaround for the Chrome's issue 53628
+ // http://code.google.com/p/chromium/issues/detail?id=53628
+ var temp_workaround = {
+ "warnings_warning": "Warning!",
+ "warnings_goto": "Go to the site",
+ "warnings_leave": "Leave the site",
+ "warnings_back": "Go back"
+ };
+
+ if (result == "") {
+ var res_2 = temp_workaround[msg];
+ if (res_2 != "") return res_2;
+ }
+
+ // END of workaround / remove it when the bug will be fixed
+
+ return result;
+ },
+
+ /* helpers */
+
+ getuniques: function(list)
+ {
+ var seen = {};
+
+ return list.filter(function(item) {
+ if (seen[item]) {
+ return false;
+ } else {
+ seen[item] = true;
+ return true;
+ }
+ });
+ },
+
+ /* rules */
+
+ matchruleurl: function(rule, url)
+ {
+ try {
+ return (RegExp(rule.url).test(url) &&
+ (!rule.urlign || !RegExp(rule.urlign).test(url)));
+ } catch (e) {
+ console.log("matchurl: failed with " + e + "\n");
+ }
+
+ return false;
+ },
+
+ /* reputation and confidence */
+
+ getlevel: function(levels, n, next)
+ {
+ next = next ? next : false;
+
+ var next_level = levels[levels.length - 1];
+
+ for (var i = levels.length - 1; i >= 0; --i) {
+ if (n >= levels[i].min) {
+ return next ? next_level : levels[i];
+ }
+ next_level = levels[i];
+ }
+
+ return levels[1];
+ },
+
+ get_level_label: function (component, rep_level, my) {
+ my = my || false;
+
+ if (my) {
+ return wot.i18n("testimony", component + "_levels_" + rep_level);
+ } else {
+ return wot.i18n("reputationlevels", rep_level);
+ }
+ },
+
+ get_user_level: function (activity_score, next) {
+ activity_score = parseInt(activity_score) || 0;
+ return wot.getlevel(wot.activityscore_levels, activity_score, next);
+ },
+
+ getwarningtypeforcomponent: function(comp, data, prefs)
+ {
+ var type = prefs["warning_type_" + comp] || this.warningtypes.none;
+
+ if (!prefs["show_application_" + comp] ||
+ type == this.warningtypes.none) {
+ return null;
+ }
+
+ var r = -1, c = -1, t = -1;
+
+ if (data[comp]) {
+ r = data[comp].r;
+ c = data[comp].c;
+ t = data[comp].t;
+ }
+
+ var warninglevel = prefs["warning_level_" + comp] || 0;
+ var minconfidence = prefs["min_confidence_level"] || 0;
+ var forunknown = prefs["warning_unknown_" + comp];
+
+ var rr = (r < -1) ? 0 : r;
+ var cc = (c < -1) ? warninglevel : c;
+
+ if (((rr >= 0 && rr <= warninglevel && /* poor reputation */
+ /* and sufficient confidence */
+ (cc >= minconfidence || forunknown)) ||
+ /* or no reputation and warnings for unknown sites */
+ (rr < 0 && forunknown)) &&
+ /* and no rating that overrides the reputation */
+ (t < 0 || t <= warninglevel)) {
+ if (r < 0) {
+ return {
+ type: type,
+ reason: this.warningreasons.unknown
+ };
+ } else {
+ return {
+ type: type,
+ reason: this.warningreasons.reputation
+ };
+ }
+ }
+
+ /* or if the user has rated the site poorly */
+ if (t >= 0 && t <= warninglevel) {
+ return {
+ type: type,
+ reason: this.warningreasons.rating
+ };
+ }
+
+ return null;
+ },
+
+ getwarningtype: function(data, prefs)
+ {
+ var warning = {
+ type: this.warningtypes.none,
+ reason: this.warningreasons.none
+ };
+
+ this.components.forEach(function(item) {
+ var comp = wot.getwarningtypeforcomponent(item.name, data, prefs);
+
+ if (comp) {
+ warning.type = Math.max(warning.type, comp.type);
+ warning.reason = Math.max(warning.reason, comp.reason);
+ }
+ });
+
+ return warning;
+ },
+
+ /* paths */
+
+ getlocalepath: function(file)
+ {
+ return "_locales/" + this.i18n("locale") + "/" + file;
+ },
+
+
+ getincludepath: function(file)
+ {
+ return "skin/include/" + file;
+ },
+
+ geticon: function(r, size, accessible, options)
+ {
+ var name = "/",
+ has_subtype = false,
+ sub_type = "plain";
+
+ if (options instanceof Object) {
+ sub_type = options.subtype;
+ has_subtype = !!sub_type;
+ // todo: get other option here
+ } else {
+ // compatibility with old code (non-refactored: options is boolean)
+ has_subtype = options; // sub_type might only be "plain" if plain is true.
+ }
+
+ if (typeof(r) == "number") {
+ name += this.getlevel(this.reputationlevels, r).name;
+ } else {
+ name += r;
+ }
+
+ if (has_subtype) {
+ name = "/" + sub_type + name;
+ }
+
+ var path = "skin/fusion/";
+
+ if ((typeof(r) != "number" || r >= -1) && accessible) {
+ path += "accessible/";
+ }
+
+ return path + size + "_" + size + name + ".png";
+ },
+
+ contextedurl: function(url, context)
+ {
+ var newurl = url;
+ newurl += ( (url.indexOf("?") > 0) ? "&" : "?" );
+ newurl += "utm_source=addon&utm_content=" + context;
+ return newurl;
+ },
+
+ detect_environment: function(readonly)
+ {
+ readonly = readonly || false;
+ // try to understand in which environment we are run
+ var user_agent = window.navigator.userAgent || "";
+ wot.env.is_mailru = user_agent.indexOf("MRCHROME") >= 0;
+
+ // old yandex browser is named "Yandex Internet" (chromium 18), new browser is named "YaBrowser" (chromium 22+)
+ wot.env.is_yandex = user_agent.indexOf("YaBrowser") >= 0 || user_agent.indexOf(" YI") >= 0;
+
+ if(wot.env.is_mailru) {
+ // set param to label requests
+ wot.partner = "mailru";
+ }
+
+ if(!readonly) wot.prefs.set("partner", wot.partner);
+
+ // Is the mode "accessible" set on?
+ wot.env.is_accessible = wot.prefs.get("accessible");
+ },
+
+ cache_locale: function () {
+ wot.lang = wot.i18n("lang");
+ wot.locale = wot.i18n("locale");
+ },
+
+ time_sincefirstrun: function()
+ {
+ // gives time (in seconds) spent from very first run of the addon.
+ var starttime_str = wot.prefs.get("firstrun:time");
+ if (starttime_str) {
+ var starttime = new Date(starttime_str);
+ return (new Date() - starttime) / 1000; // in seconds;
+
+ } else {
+ return undefined;
+ }
+ },
+
+ time_since: function(a, b) {
+
+ if (typeof a === "string") {
+ a = new Date(a);
+ }
+
+ b = b || new Date();
+
+ if (typeof b === "string") {
+ b = new Date(b);
+ }
+
+ return (b - a) / 1000; // in seconds
+ },
+
+ is_defined: function (list, prefix) {
+ // test if locale strings are available (due to bug in Chrome, it is possible to get "undefined")
+ if (list instanceof Array != true) return false;
+ for(var i in list) {
+ if (wot.i18n(prefix, list[i]) === undefined) {
+ return false; // avoid showing "undefined" strings in Tips. Postpone to browser's restart (it fixes usually)
+ }
+ }
+ return true;
+ },
+
+ get_activity_score: function (onget) {
+ var pref_name = "activity_score",
+ proxy_wot = wot;
+ if (wot.core || wot.ratingwindow) {
+ // wow, we are in the background page or Rating window
+
+ if (wot.ratingwindow) {
+ // use reference to BG page
+ var bg = chrome.extension.getBackgroundPage();
+ proxy_wot = bg.wot;
+ }
+
+ if (proxy_wot.core.activity_score == 0) {
+ // lets check what we have in local storage
+ return proxy_wot.prefs.get(pref_name);
+ } else {
+ return proxy_wot.core.activity_score;
+ }
+ } else {
+ // yay, we are in a content script. Have to use functional-style
+ wot.prefs.get(pref_name, onget);
+ }
+ },
+
+ // copies and validates categories from saved preferences (actually prefs['update:state'])
+ init_categories: function (_prefs) {
+ try {
+ var update_state = (typeof _prefs.get == "function") ? _prefs.get("update:state") : _prefs["update:state"];
+
+ if (update_state && !wot.utils.isEmptyObject(update_state) &&
+ update_state.categories && update_state.categories.length > 0) {
+
+ // update groupings and groups
+ if(update_state.categories[0].grouping) {
+ var groupings = update_state.categories[0].grouping;
+ for (var k=0; k < groupings.length; k++) {
+ var grp = groupings[k];
+ grp.tmax = grp.tmax !== undefined ? parseInt(grp.tmax) : undefined;
+ grp.tmin = grp.tmin !== undefined ? parseInt(grp.tmin) : undefined;
+ grp.groups = grp.group; // change the name to comply with current implementation
+ delete grp.group;
+
+ if (grp.groups) {
+ for (var n=0; n < grp.groups.length; n++) {
+ wot.cgroups[grp.groups[n].name] = {
+ type: grp.groups[n].type
+ }
+ }
+ }
+ }
+ wot.grouping = groupings;
+ }
+
+ // update categories
+ if (update_state.categories[0].category) {
+ var cats = update_state.categories[0].category;
+ for (var m=0; m < cats.length; m++) {
+ cat = cats[m];
+ if (cat.name && cat.text != null) {
+ cat.id = parseInt(cat.name);
+ if (cat.group && wot.cgroups[cat.group] && wot.cgroups[cat.group].type) {
+ cat.type = wot.cgroups[cat.group].type;
+ }
+ cat.cs = (cat.application == "4"); // set CS flag
+ wot.categories[cat.name] = cat;
+ }
+ }
+ }
+ } else {
+ console.warn("No categories are known yet. Not good situation.");
+ }
+ } catch (e) {
+ console.error("init_categories() failed, ", e);
+ }
+ },
+
+ get_category: function (cat_id) {
+ var cid = String(cat_id),
+ cat = {};
+ if (wot.categories && wot.categories[cid]) {
+ cat = wot.categories[cid];
+ cat.id = cid;
+ }
+ return cat;
+ },
+
+ get_category_name: function (cat_id, is_short) {
+ var cat = wot.get_category(cat_id);
+ var text = is_short ? cat.shorttext : cat.text;
+ return text ? text : cat.text; // if no short name is known, return full name
+ },
+
+ get_category_group_id: function (cat_id) {
+ return wot.get_category(cat_id).group;
+ },
+
+ get_category_css: function (cat_id) {
+ var type = wot.get_category(cat_id).type;
+ return type !== undefined ? "c-" + type : "";
+ },
+
+ rearrange_categories: function (cats_object) {
+ // sorts the categories given as object and return two arrays of category objects ordered by confidence
+ var sort_array = [],
+ cs_array = [];
+
+ if (cats_object) {
+
+ try {
+ // Make the array of objects (categories)
+ for (var key in cats_object) {
+ var cat = wot.get_category(key);
+ cats_object[key].id = key;
+ cats_object[key].cs = cat.cs;
+ cats_object[key].group = cat.group;
+ sort_array.push(cats_object[key]);
+ }
+
+ // Sort the array
+ sort_array.sort(function(a, b) {
+ if (a.c != b.c) { // try to sort by confidence level
+ return a.c - b.c
+ } else { // otherwise try to sort by group id
+ if (a.group != b.group) {
+ return a.group - b.group;
+ } else {
+ return a.id > b.id;
+ }
+ }
+ });
+ sort_array.reverse();
+ } catch (e) {
+ console.error("Failed to rearrange categories", e);
+ }
+
+ var alltogether = sort_array.slice(0);
+
+ try {
+ // filter out Child Safety cats to other array
+ for (var i=sort_array.length-1; i>=0; i--) {
+ if (sort_array[i].cs) {
+ cs_array.push(sort_array.splice(i, 1)[0]);
+ }
+ }
+ cs_array.reverse();
+ } catch (e) {
+ console.error("Failed to rearrange categories", e);
+ }
+ }
+
+ return {
+ all: alltogether,
+ trustworthy: sort_array,
+ childsafety: cs_array
+ };
+ },
+
+ select_categories: function (g_from, g_to) {
+ var l = [];
+ for(var i in wot.categories) {
+ var c = wot.categories[i];
+ if (((g_from != null && c.group >= g_from) || g_from == null) &&
+ ((g_to != null && c.group <= g_to) || g_to == null)) {
+ l.push(parseInt(i));
+ }
+ }
+ return l;
+ },
+
+ select_identified: function (cat_list) {
+ // Returns categories identified by community (not sorted order)
+ var res = {};
+ for (var i in cat_list) {
+ var cat = cat_list[i];
+ if (cat.c >= wot.category_threshold) res[i] = cat;
+ }
+ return res;
+ },
+
+ select_voted: function (cat_list) {
+ // Returns categories voted by the current user (the state from server/cache)
+
+ var res = {};
+ for (var i in cat_list) {
+ var cat = cat_list[i];
+ if (cat.v != 0 && cat.v !== undefined) res[i] = cat;
+ }
+
+ return res;
+ },
+
+ determ_grouping: function (t0, type) {
+ // Return proper grouping ID for the category selector based on user's testimonies
+
+ var grp = {};
+ for (var gi=0; gi < wot.grouping.length; gi++) {
+ grp = wot.grouping[gi];
+ if ((grp.omnipresent && type === "omnipresent") || (grp.dynamic && type === "dynamic")) return grp;
+ else {
+ if (!grp.omnipresent && !type) { // skip only omnipresent, and if type is not set
+ var tmin = grp.tmin !== null ? grp.tmin : -1,
+ tmax = grp.tmax !== null ? grp.tmax : -1;
+ if ((t0 == -1 && grp.dynamic) || (t0 >= tmin && t0 <= tmax)) {
+ return grp;
+ }
+ }
+ }
+ }
+
+ return {};
+ },
+
+ is_rated: function (cached) {
+
+ if (cached && cached.value) {
+ return wot.components.some(function(item) {
+ return (cached.value[item.name] &&
+ cached.value[item.name].t >= 0);
+ });
+ }
+
+ return false;
+ }
+};
+
+
+wot.utils = {
+
+ get_document: function (frame) {
+ frame = frame || window;
+ var framed_document = frame.document || frame.contentDocument;
+ return framed_document;
+ },
+
+ get_or_create_element: function (id, tag, frame) {
+ tag = tag || "div";
+ var framed_document = wot.utils.get_document(frame);
+
+ var elem = framed_document.getElementById(id);
+
+ if(!elem) {
+ elem = framed_document.createElement(tag);
+ elem.setAttribute("id", id);
+ }
+
+ return elem;
+ },
+
+ attach_element: function (element, frame) {
+ var framed_document = wot.utils.get_document(frame);
+
+ if(framed_document) {
+ var body = framed_document.getElementsByTagName("body");
+
+ if (!element || !body || !body.length) {
+ return false;
+ }
+
+ return body[0].appendChild(element);
+ } else {
+ wot.log("Can't get document of frame");
+ return false;
+ }
+
+ },
+
+ attach_style: function (style_file_or_object, uniq_id, frame) {
+ try {
+ uniq_id = uniq_id || null;
+ var reuse_style = false;
+
+ var framed_document = wot.utils.get_document(frame);
+
+ if(!framed_document) {
+ return false;
+ }
+
+ if(uniq_id) {
+ var el = framed_document.getElementById(uniq_id);
+ if(el) {
+ // if the element exists already - remove it to update styles
+ reuse_style = true;
+ }
+ }
+
+ var head = framed_document.getElementsByTagName("head");
+
+ if (!head || !head.length) {
+ return false;
+ }
+
+ var style = reuse_style ? el : framed_document.createElement("style");
+
+ if (!style) {
+ return false;
+ }
+
+ if(uniq_id) {
+ style.setAttribute("id", uniq_id);
+ }
+
+ style.setAttribute("type", "text/css");
+
+ if (typeof style_file_or_object === "object") {
+ style.innerText = style_file_or_object.style;
+ } else {
+ style.innerText = "@import \"" +
+ chrome.extension.getURL(wot.getincludepath(style_file_or_object)) +
+ "\";";
+ }
+
+ if (!reuse_style) {
+ head[0].appendChild(style);
+ }
+
+ return true;
+ } catch (e) {
+ console.log("wot.utils.attach_style() failed with", e, "Arguments:", arguments);
+ return false;
+ }
+ },
+
+ processhtml: function (html, replaces) {
+ try {
+ replaces.forEach(function(item) {
+ html = html.replace(RegExp("{" + item.from + "}", "g"),
+ item.to);
+ });
+
+ return html;
+ } catch (e) {
+ console.log("warning.processhtml: failed with " + e);
+ }
+
+ return "";
+ },
+
+ htmlescape: function(str) {
+ var tagsToReplace = {
+ '&': '&',
+ '<': '<',
+ '>': '>'
+ };
+ return str.replace(/[&<>]/g, function(symb) {
+ return tagsToReplace[symb] || symb;
+ });
+ },
+
+ isEmptyObject: function (obj) {
+ for (var name in obj) {
+ return false;
+ }
+ return true;
+}
+};
diff --git a/chrome/wot.jar!/content/search.js b/chrome/wot.jar!/content/search.js
index 27ae51d..76da492 100644
--- a/chrome/wot.jar!/content/search.js
+++ b/chrome/wot.jar!/content/search.js
@@ -436,6 +436,11 @@ var wot_search =
domcontentloaded: function(event)
{
+
+ try { // Workaround to resolve "TypeError: can't access dead object" at start of the browser
+ if (!event.originalTarget) return;
+ } catch (e) { return; } // do nothing
+
try {
wot_search.watch(event.originalTarget);
} catch (e) {
@@ -988,15 +993,16 @@ var wot_search =
target: target
};
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- rv["reputation_" + i] =
- wot_cache.get(target, "reputation_" + i);
- rv["confidence_" + i] =
- wot_cache.get(target, "confidence_" + i);
- rv["testimony_" + i] =
- wot_cache.get(target, "testimony_" + i);
- rv["excluded_" + i] =
- wot_cache.get(target, "excluded_" + i);
+ for (var i = 0, a = 0; i < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ rv["reputation_" + a] =
+ wot_cache.get(target, "reputation_" + a);
+ rv["confidence_" + a] =
+ wot_cache.get(target, "confidence_" + a);
+ rv["testimony_" + a] =
+ wot_cache.get(target, "testimony_" + a);
+ rv["excluded_" + a] =
+ wot_cache.get(target, "excluded_" + a);
}
return rv;
@@ -1182,32 +1188,12 @@ var wot_search =
var r = wot_cache.get(name, "reputation_0");
- if (wot_prefs.search_type == WOT_SEARCH_TYPE_OPTIMIZED) {
- for (var i = 1; i < WOT_APPLICATIONS; ++i) {
- if (wot_prefs["search_ignore_" + i]) {
- continue;
- }
-
- if (wot_warning.getwarningtype(name, i, false) !=
- WOT_WARNING_NONE) {
- var a = wot_cache.get(name, "reputation_" + i);
- if (r > a) {
- r = a;
- }
- }
- }
- } else if (wot_prefs.search_type == WOT_SEARCH_TYPE_WORST) {
- for (var i = 1; i < WOT_APPLICATIONS; ++i) {
- if (!wot_prefs["show_application_" + i] ||
- wot_prefs["search_ignore_" + i]) {
- continue;
- }
-
- var a = wot_cache.get(name, "reputation_" + i);
- if (a >= 0 && a < r) {
- r = a;
- }
- }
+ // respect "Parental control" setting and use the worst reputation between app0 and app4
+ if (wot_prefs.warning_level_4 > 0) {
+ var r_app4 = wot_cache.get(name, "reputation_4");
+ if (r_app4 >= 0 && r_app4 < r) {
+ r = r_app4;
+ }
}
return r;
diff --git a/chrome/wot.jar!/content/settings.js b/chrome/wot.jar!/content/settings.js
index a914289..dd478e2 100644
--- a/chrome/wot.jar!/content/settings.js
+++ b/chrome/wot.jar!/content/settings.js
@@ -120,70 +120,59 @@ var wot_settings =
var inputs = content.getElementsByTagName("input");
for (var i = 0; i < inputs.length; ++i) {
- var preftype = inputs[i].getAttribute("wotpref");
-
- if (!preftype) {
- continue;
- }
-
- var id = inputs[i].getAttribute("id");
-
- if (!id) {
- continue;
- }
-
- var type = inputs[i].getAttribute("type");
-
- if (!type) {
- continue;
- }
-
- if ((type == "checkbox" || type == "radio") &&
- preftype == "bool") {
- if (!wot_prefs.setBool(id, inputs[i].checked)) {
- dump("wot_settings.onsave: setBool failed for " +
- id + "\n");
- }
- } else {
- var value = inputs[i].getAttribute("value");
-
- if (!value) {
- if (preftype == "string") {
- value = "";
- } else {
- dump("wot_settings.onsave: no value for " + id + "\n");
- continue;
- }
- }
-
- if (preftype == "bool") {
- if (!wot_prefs.setBool(id, (value == "true"))) {
- dump("wot_settings.onsave: setBool failed for " +
- id + "\n");
- }
- } else if (preftype == "int") {
- if (!wot_prefs.setInt(id, Number(value))) {
- dump("wot_settings.onsave: setInt failed for " +
- id + " and value " + value + "\n");
- }
- } else if (preftype == "string") {
- if (!wot_prefs.setChar(id, value)) {
- dump("wot_settings.onsave: setChar failed for " +
- id + "\n");
- }
- }
- }
+ try {
+ var preftype = inputs[i].getAttribute("wotpref"),
+ id = inputs[i].getAttribute("id"),
+ type = inputs[i].getAttribute("type");
+
+ if (!preftype || !id || !type) continue;
+
+ if ((type == "checkbox" || type == "radio") &&
+ preftype == "bool") {
+ if (!wot_prefs.setBool(id, inputs[i].checked)) {
+ wdump("wot_settings.onsave: setBool failed for " + id);
+ }
+ } else {
+ var value = inputs[i].getAttribute("value");
+
+ if (!value) {
+ if (preftype == "string") {
+ value = "";
+ } else {
+ wdump("wot_settings.onsave: no value for " + id);
+ continue;
+ }
+ }
+
+ if (preftype == "bool") {
+ if (!wot_prefs.setBool(id, (value == "true" || value == "1"))) {
+ wdump("wot_settings.onsave: setBool failed for " + id);
+ }
+ } else if (preftype == "int") {
+ if (!wot_prefs.setInt(id, Number(value))) {
+ wdump("wot_settings.onsave: setInt failed for " + id + " and value " + value);
+ }
+ } else if (preftype == "string") {
+ if (!wot_prefs.setChar(id, value)) {
+ wdump("wot_settings.onsave: setChar failed for " + id);
+ }
+ }
+ }
+ } catch (e) {
+ wdump("wot_settings.onsave(): failed for " + id + " with " + e);
+ }
}
wot_prefs.flush();
wot_settings.addscript(content, "wotsettings_saved();");
return;
} catch (e) {
- dump("wot_settings.onsave: failed with " + e + "\n");
+ wdump("wot_settings.onsave: failed with " + e);
}
+
try {
wot_settings.addscript(content, "wotsettings_failed();");
} catch (e) {
- dump("wot_settings.onsave: failed with " + e + "\n");
+ wdump("wot_settings.onsave: failed with " + e);
}
},
@@ -205,31 +194,23 @@ var wot_settings =
}
},
- loadinputs: function(content)
- {
+ loadinputs: function(content) {
try {
var inputs = content.getElementsByTagName("input");
for (var i = 0; i < inputs.length; ++i) {
- var preftype = inputs[i].getAttribute("wotpref");
+ var preftype = inputs[i].getAttribute("wotpref"),
+ id, value, type;
- if (!preftype) {
- continue;
- }
-
- var id = inputs[i].getAttribute("id");
+ if (!preftype) continue;
- if (!id || this.disallowed[id]) {
- continue;
- }
-
- var type = inputs[i].getAttribute("type");
+ id = inputs[i].getAttribute("id");
+ if (!id || this.disallowed[id]) continue;
- if (!type) {
- continue;
- }
-
- var value = null;
+ type = inputs[i].getAttribute("type");
+ if (!type) continue;
+
+ value = null;
if (preftype == "bool") {
value = wot_prefs.getBool(id, null);
@@ -238,49 +219,37 @@ var wot_settings =
} else if (preftype == "string") {
value = wot_prefs.getChar(id, null);
} else {
- dump("wot_settings.loadinputs: invalid preftype " +
- preftype + "\n");
+ wdump("wot_settings.loadinputs: invalid preftype " + preftype);
continue;
}
- if (value == null) {
- continue;
- }
+ if (value == null) continue;
- if ((type == "checkbox" || type == "radio") &&
- preftype == "bool") {
+ if ((type == "checkbox" || type == "radio") && preftype == "bool") {
inputs[i].checked = value;
} else {
inputs[i].setAttribute("value", value.toString());
}
}
return true;
+
} catch (e) {
dump("wot_settings.loadinputs: failed with " + e + "\n");
}
return false;
},
- loadsearch: function(content)
- {
+ loadsearch: function(content) {
try {
- var search = content.getElementById("wotsearch");
-
- if (!search) {
- return true;
- }
+ var search = content.getElementById("search-services");
- var preftype = search.getAttribute("wotpref");
+ if (!search) return true;
- if (!preftype || preftype != "input") {
- return false;
- }
-
- var rules = [];
+ var rules = [],
+ j = 0,
+ i = 0;
- var j = 0;
-
- for (var i in wot_search.rules) {
+ for (i in wot_search.rules) {
if (!wot_search.rules[i].display ||
!wot_search.rules[i].display.length) {
continue;
@@ -289,55 +258,31 @@ var wot_settings =
}
rules.sort();
+ var search_rules = [];
+
for (j = 0; j < rules.length; ++j) {
- for (var i in wot_search.rules) {
- if (wot_search.rules[i].display != rules[j]) {
+ for (i in wot_search.rules) {
+ var item = wot_search.rules[i];
+ if (item.display != rules[j]) {
continue;
}
- var id = WOT_SEARCH + "." + wot_search.rules[i].rule +
- "." + WOT_SEARCH_ENABLED;
-
- var input = content.createElement("input");
-
- if (!input) {
- break;
- }
-
- input.setAttribute("id", id);
- input.setAttribute("type", "checkbox");
- input.setAttribute("wotpref", "bool");
- input.checked = wot_search.rules[i].enabled;
-
- var label = content.createElement("label");
-
- if (!label) {
- break;
- }
-
- label.setAttribute("for", id);
-
- var text = content.createTextNode(wot_search.rules[i].display);
-
- if (!text) {
- break;
- }
-
- var br = content.createElement("br");
-
- if (!br) {
- break;
- }
-
- label.appendChild(text);
- search.appendChild(input);
- search.appendChild(label);
- search.appendChild(br);
+ var id = WOT_SEARCH + "." + item.rule + ".enabled";
+
+ search_rules.push({
+ id: id,
+ display: item.display,
+ name: item.rule,
+ state: item.enabled === undefined ? true : item.enabled
+ });
}
}
+
+// wdump(JSON.stringify(search_rules));
+ wot_settings.addscript(content, "build_search_rules('"+JSON.stringify(search_rules)+"')");
return true;
} catch (e) {
- dump("wot_settings.loadsearch: failed with " + e + "\n");
+ wdump("wot_settings.loadsearch: failed with " + e);
}
return false;
}
diff --git a/chrome/wot.jar!/content/surveys.js b/chrome/wot.jar!/content/surveys.js
index 7fae6a0..1394fec 100644
--- a/chrome/wot.jar!/content/surveys.js
+++ b/chrome/wot.jar!/content/surveys.js
@@ -34,10 +34,10 @@ var wot_surveys = {
pwidth: 392,
px: 10,
py: 10,
- script_base: "resource://wot-base-dir/injections/",
- scripts: [ "jquery.js", "jquery-ui-1.9.2.custom.js",
- "wot_proxy.js", "ga_configure.js",
- "surveys.widgets.js", "ga_init.js"],
+ script_base: "resource://wot-base-dir/",
+ scripts: [ "libs/jquery.js", "libs/jquery-ui-1.9.2.custom.js",
+ "injections/wot_proxy.js", "injections/ga_configure.js",
+ "injections/surveys.widgets.js", "injections/ga_init.js"],
global_calm_period: 3 * 24 * 3600, // Time in seconds after asking a question before we can ask next question
site_calm_period: 10 * 24 * 3600, // delay between asking for the particular website if user hasn't given the feedback yet
@@ -45,7 +45,7 @@ var wot_surveys = {
newuser_period: 14 * 24 * 3600, // Don't ask new users (<14 days)
always_ask: ['api.mywot.com', 'fb.mywot.com'],
- always_ask_passwd: "#surveymewot", // this string must be present to show survey by force
+ always_ask_passwd: "#surveymewot", // this string must be present to show survey in forced way
reset_passwd: "#wotresetsurveysettings", // this string must be present to reset timers and optout
FLAGS: {
@@ -78,6 +78,10 @@ var wot_surveys = {
return;
}
+ try { // Workaround to resolve "TypeError: can't access dead object" at start of the browser
+ if (!event.originalTarget) { return; }
+ } catch (e) { return; }
+
var content = event.originalTarget,
location = (content && content.location) ? content.location : {};
diff --git a/chrome/wot.jar!/content/ui.js b/chrome/wot.jar!/content/ui.js
index fc91a43..c303e95 100644
--- a/chrome/wot.jar!/content/ui.js
+++ b/chrome/wot.jar!/content/ui.js
@@ -42,7 +42,7 @@ var wot_status = {
/* Update display */
if (wot_prefs.updateui) {
- wot_ui.update(description);
+ wot_ui.update();
}
} catch (e) {
dump("wot_status.set: failed with " + e + "\n");
@@ -59,8 +59,7 @@ var wot_status = {
var reputation = -1;
if (wot_cache.isok(wot_core.hostname)) {
- reputation = wot_cache.get(wot_core.hostname,
- "reputation_0");
+ reputation = wot_cache.get(wot_core.hostname, "reputation_0");
}
if (reputation > WOT_MAX_REPUTATION) {
@@ -70,41 +69,31 @@ var wot_status = {
var excluded = wot_cache.get(wot_core.hostname, "excluded_0");
/* Set status and description */
- var status, description, testimonies = false;
+ var rep_l, rep, r_level, description, testimonies = false;
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- if (wot_cache.get(wot_core.hostname, "testimony_" + i) >= 0) {
+ for (var i = 0, a = 0; i < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ if (wot_cache.get(wot_core.hostname, "testimony_" + a) >= 0) {
testimonies = true;
break;
}
}
if (excluded) {
- status = "excluded";
+ r_level = "0"; // should be "excluded" maybe?
description = "";
} else {
- if (reputation >= WOT_MIN_REPUTATION_5) {
- status = "5";
- } else if (reputation >= WOT_MIN_REPUTATION_4) {
- status = "4";
- } else if (reputation >= WOT_MIN_REPUTATION_3) {
- status = "3";
- } else if (reputation >= WOT_MIN_REPUTATION_2) {
- status = "2";
- } else if (reputation >= 0) {
- status = "1";
- } else {
- status = "0";
- }
-
- description = wot_util.getstring("description_rating_" + status);
+ rep_l = wot_util.get_level(WOT_REPUTATIONLEVELS, reputation);
+ r_level = rep_l.level;
+ rep = rep_l.name;
+ description = wot_util.getstring("reputationlevels_" + rep);
}
if (testimonies) {
- status += "-testimony";
+ r_level += "-testimony";
}
- this.set(status, description);
+ this.set(r_level, description);
var type = wot_warning.isdangerous(wot_core.hostname, true);
var content = getBrowser().selectedBrowser.contentDocument;
@@ -114,17 +103,27 @@ var wot_status = {
} else {
if(type != WOT_WARNING_BLOCK) wot_warning.hide(content);
}
+
+ wot_rw.update();
} catch (e) {
- dump("wot_status.update: failed with " + e + "\n");
+ wdump("wot_status.update: failed with " + e);
}
}
};
var wot_ui = {
- show_accessible: function()
+
+ SLIDER_WIDTH: 194, // make sure there is same value as in wot.css for .wot-rating-slider selector.
+
+ getElem: function (id) {
+ // just a shortcut
+ return document.getElementById(id);
+ },
+
+ show_accessible: function()
{
try {
- var mainwnd = document.getElementById("main-window");
+ var mainwnd = this.getElem("main-window");
if (mainwnd) {
var mode = "normal";
@@ -138,39 +137,19 @@ var wot_ui = {
}
}
} catch (e) {
- dump("wot_ui.show_accessible: failed with " + e + "\n");
- }
- },
-
- show_partner: function()
- {
- try {
- var mainwnd = document.getElementById("main-window");
- if (mainwnd) {
- var partner = wot_partner.getpartner() || "";
-
- if (mainwnd.getAttribute("wot-partner") != partner) {
- mainwnd.setAttribute("wot-partner", partner);
- }
-
- document.getElementById("wot-partner").hidden =
- !partner.length;
- }
- } catch (e) {
- dump("wot_ui.show_partner: failed with " + e + "\n");
+ wdump("wot_ui.show_accessible: failed with " + e);
}
},
- show_toolbar_button: function(id, after)
- {
+ show_toolbar_button: function(id, after) {
try {
- var nbr = document.getElementById("nav-bar");
+ var nbr = this.getElem("nav-bar");
if (!nbr || nbr.currentSet.indexOf(id) != -1) {
return;
}
- var box = document.getElementById("navigator-toolbox");
+ var box = this.getElem("navigator-toolbox");
if (!box) {
return;
@@ -185,7 +164,7 @@ var wot_ui = {
bar = bar.nextSibling;
}
- var target = document.getElementById(after);
+ var target = this.getElem(after);
if (target) {
target = target.nextSibling;
@@ -195,7 +174,7 @@ var wot_ui = {
nbr.setAttribute("currentset", nbr.currentSet);
document.persist("nav-bar", "currentset");
} catch (e) {
- dump("wot_ui.show_toolbar_button: failed with " + e + "\n");
+ wdump("wot_ui.show_toolbar_button: failed with " + e);
}
},
@@ -212,323 +191,25 @@ var wot_ui = {
/* Accessibility */
this.show_accessible();
- /* Rating components */
- document.getElementById("wot-rating-1").hidden =
- !wot_prefs.show_application_1;
- document.getElementById("wot-rating-2").hidden =
- !wot_prefs.show_application_2;
- document.getElementById("wot-rating-4").hidden =
- !wot_prefs.show_application_4;
-
- /* Partner */
- this.show_partner();
} catch (e) {
dump("wot_ui.show_elements: failed with " + e + "\n");
}
},
- update: function(description)
+ update: function()
{
try {
wot_commands.update();
this.show_elements();
- this.update_title(description);
- this.update_rating();
- this.update_testimonies();
- this.update_scorecard();
- this.update_users();
- this.update_message();
} catch (e) {
dump("wot_ui.update: failed with " + e + "\n");
}
},
- update_title: function(description)
- {
- try {
- var title = document.getElementById("wot-title-text");
- if (title) {
- if (wot_cache.isok(wot_core.hostname)) {
- title.value = wot_shared.decodehostname(wot_core.hostname);
- title.setAttribute("status", "target");
- } else {
- title.value = description;
- title.setAttribute("status", "information");
- }
- }
- } catch (e) {
- dump("wot_ui.update_title: failed with " + e + "\n");
- }
- },
-
- update_rating: function()
- {
- try {
- var cached = wot_cache.isok(wot_core.hostname);
-
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- var reputation = document.getElementById("wot-rating-" + i +
- "-reputation");
- var confidence = document.getElementById("wot-rating-" + i +
- "-confidence");
-
- var rep = -1, cnf = -1, exl;
- if (cached) {
- rep = wot_cache.get(wot_core.hostname, "reputation_" + i);
- cnf = wot_cache.get(wot_core.hostname, "confidence_" + i);
- exl = wot_cache.get(wot_core.hostname, "excluded_" + i);
- }
-
- if (reputation) {
- if (exl) {
- reputation.setAttribute("reputation", "excluded");
- } else if (rep >= WOT_MIN_REPUTATION_5) {
- reputation.setAttribute("reputation", 5);
- } else if (rep >= WOT_MIN_REPUTATION_4) {
- reputation.setAttribute("reputation", 4);
- } else if (rep >= WOT_MIN_REPUTATION_3) {
- reputation.setAttribute("reputation", 3);
- } else if (rep >= WOT_MIN_REPUTATION_2) {
- reputation.setAttribute("reputation", 2);
- } else if (rep >= 0) {
- reputation.setAttribute("reputation", 1);
- } else if (cached) {
- reputation.setAttribute("reputation", 0);
- } else {
- reputation.removeAttribute("reputation");
- }
- }
-
- if (confidence) {
- if (exl) {
- confidence.setAttribute("confidence", 0);
- } else if (cnf >= WOT_MIN_CONFIDENCE_5) {
- confidence.setAttribute("confidence", 5);
- } else if (cnf >= WOT_MIN_CONFIDENCE_4) {
- confidence.setAttribute("confidence", 4);
- } else if (cnf >= WOT_MIN_CONFIDENCE_3) {
- confidence.setAttribute("confidence", 3);
- } else if (cnf >= WOT_MIN_CONFIDENCE_2) {
- confidence.setAttribute("confidence", 2);
- } else if (cnf >= WOT_MIN_CONFIDENCE_1) {
- confidence.setAttribute("confidence", 1);
- } else {
- confidence.setAttribute("confidence", 0);
- }
- }
- }
- } catch (e) {
- dump("wot_ui.update_rating: failed with " + e + "\n");
- }
- },
-
- /* Updates the testimony element */
- update_testimonies: function(hover, pos)
- {
- try {
- var cached = wot_cache.isok(wot_core.hostname);
-
- /* CSS rules */
- var sld_rule = wot_css.getstyle(WOT_STYLESHEET,
- ".wot-rating-slider");
-
- if (!sld_rule) {
- dump("wot_ui.update_testimonies: no style rule?\n");
- return;
- }
-
- /* Dimensions */
- var sld_w = wot_css.getstyle_numeric(sld_rule, "width");
-
- /* Sliders */
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- /* Slider elements */
- var stack = document.getElementById("wot-rating-" + i +
- "-stack");
- var indicator = document.getElementById("wot-rating-" + i +
- "-indicator");
-
- if (!stack || !indicator) {
- continue;
- }
-
- var testimony = -1;
- if (cached) {
- testimony = wot_cache.get(wot_core.hostname,
- "testimony_" + i);
- }
-
- if (testimony >= 0) {
- indicator.left = testimony * sld_w / WOT_MAX_REPUTATION;
- if (testimony == WOT_MAX_REPUTATION) {
- --indicator.left;
- }
- stack.setAttribute("testimony", "true");
- } else if (hover != null && i == hover) {
- indicator.left = pos * sld_w / WOT_MAX_REPUTATION;
- if (pos == WOT_MAX_REPUTATION) {
- --indicator.left;
- }
- stack.setAttribute("testimony", "hover");
- } else {
- stack.setAttribute("testimony", "false");
- }
-
- var help = document.getElementById("wot-rating-" + i +
- "-help-text");
- var link = document.getElementById("wot-rating-" + i +
- "-help-link");
-
- if (help && link) {
- if (testimony >= WOT_MIN_REPUTATION_5) {
- help.value = wot_util.getstring("help_5");
- } else if (testimony >= WOT_MIN_REPUTATION_4) {
- help.value = wot_util.getstring("help_4");
- } else if (testimony >= WOT_MIN_REPUTATION_3) {
- help.value = wot_util.getstring("help_3");
- } else if (testimony >= WOT_MIN_REPUTATION_2) {
- help.value = wot_util.getstring("help_2");
- } else if (testimony >= 0) {
- help.value = wot_util.getstring("help_1");
- } else {
- help.value = "";
- }
-
- link.removeAttribute("comment");
- link.value = "";
-
- if (cached && testimony >= 0) {
- var r = wot_cache.get(wot_core.hostname,
- "reputation_" + i);
- if (r != null && r >= 0 &&
- Math.abs(r - testimony) > WOT_MIN_COMMENT_DIFF) {
- help.value = wot_util.getstring("help_comment");
- link.value = wot_util.getstring("help_comment_link");
- link.setAttribute("comment", "true");
- }
- }
-
- help.hidden = (!help.value || !help.value.length);
- }
- }
- } catch (e) {
- dump("wot_ui.update_testimonies: failed with " + e + "\n");
- }
- },
-
- update_scorecard: function()
- {
- },
-
- update_message: function()
- {
- try {
- var msg = document.getElementById("wot-message");
- var txt = document.getElementById("wot-message-text");
-
- if (!msg || !txt || !txt.firstChild) {
- return;
- }
-
- if (wot_api_query.message.length == 0 ||
- wot_api_query.message_type.length == 0) {
- msg.hidden = true;
- txt.firstChild.nodeValue = "";
- return;
- }
-
- txt.firstChild.nodeValue = wot_api_query.message;
- txt.setAttribute("url-type",
- wot_api_query.message_url.substring(0,4));
- msg.setAttribute("message-status", wot_api_query.message_type);
- msg.hidden = false;
- } catch (e) {
- dump("wot_ui.update_message: failed with " + e + "\n");
- }
- },
-
- update_users: function()
- {
- try {
- if (!wot_api_query.users) {
- return;
- }
-
- var i, j = 0;
-
- for (i = 0; i < wot_api_query.users.length; ++i) {
- var user = document.getElementById("wot-user-" + j);
- var content = document.getElementById("wot-user-" + j + "-content");
- var stack = document.getElementById("wot-user-" + j + "-stack");
- var header = document.getElementById("wot-user-" + j + "-header");
- var bar = document.getElementById("wot-user-" + j + "-bar-image");
- var label = document.getElementById("wot-user-" + j + "-bar-text");
- var text = document.getElementById("wot-user-" + j + "-text");
- var notice = document.getElementById("wot-user-" + j + "-notice");
-
- if (!user || !header || !bar || !label || !text || !notice) {
- return;
- }
-
- if (wot_api_query.users[i].bar &&
- wot_api_query.users[i].length != null &&
- wot_api_query.users[i].label) {
- header.value = wot_api_query.users[i].bar;
- label.value = wot_api_query.users[i].label;
- bar.setAttribute("length", wot_api_query.users[i].length);
- bar.hidden = false;
- } else {
- header.value = "";
- label.value = "";
- bar.hidden = true;
- }
-
- if (wot_api_query.users[i].url) {
- content.setAttribute("url", wot_api_query.users[i].url);
- } else {
- content.removeAttribute("url");
- }
-
- if (wot_api_query.users[i].notice) {
- notice.value = wot_api_query.users[i].notice;
- notice.hidden = false;
- } else {
- notice.hidden = true;
- }
-
- if (wot_api_query.users[i].text) {
- text.value = wot_api_query.users[i].text;
- user.hidden = false;
- ++j;
- } else {
- text.value = "";
- user.hidden = true;
- }
- }
- } catch (e) {
- dump("wot_ui.update_users: failed with " + e + "\n");
- }
- },
-
geticonurl: function(r, size, plain)
{
- var image = "no_rep_available";
-
- if (r >= WOT_MIN_REPUTATION_5) {
- image = "trusted";
- } else if (r >= WOT_MIN_REPUTATION_4) {
- image = "alright";
- } else if (r >= WOT_MIN_REPUTATION_3) {
- image = "caution";
- } else if (r >= WOT_MIN_REPUTATION_2) {
- image = "not_safe";
- } else if (r >= 0) {
- image = "danger";
- } else if (r < -1) {
- image = "excluded";
- }
-
- var base = "chrome://wot/skin/fusion/";
+ var image = wot_util.get_level(WOT_REPUTATIONLEVELS, r).name,
+ base = "chrome://wot/skin/fusion/";
if (r >= -1 && wot_prefs.accessible) {
base += "accessible/";
diff --git a/chrome/wot.jar!/content/util.js b/chrome/wot.jar!/content/util.js
index 333037d..9e228f9 100644
--- a/chrome/wot.jar!/content/util.js
+++ b/chrome/wot.jar!/content/util.js
@@ -39,6 +39,13 @@ var wot_util =
return true;
},
+ isEmpty: function (obj) {
+ for (var name in obj) {
+ return false;
+ }
+ return true;
+ },
+
getstring: function(str, arr)
{
try {
@@ -57,6 +64,64 @@ var wot_util =
return null;
},
+ get_all_strings: function () {
+ var res = {};
+ try {
+ if (!this.string_bundle) {
+ this.string_bundle = document.getElementById("wot-strings");
+ }
+
+ var strings = this.string_bundle.strings;
+
+ while (strings.hasMoreElements()) {
+ var property = strings.getNext().QueryInterface(Components.interfaces.nsIPropertyElement);
+ res[property.key] = property.value;
+ }
+ return res;
+
+ } catch (e) {
+ dump("wot_util.getstring: failed with " + e + "\n");
+ }
+
+ return res;
+ },
+
+ 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];
+ },
+
+ copy_attrs: function (node) {
+ var obj = {};
+ if (node) {
+ for (var a in node.attributes) {
+ var attr = node.attributes[a];
+ obj[attr.name] = attr.value;
+ }
+ } else {
+ wdump("wot_utils.copy_attrs() - empty node is provided");
+ }
+ return obj;
+ },
+
+ encode_utf8: function (s) {
+ return unescape(encodeURIComponent(s));
+ },
+
+ decode_utf8: function (s) {
+ return decodeURIComponent(escape(s));
+ },
+
time_sincefirstrun: function()
{
try {
@@ -89,7 +154,33 @@ var wot_util =
} catch (e) {
return null;
}
- }
+ },
+
+ processhtml: function (html, replaces) {
+ try {
+ replaces.forEach(function(item) {
+ html = html.replace(RegExp("{" + item.from + "}", "g"),
+ item.to);
+ });
+
+ return html;
+ } catch (e) {
+ wdump("warning.processhtml: failed with " + e);
+ }
+
+ return "";
+ },
+
+ htmlescape: function(str) {
+ var tagsToReplace = {
+ '&': '&',
+ '<': '<',
+ '>': '>'
+ };
+ return str.replace(/[&<>]/g, function(symb) {
+ return tagsToReplace[symb] || symb;
+ });
+ }
};
var wot_url =
@@ -221,13 +312,13 @@ var wot_url =
return false;
},
- getwoturl: function(path, context)
+ getwoturl: function(path, context, has_base)
{
try {
var new_path = path;
new_path += ( (path.indexOf("?") > 0) ? "&" : "?" );
new_path += "utm_source=addon" + (context ? "&utm_content=" + context : "");
- return WOT_MY_URL + new_path;
+ return has_base ? new_path : WOT_MY_URL + new_path;
} catch (e) {
dump("wot_url.getwoturl: failed with " + e + "\n");
}
@@ -238,9 +329,10 @@ var wot_url =
getprefurl: function(tab, secure, base, context)
{
try {
+ var has_base = !!base;
base = base || WOT_PREF_PATH;
- var path = base + wot_util.getstring("language") +
+ var path = base + wot_util.getstring("lang") +
"/" + WOT_PLATFORM + "/" + WOT_VERSION;
var url = path;
@@ -250,13 +342,12 @@ var wot_url =
url += "/" + tab;
}
- url = this.getwoturl(url, context);
+ url = this.getwoturl(url, context, has_base);
if (secure || wot_core.force_https) {
url = url.replace(/^http\:/, "https:");
}
-
return url;
}
} catch (e) {
@@ -270,7 +361,7 @@ var wot_url =
{
try {
var params = "&lang=" +
- (wot_util.getstring("language") || "en-US");
+ (wot_util.getstring("lang") || "en-US");
var partner = wot_partner.getpartner();
@@ -364,9 +455,9 @@ var wot_browser =
}
if (known) {
- icon += "16_16/plain/danger.png";
+ icon += "16_16/plain/r1.png";
} else {
- icon += "16_16/plain/no_rep_available.png";
+ icon += "16_16/plain/r0.png";
}
/* There's a chance the user has already changed the tab */
@@ -442,26 +533,35 @@ var wot_browser =
}
},
- openscorecard: function(hostname, action, context)
- {
- try {
- if (!hostname) {
- return false;
- }
-
- var path = WOT_SCORECARD_PATH + encodeURIComponent(hostname);
+ open_wotsite: function (page, target, action, context, new_tab, has_base) {
+ try {
+ new_tab = new_tab === null ? true : new_tab;
+ var browser = getBrowser(),
+ path = page + encodeURIComponent(target);
- if (action) {
- path += action;
- }
+ if (action) {
+ path += action;
+ }
- var browser = getBrowser();
- var url = wot_url.getwoturl(path, context);
+ var url = wot_url.getwoturl(path, context, has_base);
+
+ if (browser && url) {
+ browser.selectedTab = browser.addTab(url);
+ return true;
+ }
+
+ } catch (e) {
+ wdump("ERROR: wot_util.wot_browser.open_wotsite() raised an exception. " + e);
+ }
+
+ },
+
+ openscorecard: function (hostname, action, context)
+ {
+ try {
+ if (!hostname) return false;
+ return this.open_wotsite(WOT_SCORECARD_PATH, hostname, action, context, true, false);
- if (browser && url) {
- browser.selectedTab = browser.addTab(url);
- return true;
- }
} catch (e) {
dump("wot_browser.openscorecard: failed with " + e + "\n");
}
@@ -478,7 +578,7 @@ var wot_browser =
.getService(Components.interfaces.nsIBrowserSearchService);
var url = WOT_SAFESEARCH_OSD_URL;
- var lang = wot_util.getstring("language");
+ var lang = wot_util.getstring("lang");
if (lang) {
url = url.replace("/en-US", "/" + lang);
@@ -861,10 +961,55 @@ var wot_crypto =
return (l == h);
} catch (e) {
- dump("wot_crypto.islevel: failed with " + e + "\n");
+ wdump("wot_crypto.islevel: failed with " + e);
}
return false;
- }
+ },
+
+ encrypt: function(data, nonce)
+ {
+ try {
+ if (data && nonce) {
+ var key = wot_prefs.witness_key;
+
+ if (key) {
+ return btoa(wot_hash.bintostr(wot_arc4.crypt(
+ wot_arc4.create(wot_hash.hmac_sha1hex(key, nonce)),
+ wot_hash.strtobin(data))));
+ }
+ }
+ } catch (e) {
+ wdump("crypto.encrypt: failed with " + e);
+ }
+
+ return null;
+ },
+
+ decrypt: function(data, nonce, index)
+ {
+ try {
+ if (data && nonce) {
+ var key = wot_prefs.witness_key;
+
+ if (index == null || index < 0) {
+ index = "";
+ } else {
+ index = "-" + index;
+ }
+
+ if (key) {
+ return wot_hash.bintostr(wot_arc4.crypt(
+ wot_arc4.create(wot_hash.hmac_sha1hex(key,
+ "response-" + nonce + index)),
+ wot_hash.strtobin(atob(data))));
+ }
+ }
+ } catch (e) {
+ wdump("wot_crypto.decrypt(): failed with " + e);
+ }
+
+ return null;
+ }
};
wot_modules.push({ name: "wot_crypto", obj: wot_crypto });
@@ -894,7 +1039,7 @@ var wot_idn =
isidn: function(str)
{
try {
- return this.handle.isACE(str);
+ return this.handle ? this.handle.isACE(str) : null;
} catch (e) {
dump("wot_idn.isidn: failed with " + e + "\n");
}
@@ -904,7 +1049,7 @@ var wot_idn =
utftoidn: function(utf)
{
try {
- return this.handle.convertUTF8toACE(utf);
+ return this.handle ? this.handle.convertUTF8toACE(utf) : null;
} catch (e) {
dump("wot_idn.utftoidn: failed with " + e + "\n");
}
@@ -914,7 +1059,7 @@ var wot_idn =
idntoutf: function(idn)
{
try {
- return this.handle.convertACEtoUTF8(idn);
+ return this.handle ? this.handle.convertACEtoUTF8(idn) : null;
} catch (e) {
dump("wot_idn.idntoutf: failed with " + e + "\n");
}
@@ -924,8 +1069,6 @@ var wot_idn =
wot_modules.push({ name: "wot_idn", obj: wot_idn });
-const WOT_STYLESHEET = "chrome://wot/skin/wot.css";
-
var wot_css =
{
cache: {},
diff --git a/chrome/wot.jar!/content/warning.js b/chrome/wot.jar!/content/warning.js
index 40edd94..46e009b 100644
--- a/chrome/wot.jar!/content/warning.js
+++ b/chrome/wot.jar!/content/warning.js
@@ -18,59 +18,143 @@
along with WOT. If not, see <http://www.gnu.org/licenses/>.
*/
-const WOT_WARNING_CSS = "@import \"chrome://wot/skin/include/blocked.css\";";
+const WOT_WARNING_CSS = "@import \"chrome://wot/skin/include/warning.css\";";
var wot_warning =
{
minheight: 600,
exit_mode: "back",
is_blocked: false,
-
- make_warning: function()
+ warned: {},
+
+ make_categories_block: function (categories, options) {
+
+ var tmpl = '';
+// console.log("make_categories_block", categories);
+
+ if (!wot_util.isEmpty(categories)) {
+ var lst = [],
+ ordered_cats = wot_categories.rearrange_categories(categories).all;
+ for (var k in ordered_cats) {
+ var cat = ordered_cats[k], cid = cat.id,
+ cconf = wot_util.get_level(WOT_CONFIDENCELEVELS, cat.c).name,
+ css = wot_categories.get_category_css(cid),
+ cat_name = wot_categories.get_category_name(cid),
+ li = "<li class='cat-item " + css + " " + cconf + "'>" + cat_name + "</li>";
+ if (cat_name) {
+ lst.push(li);
+ }
+ }
+
+ tmpl = "<div class='ws-categories-title'>{REASONTITLE}</div>" +
+ "<ul id='ws-categories-list'>" +
+ lst.join("") +
+ "</ul>";
+ }
+
+ return tmpl;
+
+ },
+
+ make_blacklists: function(blacklists, options) {
+
+ var bl = blacklists || [],
+ tmpl = "";
+
+ if (bl && bl.length > 0) {
+ tmpl = "<div class='wot-blacklisting-info'>" +
+ "<div class='wot-blacklist'>" +
+ "<div class='wot-bl-decoration'>" +
+ "<div class='wot-comp-icon wot-bl-decoration-donut' r='{RATING0}'></div>" +
+ "</div>";
+
+ // the blacklist is unordered. We can order it in later versions by time or by risk level.
+ for (var i = 0, bl_type=""; i < 5; i++) {
+ if (bl.length > i) {
+ bl_type = wot_util.getstring("bl_" + bl[i].type);
+ bl_type = bl_type ? bl_type : wot_util.getstring("bl_other");
+
+ tmpl += "<div class='wot-bl-verdict'>" + bl_type + "</div>"
+ } else {
+ tmpl += "<div class='wot-bl-verdict empty'></div>";
+ }
+ }
+
+ tmpl += "</div></div>";
+ }
+
+ return tmpl;
+ },
+
+ make_warning: function(categories, blacklists, options)
{
- var wot_warning = "<div id='wotcontainer' class='wotcontainer {CLASS} {ACCESSIBLE}'>" +
- "<div class='wot-logo'></div>" +
- "<div class='wot-warning'>{WARNING}</div>" +
- "<div class='wot-title'>{TITLE}</div>" +
- "<div class='wot-desc'>{DESC}</div>" +
- "<div class='wot-openscorecard-wrap'>" +
- "<span id='wotinfobutton' class='wot-openscorecard wot-link'>{INFO}</span>" +
- "</div>" +
- "<div id='wot-ws-ratings'>";
-
- for(var c=0; c < WOT_APPLICATIONS; c++) {
-
- if(!wot_prefs["show_application_" + c]) continue;
-
- var S_COMPNAME = "RATINGDESC" + c,
- S_RATING = "RATING" + c,
- S_RATING_EXPL = "RATINGEXPL" + c;
-
- wot_warning += "" +
- "<div class='wot-component'>" +
- "<div class='wot-comp-name'>{" + S_COMPNAME + "}</div>" +
- "<div class='wot-comp-level' r='{" + S_RATING + "}'>{" + S_RATING_EXPL + "}</div>" +
- "<div class='wot-comp-icon' r='{" + S_RATING + "}'></div>" +
- "</div>";
- }
-
- wot_warning +=
- "</div>" +
- "<div class='wot-rateit-wrap'>" +
- "<span>{RATETEXT}</span>" +
- "</div>" +
- "<div class='wot-buttons'>";
-
- if(!this.is_blocked) {
- // don't show "Goto the site" button in "Blocked" mode
- wot_warning += "<div id='wot-btn-hide' class='wot-button'>{GOTOSITE}</div>";
- }
-
- wot_warning += "<div id='wot-btn-leave' class='wot-button'>{LEAVESITE}</div>" +
- "</div>" +
- "</div>";
-
- return wot_warning;
+ var wot_warning =
+ "<div id='wotcontainer' class='wotcontainer {CLASS} {ACCESSIBLE} {BL_OR_REP} notranslate'>" +
+ "<div class='wot-logo'></div>" +
+ "<div class='wot-warning'>{WARNING}</div>" +
+ "<div class='wot-title'>{TITLE}</div>" +
+ "<div id='wot-wt-warning-wrapper' style='display: none;'>" +
+ "<div class='wot-wt-warning-content'>" +
+ "<div id='wt-logo' class='wot-wt-logo'> </div>" +
+ "<div>{WT_CONTENT}</div>" +
+ "<div><label><input id='wt-warn-turnoff' type='checkbox' class='wot-checkbox' /> {WT_WARN_TURNOFF}</label></div>" +
+ "<div class='wot-wt-warn-footer'>" +
+ "<div id='wt-warn-ok' class='wot-wt-button wot-wt-warn-button'>{WT_BUTTON}</div>" +
+ "</div>" +
+ "</div>" +
+ "</div>" +
+ "<div class='wot-desc'>{DESC}</div>" +
+
+ this.make_blacklists(blacklists, options) +
+
+ "<div class='wot-rep-components-wrapper'>" +
+ "<div class='wot-rep-components'>" +
+ "<div class='wot-component'>" +
+ "<div class='wot-comp-name'>{RATINGDESC0}</div>" +
+ "<div class='wot-rep-data'>" +
+ "<div class='wot-comp-icon' r='{RATING0}'></div>" +
+ "<div class='wot-comp-conf' c='{CONFIDENCE0}'></div>" +
+ "<div class='rating-legend-wrapper'>" +
+ "<div class='rating-legend' r='{RATING0}'>{RATINGEXPL0}</div>" +
+ "</div>" +
+ "</div>" +
+ "</div>" +
+ "<div class='wot-component'>" +
+ "<div class='wot-comp-name'>{RATINGDESC4}</div>" +
+ "<div class='wot-rep-data'>" +
+ "<div class='wot-comp-icon' r='{RATING4}'></div>" +
+ "<div class='wot-comp-conf' c='{CONFIDENCE4}'></div>" +
+ "<div class='rating-legend-wrapper'>" +
+ "<div class='rating-legend' r='{RATING4}'>{RATINGEXPL4}</div>" +
+ "</div>" +
+ "</div>" +
+ "</div>" +
+ "</div>" +
+ "</div>" +
+ "<div class='ws-categories-area'>" +
+
+ this.make_categories_block(categories, options) +
+
+ "</div>"+
+ "<div class='wot-openscorecard-wrap'>" +
+ "<span class='wot-openscorecard'>{INFO}</span>" +
+ "</div>" +
+ "<div id='wot-warn-ratings'></div>" +
+ "<div class='wot-rateit-wrap'>" +
+ "<span>{RATETEXT}</span>" +
+ "</div>" +
+ "<div class='wot-buttons'>";
+
+ if(!this.is_blocked) {
+ // don't show "Goto the site" button in "Blocked" mode
+ wot_warning += "<div id='wot-btn-hide' class='wot-button'>{GOTOSITE}</div>";
+ }
+
+ wot_warning += "<div id='wot-btn-leave' class='wot-button'>{LEAVESITE}</div>" +
+ "</div>" +
+ "</div>";
+
+ return wot_warning;
},
load_delayed: function(blocked)
@@ -81,40 +165,9 @@ var wot_warning =
return;
}
- /* Static strings */
- var replaces = [
- [
- "LANG",
- wot_util.getstring("language")
- ], [
- "INFO",
- wot_util.getstring("warning_info")
- ], [
- "RATINGDESC0",
- wot_util.getstring("rating_0")
- ], [
- "RATINGDESC1",
- wot_util.getstring("rating_1")
- ], [
- "RATINGDESC2",
- wot_util.getstring("rating_2")
- ], [
- "RATINGDESC4",
- wot_util.getstring("rating_4")
- ], [
- "GOTOSITE",
- wot_util.getstring("warning_goto")
- ], [
- "WARNING",
- this.is_blocked ? wot_util.getstring("warning_blocked") : wot_util.getstring("warning_warning")
-
- ]
- ];
-
- this.container = this.processhtml(this.make_warning(), replaces);
this.warned = {};
} catch (e) {
- dump("wot_warning.load: failed with " + e + "\n");
+ wdump("wot_warning.load: failed with " + e);
}
},
@@ -140,8 +193,9 @@ var wot_warning =
// decides whether we must block page or just warn
var blocking = false;
try {
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- if (wot_prefs["warning_type_" + i] == WOT_WARNING_BLOCK) {
+ for (var i = 0, a = 0; i < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ if (wot_prefs["warning_type_" + a] == WOT_WARNING_BLOCK) {
blocking = true;
break;
}
@@ -207,8 +261,9 @@ var wot_warning =
return result;
}
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- var type = wot_warning.getwarningtype(hostname, i, false);
+ for (var i = 0, a = 0; i < WOT_COMPONENTS.length; ++i) {
+ a = WOT_COMPONENTS[i];
+ var type = wot_warning.getwarningtype(hostname, a, false);
if (type > result) {
result = type;
@@ -235,37 +290,6 @@ var wot_warning =
return result;
},
- dontwarn: function(url)
- {
- try {
- var hostname = wot_url.gethostname(url);
-
- if (!hostname || !wot_cache.isok(hostname)) {
- return;
- }
-
- var testified = false;
-
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
- var type = wot_warning.getwarningtype(hostname, i, false);
-
- if (type != WOT_WARNING_NONE) {
- wot_cache.set(hostname, "testimony_" + i,
- (WOT_MIN_REPUTATION_4 + WOT_MIN_REPUTATION_5) / 2);
- wot_cache.set(hostname, "pending", true);
- wot_core.pending[hostname] = true;
- testified = true;
- }
- }
-
- if (testified) {
- wot_core.update();
- }
- } catch (e) {
- dump("wot_warning.dontwarn: failed with " + e + "\n");
- }
- },
-
domcontentloaded: function(event)
{
try {
@@ -273,10 +297,18 @@ var wot_warning =
return;
}
+ try { // Workaround to resolve "TypeError: can't access dead object" at start of the browser
+ if (!event.originalTarget) { return; }
+ } catch (e) { return; }
+
var content = event.originalTarget;
- if (!content || !content.location || !content.location.href ||
- wot_url.isprivate(content.location.href)) {
+ // Don't show warnings in frames
+ if (!content || !content.defaultView || content.defaultView != content.defaultView.top ) {
+ return;
+ }
+
+ if (!content.location || !content.location.href || wot_url.isprivate(content.location.href)) {
return;
}
@@ -343,33 +375,58 @@ var wot_warning =
if(!forced_reason) wot_warning.set_exitmode(content); // call it only in usual mode
- var rate_site = wot_util.getstring("warning_rate").replace("<a>", "<a id='wotrate-link' class='wot-link'>");
+
+
+ var reason = WOT_WARNING_NONE,
+ normalized_target = wot_cache.get(hostname, "normalized", hostname),
+ accessible = wot_prefs.accessible ? " accessible" : "";
+
+ var categories = wot_categories.target_categories(hostname),
+ blacklists = wot_categories.target_blacklists(hostname),
+ warning_options = {};
+
+ var is_blacklisted = blacklists && blacklists.length > 0;
+
+ // preprocess link "Rate the site"
+ var rate_site = wot_util.getstring("warnings_ratesite").replace("<a>", "<a id='wotrate-link' class='wot-link'>"),
+ wt_text = wot_util.getstring("wt_warning_text") || "";
+
+ var info_link = is_blacklisted ? wot_util.getstring("bl_information") : wot_util.getstring("warnings_information");
+ if (info_link.indexOf("<a>") < 0) {
+ info_link = "<a>" + info_link + "</a>";
+ }
+ info_link = info_link.replace("<a>", "<a id='wotinfobutton' class='wot-link'>");
+
var replaces = [
- [
- "TITLE",
- (wot_shared.decodehostname(hostname) || "")
- .replace(/[<>&="']/g, "")
- ],
- [
- "LEAVESITE",
- wot_util.getstring("warning_" + wot_warning.exit_mode)
- ],
- [
- "RATETEXT", rate_site
- ]
+ /* Static strings */
+ [ "INFO", info_link ],
+ [ "BL_OR_REP", is_blacklisted ? "blacklist": "reputation" ],
+ [ "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") ],
+ [ "RATETEXT", rate_site ],
+ [ "WT_CONTENT", this.processhtml(wt_text, [ "WT_LEARNMORE", wot_util.getstring("wt_learnmore_link") ])],
+ [ "REASONTITLE", wot_util.getstring("warnings_reasontitle") ],
+ [ "NOREASONTITLE", wot_util.getstring("warnings_noreasontitle") ],
+
+ /* Dynamic strings */
+ [ "TITLE", (wot_shared.decodehostname(normalized_target) || "").replace(/[<>&="']/g, "") ],
+ [ "LEAVESITE", wot_util.getstring("warnings_" + wot_warning.exit_mode) ],
+ [ "ACCESSIBLE", accessible ]
];
- var reason = WOT_WARNING_NONE;
- var accessible = wot_prefs.accessible ? " accessible" : "";
+ var warning_template = this.make_warning(wot_categories.select_identified(categories), blacklists, warning_options);
- replaces.push([ "ACCESSIBLE", accessible ]);
+ for (var j = 0; j < WOT_COMPONENTS.length; ++j) {
- for (var i = 0; i < WOT_APPLICATIONS; ++i) {
+ 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 r = wot_cache.get(hostname, "reputation_" + i);
- var x = wot_cache.get(hostname, "excluded_" + i);
+ 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;
@@ -378,14 +435,19 @@ var wot_warning =
}
- var r_level = wot_core.get_level(r);
+ var rep_l = wot_util.get_level(WOT_REPUTATIONLEVELS, r),
+ r_level = rep_l.level,
+ r_name = rep_l.name;
if (r_level >= 0) {
- replaces.push([ "RATING" + i, "r" + r_level ]);
- replaces.push([ "RATINGEXPL" + i, wot_util.getstring("help_" + r_level) ]);
+ replaces.push([ "RATING" + i, r_name ]);
+ replaces.push([ "RATINGEXPL" + i, wot_util.getstring("reputationlevels_" + r_name) ]);
+ replaces.push([ "CONFIDENCE" + i, wot_util.get_level(WOT_CONFIDENCELEVELS, c).name ]);
+
} else if (x) {
replaces.push([ "RATING" + i, "rx" ]);
replaces.push([ "RATINGEXPL" + i, " " ]);
+ replaces.push([ "CONFIDENCE" + i, "c0" ]);
}
}
@@ -396,29 +458,33 @@ var wot_warning =
warnclass = "wotnoratings";
}
- if (reason == WOT_REASON_UNKNOWN) {
- warnclass += " wotunknown";
- }
+ if (is_blacklisted) { // If warning should show Blacklisted status
+ replaces.push([ "CLASS", warnclass ]);
- if (reason == WOT_REASON_RATING) {
- notification = wot_util.getstring("warning_message_normal");
- replaces.push([ "CLASS", warnclass ]);
- replaces.push([ "DESCCLASS", "wotlongdescription" ]);
- replaces.push([ "DESC",
- wot_util.getstring("warning_desc_normal") ]);
- } else if (reason == WOT_REASON_TESTIMONY) {
- notification = wot_util.getstring("warning_message_userrated");
- replaces.push([ "CLASS", "wotnoratings" ]);
- replaces.push([ "DESCCLASS", "wotlongdescription" ]);
- replaces.push([ "DESC",
- wot_util.getstring("warning_desc_userrated") ]);
- } else {
- notification = wot_util.getstring("warning_message_unknown");
- replaces.push([ "CLASS", warnclass ]);
- replaces.push([ "DESCCLASS", "" ]);
- replaces.push([ "DESC",
- wot_util.getstring("warning_desc_unknown") ]);
- }
+ var bl_description = blacklists.length == 1 ? wot_util.getstring("bl_description") : wot_util.getstring("bl_description_pl");
+ notification = bl_description;
+ replaces.push([ "DESC", bl_description ]);
+
+ } else { // if Warning should show reputation reason
+
+ if (reason == WOT_REASON_UNKNOWN) {
+ warnclass += " wotunknown";
+ }
+
+ if (reason == WOT_REASON_RATING) {
+ notification = wot_util.getstring("warnings_message_reputation");
+ replaces.push([ "CLASS", warnclass ]);
+ replaces.push([ "DESC", wot_util.getstring("warnings_reputation") ]);
+ } else if (reason == WOT_REASON_TESTIMONY) {
+ notification = wot_util.getstring("warnings_message_rating");
+ replaces.push([ "CLASS", "wotnoratings" ]);
+ replaces.push([ "DESC", wot_util.getstring("warnings_rating") ]);
+ } else {
+ notification = wot_util.getstring("warnings_unknown");
+ replaces.push([ "CLASS", warnclass ]);
+ replaces.push([ "DESC", wot_util.getstring("warnings_unknown") ]);
+ }
+ }
/* Show the notification bar always */
if (reason != WOT_REASON_UNKNOWN) {
@@ -472,7 +538,8 @@ var wot_warning =
}
wrapper.setAttribute("id", "wotwrapper");
- wrapper.innerHTML = this.processhtml(this.container, replaces);
+
+ wrapper.innerHTML = this.processhtml(warning_template, replaces);
body[0].appendChild(warning);
body[0].appendChild(wrapper);
diff --git a/chrome/wot.jar!/locale/cs-CZ/loading.html b/chrome/wot.jar!/locale/cs-CZ/loading.html
index 2dd3a05..b3c773c 100644
--- a/chrome/wot.jar!/locale/cs-CZ/loading.html
+++ b/chrome/wot.jar!/locale/cs-CZ/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Načítání stránky...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Načítání stránky</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Načítání stránky...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Načítání stránky</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/cs-CZ/wot.dtd b/chrome/wot.jar!/locale/cs-CZ/wot.dtd
index cfcf239..05b7232 100644
--- a/chrome/wot.jar!/locale/cs-CZ/wot.dtd
+++ b/chrome/wot.jar!/locale/cs-CZ/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT:">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Povoleno">
-<!ENTITY wotEnabled.accesskey "P">
-<!ENTITY wotRefresh.label "Obnovit">
-<!ENTITY wotRefresh.accesskey "O">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Excelentní">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Dobrá">
-<!ENTITY wotTestify4.accesskey "D">
-<!ENTITY wotTestify3.label "Neuspokojivá">
-<!ENTITY wotTestify3.accesskey "N">
-<!ENTITY wotTestify2.label "Špatná">
-<!ENTITY wotTestify2.accesskey "S">
-<!ENTITY wotTestify1.label "Velmi špatná">
-<!ENTITY wotTestify1.accesskey "m">
-<!ENTITY wotPreferences.label "Nastavení…">
-<!ENTITY wotPreferences.accesskey "a">
-<!ENTITY wotMy.label "Můj WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Zjistit aktualizace…">
-<!ENTITY wotCheckUpdates.accesskey "Z">
-<!ENTITY wotLinkScorecard.label "Zobrazit výsledkovou kartu WOT…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Probíhá inicializace WOT…">
-<!ENTITY wotRating.wot "Hodnocení WOT">
-<!ENTITY wotRating.my "Moje hodnocení">
-<!ENTITY wotRating.app0 "Důvěryhodnost:">
-<!ENTITY wotRating.app1 "Spolehlivost poskytovatele:">
-<!ENTITY wotRating.app2 "Ochrana osobních dat:">
-<!ENTITY wotRating.app4 "Bezpečnost dětí:">
-<!ENTITY wotRating.scorecard "Zobrazit výsledky s detaily hodnocení">
-<!ENTITY wotRating.comment "Přidat komentář">
-<!ENTITY wotRating.guide "Příručka">
-<!ENTITY wotRating.prefs "Nastavení">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "Ve spolupráci s">
-<!ENTITY wotRating.update "K dispozici je nová verze - kliknutím sem proveďte aktualizaci">
+<!ENTITY wot.label "WOT:">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Povoleno">
+<!ENTITY wotEnabled.accesskey "P">
+<!ENTITY wotRefresh.label "Obnovit">
+<!ENTITY wotRefresh.accesskey "O">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Nastavení…">
+<!ENTITY wotPreferences.accesskey "a">
+<!ENTITY wotMy.label "Můj WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Zjistit aktualizace…">
+<!ENTITY wotCheckUpdates.accesskey "Z">
+<!ENTITY wotLinkScorecard.label "Zobrazit výsledkovou kartu WOT…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Probíhá inicializace WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/cs-CZ/wot.properties b/chrome/wot.jar!/locale/cs-CZ/wot.properties
index 999d3ca..e937187 100644
--- a/chrome/wot.jar!/locale/cs-CZ/wot.properties
+++ b/chrome/wot.jar!/locale/cs-CZ/wot.properties
@@ -1,57 +1,136 @@
-language = cs-CZ
-auto_update_title = Aktualizace doplňku WOT
-auto_update_message = K dispozici je nová verze doplňku WOT. Přejete si doplněk aktualizovat nyní?
-auto_update_check = Povolit automatické aktualizace (doporučeno)
-auto_update_button_yes = Aktualizovat nyní
-auto_update_button_no = Připomenout později
-description_disabled = Zakázali jste doplněk; kliknutím sem jej povolíte.
-description_error_query = Načtení hodnocení se nezdařilo; pokus bude zanedlouho opakován.
-description_error_register = Aktivace doplňku se nezdařila; pokus bude zanedlouho opakován.
-description_inprogress = Načítání hodnocení…
-description_notready = Aktivace doplňku WOT…
-description_offline = Doplněk je při vypnutém prohlížeči deaktivován.
-description_private = Hodnocení nejsou dostupná.
-description_rating_5 = Excelentní
-description_rating_4 = Dobrá
-description_rating_3 = Neuspokojivá
-description_rating_2 = Špatná
-description_rating_1 = Velmi špatná
-description_rating_0 = Pro tuto stránku není k dispozici dostatek hodnocení
-description_restart = Doplněk WOT aktivujete restartováním prohlížeče.
-description_uninstall = Doplněk WOT bude odinstalován po restartování.
-help_0 =
-help_1 = Velmi špatná
-help_2 = Špatná
-help_3 = Neuspokojivá
-help_4 = Dobrá
-help_5 = Excelentní
-help_comment = Váš údaj se liší.
-help_comment_link = Zanechat komentář?
-warning = Varování WOT: %S
-warning_warning = Varování!
-warning_blocked = Zablokováno
-warning_button = Podrobnosti hodnocení
-warning_message_normal = Reputace této stránky je špatná.
-warning_message_userrated = Dali jste této stránce špatné hodnocení.
-warning_message_unknown = Hodnocení této stránky není známo.
-warning_info = Zobrazit podrobnosti hodnocení a komentáře
-warning_rate = Tato stránka je bezpečná - Chci <a>ji ohodnotit</a>
-warning_goto = Pokračovat
-warning_leave = Opustit stránku
-warning_back = Vrátit se zpět
-warning_desc_normal = Reputace této stránky je špatná
-warning_desc_userrated = Dali jste této stránce špatné hodnocení, což spustilo varování
-warning_desc_unknown = Hodnocení této stránky není známo
-rating_0 = Důvěryhodnost
-rating_1 = Spolehlivost poskytovatele
-rating_2 = Ochrana osobních dat
-rating_4 = Bezpečnost dětí
-popup_0 = Důvěryhodnost
-popup_1 = Spolehl. poskytov.
-popup_2 = Ochrana osob. dat
-popup_4 = Bezpečnost dětí
-user_score_title = Moje skóre aktivity
-user_score_mypage = Zobrazit moji stránku
-user_score_register = Zaregistrovat se nyní
-user_score_improve = Hodnocením nových stránek zlepšíte své skóre aktivity.
-user_score_top = Řadíte se mezi %S nejaktivnějších uživatelů.
+locale = cs
+lang = cs-CZ
+ext_description = Nástroj WOT vám ukáže, kterým stránkám můžete důvěřovat na základě zkušeností miliónů uživatelů po celém světě.
+components_0 = Důvěryhodnost
+components_4 = Bezpečnost dětí
+components__short_0 = Důvěryhodnost
+components__short_4 = Bezpečnost dětí
+reputationlevels_r0 = Neznámý
+reputationlevels_r1 = Velmi špatná
+reputationlevels_r2 = Špatná
+reputationlevels_r3 = Neuspokojivá
+reputationlevels_r4 = Dobrá
+reputationlevels_r5 = Excelentní
+messages_initializing = Probíhá inicializace WOT…
+messages_notready = Aktivace doplňku WOT…
+messages_failed = Načtení hodnocení se nezdařilo; pokus bude zanedlouho opakován.
+messages_notavailable = Hodnocení nejsou dostupná.
+messages_loading = Načítání hodnocení…
+ratingwindow_settings = Nastavení
+ratingwindow_guide = Prohlídka
+ratingwindow_forum = Forum
+ratingwindow_profile = Můj profil
+ratingwindow_wotrating = Reputace webové stránky založená na hodnocení uživatelů
+ratingwindow_myrating = Moje hodnocení
+ratingwindow_viewscorecard = Zobrazit detaily a komentáře
+ratingwindow_addcomment = Přidat komentář
+ratingwindow_editcomment = Upravit komentář
+ratingwindow_backtoratings = Zpět na hodnocení
+ratingwindow_backtoratings_category = Zvolte kategorii
+ratingwindow_newversion = K dispozici je nová verze - kliknutím sem proveďte aktualizaci
+ratingwindow_invite_rw = Používáním toho nástroje můžete hodnotit webové stránky. Pro vyjádření nakolik důvěřujete webové stránce klikněte na barevné pruhy.
+warnings_information = Zobrazit detaily a komentáře
+warnings_ratesite = Pokud důvěřujete této stránce, pak ji, prosím, <a>ohodnoťte</a>
+warnings_reratesite = <a>Klikněte zde</a>, pokud chcete znovu ohodnotit tuto stránku
+warnings_reputation = Reputace této stránky je špatná
+warnings_rating = Dali jste této stránce špatné hodnocení, což spustilo varování
+warnings_unknown = Hodnocení této stránky není známo
+warnings_warning = Varování!
+warnings_goto = Pokračovat
+warnings_leave = Ukončit
+warnings_back = Vrátit se zpět
+warnings_reasontitle = Uživatelé identifikovali následující problémy
+warnings_othersreasontitle = Názory ostatních uživatelů
+warnings_noreasontitle = Uživatelé tuto stránku ještě neidentifikovali a pouze ji ohodnotili.
+contextmenu_open_scorecard = Otevřít kartu hodnocení WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>Dovězte se více</a> o WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' h eight='40px'/><p>Nový WOT byl přidán do Vašeho prohlížeče.</p><p>Začněte hodnotit webové stránky kliknutím na tuto ikonu {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = Ano, rozumím tomu
+wt_warning_text = <p>WOT Vás varuje, pokud navštívíte stránku se špatnou reputací na základě hodnocení ostatních uživatelů nebo na základě černých listin třetích osob. Varování také ukáže důvod špatné reputace.</p><p>{WT_LEARNMORE}</p><p>Pokud nechcete vidět tyto varování, pak je můžete vypnout. </p>
+wt_warning_turnoff = Vypnout varování
+wt_warning_ok = Ano, rozumím tomu
+wt_rw_text_hdr = Sdílejte vaše zkušenosti!
+wt_rw_text = <p>Okno WOT hodnocení Vám ukáže reputaci webové stránky na základě zkušeností ostatních uživatelů. Nyní je možné ohodnotit a poskytnout komentář přímo z aktualizovaného okna. Začněte hodnotit kliknutím na barevné pruhy.</p><p class='wot-c'><a id='wt-learnmore-link'>Dovězte se více</a> o WOT.</p>
+wt_donut_msg = <p>WOT Vám ukazuje reputaci webových stránek na základě zkušeností ostatních uživatelů pomocí ikon ve stylu dopravního semaforu.</p><p>Přejeďte myší přes ikonu k zobrazení reputací a jejich příčin.</p>
+wt_donut_btn = Ano, rozumím tomu
+fbl_hideforever = Trvale skrýt
+fbl_submit = Odeslat
+fbl_whatisthis = Co to je?
+fbl_optout_text = Pokud dáváte přednost tomu, aby vám nebyly kladeny otázky, pak klikněte na "ano"
+fbl_optout_yes = ano
+fbl_optout_no = Ne
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatis this' target='_blank'>Web of Trust (WOT)</a> pracuje na propagaci bezpečnosti a kvality pro milióny uživatelů po celém webu. Můžete pomoci tak, že odešlete vaše názor kdykoliv uvidíte tuto výzvu.
+fbl_final = Děkujeme!
+fbl_this_website = tato webová stránka
+fbl_dismiss = odmítnout
+ratingwindow_question0 = Nakolik věříte této stránce?
+ratingwindow_question4 = Je stránka vhodná pro děti?
+ratingwindow_categories = Zvolte alespoň jednu kategorii pro vaše hodnocení
+ratingwindow_comment = Zanechte komentář s popisem vaší zkušenosti s touto webovou stránkou
+ratingwindow_comment_placeholder = napište váš komentář zde...
+ratingwindow_comment_regtext = Potřebujete účet pro zveřejnění vašeho komentáře.
+ratingwindow_comment_register = Vytvořit účet nyní
+ratingwindow_comment_captchatext = Pro zveřejnění vašeho komentáře musíte zadat captcha.
+ratingwindow_comment_captchalink = Otevřít kartu hodnocení nyní
+ratingwindow_commenthints = <p>Buďte detailní</p><p>Udejte důkaz nebo příklad</p><p>Komentujte podle vašich skutečných zkušeností</p><p>Nespamujte</p>
+ratingwindow_novoted = Klikněte zde pro poskytnutí důvodu pro vašeho hodnocení tak, že vyberete kategorii
+ratingwindow_morecats = více
+ratingwindow_rerate_change = změnit
+ratingwindow_rerate_category =
+ratingwindow_fulllist = zobrazit úplný seznam
+ratingwindow_vote_yes = Ano
+ratingwindow_vote_no = Ne
+messages_ready = Reputace
+testimony_0_levels_r0 = Klik. na hodnot. pruh
+testimony_0_levels_r1 = Nedůvěřuji
+testimony_0_levels_r2 = Nedůvěřuji
+testimony_0_levels_r3 = je to podezřelé
+testimony_0_levels_r4 = Důvěřuji
+testimony_0_levels_r5 = Důvěřuji
+testimony_4_levels_r0 = Klik. na hodnot. pruh
+testimony_4_levels_r1 = nevhodné
+testimony_4_levels_r2 = nevhodné
+testimony_4_levels_r3 = buďte opatrní
+testimony_4_levels_r4 = vhodné
+testimony_4_levels_r5 = vhodné
+testimony_unrated = žádný názor
+testimony_delete = smazat
+buttons_delete = Smazat hodnocení
+buttons_delete_title = Smazat mé hodnocení a kategorie pro tuto webovou stránku
+buttons_cancel = Storno
+buttons_save = Uložit
+buttons_ok = OK
+popup_headertext = klikněte pro zobrazení detailů
+popup_nocattext = sdílejte svůj názor o této stránce
+ratingwindow_thankyou = Děkujeme za sdílení vaší zkušenosti!
+activityscore_text = Vaše skóre aktivit je nyní
+activityscore_rookie = zelenáč
+activityscore_bronze = bronzové
+activityscore_silver = stříbrné
+activityscore_gold = zlaté
+activityscore_platinum = platinové
+activityscore_next = Pro {NEXT_LEVEL} pokračujte v hodnocení!
+bl_description = Tato webová stránka se vyskytuje na černé listině třetí strany
+bl_description_pl = Tato webová stránka se vyskytuje na černých listinách třetích stran
+bl_information = WOT používá černé listiny třetích stran, aby varoval uživatele před technickými hrozbami jako viry a malware. <a>Čtěte dále</a>
+bl_malware = Malware
+bl_phishing = Phishing
+bl_scam = Podvod
+bl_spam = SPAM
+bl_tracking = Sledování
+bl_other = Jiný důvod
+warning_button = Podrobnosti hodnocení
+warnings_message_rating = Dali jste této stránce špatné hodnocení.
+warnings_message_reputation = Reputace této stránky je špatná.
+messages_offline = Doplněk je při vypnutém prohlížeči deaktivován.
+messages_disabled = Zakázali jste doplněk
+auto_update_title = Aktualizace doplňku WOT
+auto_update_button_yes = Aktualizovat nyní
+description_restart = Doplněk WOT aktivujete restartováním prohlížeče.
+messages_error_register = Aktivace doplňku se nezdařila; pokus bude zanedlouho opakován.
+warning = Varování WOT: %S
+description_uninstall = Doplněk WOT bude odinstalován po restartování.
+warnings_blocked = Zablokováno
+auto_update_check = Povolit automatické aktualizace (doporučeno)
+auto_update_button_no = Připomenout později
+auto_update_message = K dispozici je nová verze doplňku WOT. Přejete si doplněk aktualizovat nyní?
diff --git a/chrome/wot.jar!/locale/de-DE/loading.html b/chrome/wot.jar!/locale/de-DE/loading.html
index 5854ab0..a88771f 100644
--- a/chrome/wot.jar!/locale/de-DE/loading.html
+++ b/chrome/wot.jar!/locale/de-DE/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Website wird geladen...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Website wird geladen</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Website wird geladen...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Website wird geladen</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/de-DE/wot.dtd b/chrome/wot.jar!/locale/de-DE/wot.dtd
index e95e7ea..ff1fd7b 100644
--- a/chrome/wot.jar!/locale/de-DE/wot.dtd
+++ b/chrome/wot.jar!/locale/de-DE/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Aktiviert">
-<!ENTITY wotEnabled.accesskey "k">
-<!ENTITY wotRefresh.label "Aktualisieren">
-<!ENTITY wotRefresh.accesskey "t">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Ausgezeichnet">
-<!ENTITY wotTestify5.accesskey "A">
-<!ENTITY wotTestify4.label "Gut">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "Ungenügend">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "Schlecht">
-<!ENTITY wotTestify2.accesskey "S">
-<!ENTITY wotTestify1.label "Sehr schlecht">
-<!ENTITY wotTestify1.accesskey "h">
-<!ENTITY wotPreferences.label "Einstellungen…">
-<!ENTITY wotPreferences.accesskey "E">
-<!ENTITY wotMy.label "Mein WOT…">
-<!ENTITY wotMy.accesskey "M">
-<!ENTITY wotCheckUpdates.label "Updates suchen…">
-<!ENTITY wotCheckUpdates.accesskey "p">
-<!ENTITY wotLinkScorecard.label "WOT-Wertungsliste anzeigen…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "WOT wird initialisiert…">
-<!ENTITY wotRating.wot "WOT-Bewertung">
-<!ENTITY wotRating.my "Meine Bewertung">
-<!ENTITY wotRating.app0 "Vertrauenswürdigkeit:">
-<!ENTITY wotRating.app1 "Händlerzuverlässigkeit:">
-<!ENTITY wotRating.app2 "Datenschutz:">
-<!ENTITY wotRating.app4 "Jugendschutz:">
-<!ENTITY wotRating.scorecard "Detailanzeige auf der Bewertungsliste">
-<!ENTITY wotRating.comment "Eigenen Kommentar hinzufügen">
-<!ENTITY wotRating.guide "Leitfaden">
-<!ENTITY wotRating.prefs "Einstellungen">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "In Zusammenarbeit mit">
-<!ENTITY wotRating.update "Neue Version verfügbar - zum Aktualisieren hier klicken">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Aktiviert">
+<!ENTITY wotEnabled.accesskey "k">
+<!ENTITY wotRefresh.label "Aktualisieren">
+<!ENTITY wotRefresh.accesskey "t">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Einstellungen…">
+<!ENTITY wotPreferences.accesskey "E">
+<!ENTITY wotMy.label "Mein WOT…">
+<!ENTITY wotMy.accesskey "M">
+<!ENTITY wotCheckUpdates.label "Updates suchen…">
+<!ENTITY wotCheckUpdates.accesskey "p">
+<!ENTITY wotLinkScorecard.label "WOT-Wertungsliste anzeigen…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "WOT wird initialisiert…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/de-DE/wot.properties b/chrome/wot.jar!/locale/de-DE/wot.properties
index 2e416ce..a04d3e3 100644
--- a/chrome/wot.jar!/locale/de-DE/wot.properties
+++ b/chrome/wot.jar!/locale/de-DE/wot.properties
@@ -1,57 +1,136 @@
-language = de-DE
-auto_update_title = WOT-Aktualisierung
-auto_update_message = Eine neue Version von WOT ist verfügbar. Soll das Add-on aktualisiert werden?
-auto_update_check = Automatische Aktualisierung aktivieren (empfohlen)
-auto_update_button_yes = Jetzt aktualisieren
-auto_update_button_no = Später erinnern
-description_disabled = Das Add-on wurde deaktiviert.
-description_error_query = Laden der Bewertungen fehlgeschlagen.
-description_error_register = Aktivierung des Add-ons fehlgeschlagen.
-description_inprogress = Bewertungen werden geladen…
-description_notready = WOT wird aktiviert…
-description_offline = Deaktiviert, solange sich der Browser im Offline-Modus befindet.
-description_private = Bewertungen sind nicht verfügbar
-description_rating_5 = Ausgezeichnet
-description_rating_4 = Gut
-description_rating_3 = Ungenügend
-description_rating_2 = Schlecht
-description_rating_1 = Sehr schlecht
-description_rating_0 = Nicht genügend Bewertungen für diese Website
-description_restart = Starten Sie den Browser erneut, um WOT zu aktivieren.
-description_uninstall = WOT wird nach dem Neustart deinstalliert.
-help_0 =
-help_1 = Sehr schlecht
-help_2 = Schlecht
-help_3 = Ungenügend
-help_4 = Gut
-help_5 = Ausgezeichnet
-help_comment =
-help_comment_link = Möchten Sie einen Kommentar schreiben?
-warning = WOT-Warnung: %S
-warning_warning = Warnung!
-warning_blocked = Blockiert
-warning_button = Bewertungsdetails
-warning_message_normal = Diese Seite hat einen schlechten Ruf basierend auf Benutzerbewertungen.
-warning_message_userrated = Sie haben dieser Website eine schlechte Bewertung gegeben, die eine Warnung ausgelöst hat.
-warning_message_unknown = Diese Website besitzt eine unbekannte Bewertung.
-warning_info = Bewertungsdetails und Kommentare anzeigen
-warning_rate = Site ist sicher. Ich möchte <a>sie bewerten</a>
-warning_goto = Gehe zur Seite
-warning_leave = Verlasse die Seite
-warning_back = Gehe zurück
-warning_desc_normal = Diese Seite hat einen schlechten Ruf basierend auf Benutzerbewertungen
-warning_desc_userrated = Sie haben dieser Website eine schlechte Bewertung gegeben, die eine Warnung ausgelöst hat
-warning_desc_unknown = Diese Website besitzt eine unbekannte Bewertung
-rating_0 = Vertrauenswürdigkeit
-rating_1 = Händlerzuverlässigkeit
-rating_2 = Datenschutz
-rating_4 = Jugendschutz
-popup_0 = Vertrauensw.
-popup_1 = Händlerzuverl.
-popup_2 = Datenschutz
-popup_4 = Jugendschutz
-user_score_title = Meine Aktivitätspunkte
-user_score_mypage = Meine Seite anzeigen
-user_score_register = Jetzt registrieren
-user_score_improve = Bewerten Sie für Aktivitätspunkte neue Websites.
-user_score_top = Sie sind unter den %S aktivsten Benutzer.
+locale = de
+lang = de-DE
+ext_description = WOT zeigt Ihnen, welchen Websites Sie vertrauen können. Grundlage dafür sind die Erfahrungen von Millionen Anwendern.
+components_0 = Vertrauenswürdigkeit
+components_4 = Jugendschutz
+components__short_0 = Vertrauensw.
+components__short_4 = Jugendschutz
+reputationlevels_r0 = Unbekannt
+reputationlevels_r1 = Sehr schlecht
+reputationlevels_r2 = Schlecht
+reputationlevels_r3 = Ungenügend
+reputationlevels_r4 = Gut
+reputationlevels_r5 = Ausgezeichnet
+messages_initializing = WOT wird initialisiert…
+messages_notready = WOT wird aktiviert…
+messages_failed = aden der Bewertungen fehlgeschlagen.
+messages_notavailable = Bewertungen sind nicht verfügbar
+messages_loading = Bewertungen werden geladen…
+ratingwindow_settings = Einstellungen
+ratingwindow_guide = Tour
+ratingwindow_forum = Foren
+ratingwindow_profile = Mein Profil
+ratingwindow_wotrating = Website-Reputation auf Grundlage der Nutzerbewertungen
+ratingwindow_myrating = Meine Bewertung
+ratingwindow_viewscorecard = Details und Kommentare anzeigen
+ratingwindow_addcomment = Ihr Kommentar
+ratingwindow_editcomment = Kommentar bearbeiten
+ratingwindow_backtoratings = Zurück zu den Bewertungen
+ratingwindow_backtoratings_category = Wählen Sie eine Kategorie aus
+ratingwindow_newversion = Neue Version verfügbar - zum Aktualisieren hier klicken
+ratingwindow_invite_rw = Sie können mit diesem Tool Websites bewerten. Klicken Sie auf die Farbleisten, um anzugeben, wie sehr Sie einer Website vertrauen.
+warnings_information = Details und Kommentare anzeigen
+warnings_ratesite = Bitte <a>bewerten Sie</a> diese Website, wenn Sie ihr vertrauen
+warnings_reratesite = <a>Klicken Sie hier</a>, wenn Sie die Wertung ändern möchten
+warnings_reputation = Diese Seite hat einen schlechten Ruf basierend auf Benutzerbewertungen
+warnings_rating = Sie haben dieser Website eine schlechte Bewertung gegeben, die eine Warnung ausgelöst hat
+warnings_unknown = Diese Website besitzt eine unbekannte Bewertung
+warnings_warning = Warnung!
+warnings_goto = Gehe zur Seite
+warnings_leave = Beenden
+warnings_back = Gehe zurück
+warnings_reasontitle = Andere Nutzer haben die folgenden Probleme gefunden
+warnings_othersreasontitle = Meinungen anderer Nutzer
+warnings_noreasontitle = Diese Site wurde von Nutzern bisher nur bewertet, jedoch nicht kategorisiert
+contextmenu_open_scorecard = WOT-Wertungsseite öffnen
+wt_learnmore_link = <a id='wt-learnmore-link'>Erfahren Sie mehr</a> über WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Das neue WOT wurde zu Ihrem Browser hinzugefügt.</p><p>Fangen Sie an, Websites zu bewerten, indem Sie auf dieses Symbol klicken {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, verstanden
+wt_warning_text = <p>WOT warnt Sie, wenn Sie auf einer Website mit einer schlechten Reputation landen.</p><p> Die Reputation ergibt sich aus den Bewertungen anderer Nutzer oder den Negativlisten von Drittanbietern.</p><p> Die Warnung zeigt Ihnen auch an, warum eine Website eine schlechte Reputation besitzt.</p><p>{WT_LEARNMORE}</p><p>Wenn Sie keine Warnungen erhalten möchten, können Sie sie deaktivieren.</p>
+wt_warning_turnoff = Warnungen deaktivieren
+wt_warning_ok = OK, verstanden
+wt_rw_text_hdr = Teilen Sie Ihre Erfahrungen!
+wt_rw_text = <p>Das WOT-Bewertungsfenster zeigt Ihnen die Reputation einer Website an, die sich aus den Erfahrungen anderer Nutzer ergibt.</p><p>Sie können jetzt direkt von dem aktualisierten Fenster aus die Website bewerten und kommentieren. Fangen Sie an, indem Sie auf die farbigen Leisten klicken.</p><p class='wot-c'><a id='wt-learnmore-link'>Erfahren Sie mehr</a> über WOT.</p>
+wt_donut_msg = <p>WOT zeigt Ihnen mit Ampelsymbolen die Reputationen von Websites an, die sich aus den Erfahrungen anderer Nutzer ergeben.</p><p>Fahren Sie mit Ihrer Maus über das Symbol, um sich die Reputation und die Gründe für die Bewertung anzusehen.</p>
+wt_donut_btn = OK, verstanden
+fbl_hideforever = Immer verstecken
+fbl_submit = Senden
+fbl_whatisthis = Was ist das?
+fbl_optout_text = Wenn Sie keine Fragen gestellt bekommen möchten, klicken Sie bitte "Ja"
+fbl_optout_yes = Ja
+fbl_optout_no = Nein
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> arbeitet daran, Millionen von Nutzern einen sicheren Zugang zu qualitativ hochwertigen Websites zu bieten. Sie können helfen, indem Sie Ihre Wertung abgeben, wenn Sie diese Meldung sehen.
+fbl_final = Vielen Dank!
+fbl_this_website = diese Website
+fbl_dismiss = Ignorieren
+ratingwindow_question0 = Vertrauen Sie dieser Site?
+ratingwindow_question4 = Ist die Site für Kinder geeignet?
+ratingwindow_categories = Wählen Sie mindestens eine Kategorie aus
+ratingwindow_comment = Geben Sie einen Kommentar ab, um Ihre Erfahrungen mit dieser Site zu beschreiben.
+ratingwindow_comment_placeholder = Geben Sie Ihren Kommentar hier ein...
+ratingwindow_comment_regtext = Sie benötigen ein Konto, um Ihren Kommentar zu veröffentlichen.
+ratingwindow_comment_register = Jetzt ein Konto erstellen
+ratingwindow_comment_captchatext = Sie müssen das Captcha auf der Wertungsseite eingeben, um Ihren Kommentar zu veröffentlichen.
+ratingwindow_comment_captchalink = Wertungsseite jetzt öffnen
+ratingwindow_commenthints = <p>Machen Sie genaue Angaben</p><p>Liefern Sie Belege oder ein Beispiel</p><p>Kommentieren Sie auf Grundlage Ihrer eigenen Erfahrungen</p><p>Veröffentlichen Sie keinen Spam</p>
+ratingwindow_novoted = Klicken Sie hier, um einen Grund für Ihre Bewertung anzugeben, indem Sie eine Kategorie auswählen.
+ratingwindow_morecats = Mehr
+ratingwindow_rerate_change = Ändern
+ratingwindow_rerate_category =
+ratingwindow_fulllist = Ganze Liste anzeigen
+ratingwindow_vote_yes = Ja
+ratingwindow_vote_no = Nein
+messages_ready = Reputation von
+testimony_0_levels_r0 = Leiste anklicken
+testimony_0_levels_r1 = vertraue ich nicht
+testimony_0_levels_r2 = vertraue ich nicht
+testimony_0_levels_r3 = ist verdächtig
+testimony_0_levels_r4 = vertraue ich
+testimony_0_levels_r5 = vertraue ich
+testimony_4_levels_r0 = Leiste anklicken
+testimony_4_levels_r1 = nicht geeignet
+testimony_4_levels_r2 = nicht geeignet
+testimony_4_levels_r3 = Vorsicht geboten
+testimony_4_levels_r4 = geeignet
+testimony_4_levels_r5 = geeignet
+testimony_unrated = keine Meinung
+testimony_delete = löschen
+buttons_delete = Bewertungen löschen
+buttons_delete_title = Löschen Sie meine Bewertungen und Kategorien für die Website
+buttons_cancel = Abbrechen
+buttons_save = Speichern
+buttons_ok = OK
+popup_headertext = Details anzeigen
+popup_nocattext = Ihre Meinung zur Website teilen
+ratingwindow_thankyou = Vielen Dank, dass Sie Ihre Erfahrung geteilt haben!
+activityscore_text = Ihre Aktivitätswertung beträgt jetzt
+activityscore_rookie = Anfänger
+activityscore_bronze = Bronze
+activityscore_silver = Silber
+activityscore_gold = Gold
+activityscore_platinum = Platin
+activityscore_next = Bewerten Sie weiter für den {NEXT_LEVEL}-Level
+bl_description = Diese Website steht auf der Warnliste eines Drittanbieters.
+bl_description_pl = Diese Website steht auf der Warnlisten von Drittanbietern.
+bl_information = WOT nutzt Warnlisten von Drittanbietern, um Nutzer vor technischen Bedrohungen wie Viren oder Malware zu informieren. <a>Erfahren Sie mehr</a>
+bl_malware = Malware
+bl_phishing = Phishing
+bl_scam = Betrug
+bl_spam = Spam
+bl_tracking = Tracking
+bl_other = Anderer Grund
+warning_button = Bewertungsdetails
+warnings_message_rating = Sie haben dieser Website eine schlechte Bewertung gegeben, die eine Warnung ausgelöst hat.
+warnings_message_reputation = Diese Seite hat einen schlechten Ruf basierend auf Benutzerbewertungen.
+messages_offline = Deaktiviert, solange sich der Browser im Offline-Modus befindet.
+messages_disabled = Das Add-on wurde deaktiviert
+auto_update_title = WOT-Aktualisierung
+auto_update_button_yes = Jetzt aktualisieren
+description_restart = Starten Sie den Browser erneut, um WOT zu aktivieren.
+messages_error_register = Aktivierung des Add-ons fehlgeschlagen.
+warning = WOT-Warnung: %S
+description_uninstall = WOT wird nach dem Neustart deinstalliert.
+warnings_blocked = Blockiert
+auto_update_check = Automatische Aktualisierung aktivieren (empfohlen)
+auto_update_button_no = Später erinnern
+auto_update_message = Eine neue Version von WOT ist verfügbar. Soll das Add-on aktualisiert werden?
diff --git a/chrome/wot.jar!/locale/en-US/wot.dtd b/chrome/wot.jar!/locale/en-US/wot.dtd
index dd1ef9d..d0e77d4 100644
--- a/chrome/wot.jar!/locale/en-US/wot.dtd
+++ b/chrome/wot.jar!/locale/en-US/wot.dtd
@@ -6,16 +6,6 @@
<!ENTITY wotRefresh.accesskey "R">
<!ENTITY wotContent.label "WOT">
<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Excellent">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Good">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "Unsatisfactory">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "Poor">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "Very poor">
-<!ENTITY wotTestify1.accesskey "V">
<!ENTITY wotPreferences.label "Settings…">
<!ENTITY wotPreferences.accesskey "S">
<!ENTITY wotMy.label "My WOT…">
@@ -26,16 +16,3 @@
<!ENTITY wotLinkScorecard.accesskey "s">
<!-- Rating window -->
<!ENTITY wotRating.title "Initializing WOT…">
-<!ENTITY wotRating.wot "WOT rating">
-<!ENTITY wotRating.my "My rating">
-<!ENTITY wotRating.app0 "Trustworthiness:">
-<!ENTITY wotRating.app1 "Vendor reliability:">
-<!ENTITY wotRating.app2 "Privacy:">
-<!ENTITY wotRating.app4 "Child safety:">
-<!ENTITY wotRating.scorecard "View scorecard for rating details">
-<!ENTITY wotRating.comment "Add your comment">
-<!ENTITY wotRating.guide "Guide">
-<!ENTITY wotRating.prefs "Settings">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "In partnership with">
-<!ENTITY wotRating.update "New version available - click to update">
diff --git a/chrome/wot.jar!/locale/en-US/wot.properties b/chrome/wot.jar!/locale/en-US/wot.properties
index 657cbb8..0289f9d 100644
--- a/chrome/wot.jar!/locale/en-US/wot.properties
+++ b/chrome/wot.jar!/locale/en-US/wot.properties
@@ -1,57 +1,136 @@
-language = en-US
-auto_update_title = WOT Update
-auto_update_message = A new version of WOT is available. Would you like to update your add-on?
-auto_update_check = Enable automatic updates (recommended)
-auto_update_button_yes = Update now
-auto_update_button_no = Remind me later
-description_disabled = You have disabled the add-on; click to enable.
-description_error_query = Failed to load ratings; retrying shortly.
-description_error_register = Failed to activate the add-on; retrying shortly.
-description_inprogress = Loading ratings…
-description_notready = Activating WOT…
-description_offline = Disabled while the browser is offline.
-description_private = Ratings are not available.
-description_rating_5 = Excellent
-description_rating_4 = Good
-description_rating_3 = Unsatisfactory
-description_rating_2 = Poor
-description_rating_1 = Very poor
-description_rating_0 = Not enough ratings for this site
-description_restart = Restart the browser to activate WOT.
-description_uninstall = WOT will be uninstalled after restart.
-help_0 =
-help_1 = Very poor
-help_2 = Poor
-help_3 = Unsatisfactory
-help_4 = Good
-help_5 = Excellent
-help_comment = Your rating differs.
-help_comment_link = Leave a comment?
-warning = WOT Warning: %S
-warning_warning = Warning!
-warning_blocked = Blocked
-warning_button = Rating details
-warning_message_normal = This site has a poor reputation based on user ratings.
-warning_message_userrated = You have given this site a poor rating.
-warning_message_unknown = This site has an unknown rating.
-warning_info = View rating details and comments
-warning_rate = This site is safe - I want to <a>rate it</a>
-warning_goto = Go to the site
-warning_leave = Leave the site
-warning_back = Go back
-warning_desc_normal = This site has a poor reputation based on user ratings
-warning_desc_userrated = You have given this site a poor rating, which triggered a warning
-warning_desc_unknown = This site has an unknown rating
-rating_0 = Trustworthiness
-rating_1 = Vendor reliability
-rating_2 = Privacy
-rating_4 = Child safety
-popup_0 = Trustworthiness
-popup_1 = Vendor reliability
-popup_2 = Privacy
-popup_4 = Child safety
-user_score_title = My activity score
-user_score_mypage = View my page
-user_score_register = Register now
-user_score_improve = Improve your activity score by rating new sites.
-user_score_top = You are among the %S most active users.
+locale = en
+lang = en-US
+ext_description = WOT helps you find trustworthy websites based on millions of users’ experiences and is one of Chrome’s most popular add-ons.
+components_0 = Trustworthiness
+components_4 = Child safety
+components__short_0 = Trustworthiness
+components__short_4 = Child safety
+reputationlevels_r0 = Unknown
+reputationlevels_r1 = Very poor
+reputationlevels_r2 = Poor
+reputationlevels_r3 = Unsatisfactory
+reputationlevels_r4 = Good
+reputationlevels_r5 = Excellent
+messages_initializing = Initializing WOT…
+messages_notready = Activating WOT…
+messages_failed = Failed to load ratings; retrying shortly
+messages_notavailable = Ratings are not available
+messages_loading = Loading ratings…
+ratingwindow_settings = Settings
+ratingwindow_guide = Tour
+ratingwindow_forum = Forum
+ratingwindow_profile = My profile
+ratingwindow_wotrating = Website's reputation based on user ratings
+ratingwindow_myrating = My rating
+ratingwindow_viewscorecard = View details and comments
+ratingwindow_addcomment = Add a comment
+ratingwindow_editcomment = Edit the comment
+ratingwindow_backtoratings = Back to ratings
+ratingwindow_backtoratings_category = Pick a category
+ratingwindow_newversion = New version available - click to update
+ratingwindow_invite_rw = You can rate websites using this tool. Click on the colored bars to express how much you trust a website.
+warnings_information = View details and comments
+warnings_ratesite = If you trust this site, please <a>rate it</a>
+warnings_reratesite = <a>Click here</a> if you want to re-rate the site
+warnings_reputation = This website has a poor reputation based on<br/>user ratings
+warnings_rating = You have given this site a poor rating,<br/>which triggered a warning
+warnings_unknown = This site has an unknown rating
+warnings_warning = Warning!
+warnings_goto = Go to the site
+warnings_leave = Exit
+warnings_back = Go back
+warnings_reasontitle = Users have identified the following issues
+warnings_othersreasontitle = Other users' opinions
+warnings_noreasontitle = Users have not identified this site yet and only have rated it
+contextmenu_open_scorecard = Open WOT scorecard
+wt_learnmore_link = <a id='wt-learnmore-link'>Learn more</a> about WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>The new WOT has been added to your browser.</p><p>Start rating websites by clicking on this icon {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, got it
+wt_warning_text = <p>WOT warns you if you land on a site with a poor reputation based on other users’ ratings or blacklists from third parties.</p><p>The warning also shows you the reasons behind the poor reputation.</p><p>{WT_LEARNMORE}</p><p>If you don't want to see warnings, you can turn them off.</p>
+wt_warning_turnoff = Turn warnings off
+wt_warning_ok = OK, got it
+wt_rw_text_hdr = Share your experiences!
+wt_rw_text = <p>WOT rating window shows you the website reputation based on other users’ experiences.</p><p>Now you can rate and comment directly from the updated window.</p><p>Start rating by clicking the colored bars.</p><p class='wot-c'><a id='wt-learnmore-link'>Learn more</a> about WOT.</p>
+wt_donut_msg = <p>WOT shows you website reputations based on other users’ experiences by showing you traffic light-style icons.</p><p>Hover your mouse over the icon to see the reputations and reasons behind them.</p>
+wt_donut_btn = OK, got it
+fbl_hideforever = Hide forever
+fbl_submit = Submit
+fbl_whatisthis = What's this?
+fbl_optout_text = If you prefer not to be asked questions, click "yes"
+fbl_optout_yes = yes
+fbl_optout_no = No
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> is working to promote safety and quality across the web for millions of users. You can help by submitting your opinions whenever you see this prompt.
+fbl_final = Thank you!
+fbl_this_website = this website
+fbl_dismiss = dismiss
+ratingwindow_question0 = How much do you trust this site?
+ratingwindow_question4 = How suitable is the website for children?
+ratingwindow_categories = Pick at least one category to support your rating
+ratingwindow_comment = Leave a comment to describe your experience with this site
+ratingwindow_comment_placeholder = write your comment here...
+ratingwindow_comment_regtext = You need an account to publish your comment.
+ratingwindow_comment_register = Create an account now
+ratingwindow_comment_captchatext = You need to enter captcha on the scorecard to publish your comment.
+ratingwindow_comment_captchalink = Open scorecard now
+ratingwindow_commenthints = <p>Be precise</p><p>Give evidence or example</p><p>Comment according to your real experiences</p><p>Do not spam</p>
+ratingwindow_novoted = Click here to provide a reason for your rating by selecting a category
+ratingwindow_morecats = more
+ratingwindow_rerate_change = change
+ratingwindow_rerate_category =
+ratingwindow_fulllist = show full list
+ratingwindow_vote_yes = Yes
+ratingwindow_vote_no = No
+messages_ready = Reputation of
+testimony_0_levels_r0 = click the bar to rate
+testimony_0_levels_r1 = I don't trust
+testimony_0_levels_r2 = I don't trust
+testimony_0_levels_r3 = it is suspicious
+testimony_0_levels_r4 = I trust
+testimony_0_levels_r5 = I trust
+testimony_4_levels_r0 = click the bar to rate
+testimony_4_levels_r1 = not suitable
+testimony_4_levels_r2 = not suitable
+testimony_4_levels_r3 = be cautious
+testimony_4_levels_r4 = suitable
+testimony_4_levels_r5 = suitable
+testimony_unrated = no opinion
+testimony_delete = delete
+buttons_delete = Delete ratings
+buttons_delete_title = Delete my ratings and categories for the website
+buttons_cancel = Cancel
+buttons_save = Save
+buttons_ok = OK
+popup_headertext = click to view details
+popup_nocattext = share your opinion about this website
+ratingwindow_thankyou = Thanks for sharing your experience!
+activityscore_text = Your activity score is now
+activityscore_rookie = rookie
+activityscore_bronze = bronze
+activityscore_silver = silver
+activityscore_gold = gold
+activityscore_platinum = platinum
+activityscore_next = Keep on rating to reach {NEXT_LEVEL} level!
+bl_description = This website appears on a third party blacklist
+bl_description_pl = This website appears on third party blacklists
+bl_information = WOT uses third party blacklists to warn users about technical threats such as viruses and malware. <a>Read more</a>
+bl_malware = Malware
+bl_phishing = Phishing
+bl_scam = Scam
+bl_spam = SPAM
+bl_tracking = Tracking
+bl_other = Other reason
+warning_button = Rating details
+warnings_message_rating = You have given this site a poor rating.
+warnings_message_reputation = This site has a poor reputation based on user ratings.
+messages_offline = Disabled while the browser is offline.
+messages_disabled = You have disabled the add-on
+auto_update_title = WOT Update
+auto_update_button_yes = Update now
+description_restart = Restart the browser to activate WOT.
+messages_error_register = Failed to activate the add-on; retrying shortly.
+warning = WOT Warning: %S
+description_uninstall = WOT will be uninstalled after restart.
+warnings_blocked = Blocked
+auto_update_check = Enable automatic updates (recommended)
+auto_update_button_no = Remind me later
+auto_update_message = A new version of WOT is available. Would you like to update your add-on?
diff --git a/chrome/wot.jar!/locale/es-ES/loading.html b/chrome/wot.jar!/locale/es-ES/loading.html
index 62695b9..1c0feaf 100644
--- a/chrome/wot.jar!/locale/es-ES/loading.html
+++ b/chrome/wot.jar!/locale/es-ES/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Cargando sitio web...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Cargando sitio web</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Cargando sitio web...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Cargando sitio web</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/es-ES/wot.dtd b/chrome/wot.jar!/locale/es-ES/wot.dtd
index 8daaac3..bbe5522 100644
--- a/chrome/wot.jar!/locale/es-ES/wot.dtd
+++ b/chrome/wot.jar!/locale/es-ES/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Activado">
-<!ENTITY wotEnabled.accesskey "A">
-<!ENTITY wotRefresh.label "Actualizar">
-<!ENTITY wotRefresh.accesskey "r">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Excelente">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Bueno">
-<!ENTITY wotTestify4.accesskey "B">
-<!ENTITY wotTestify3.label "No satisfactorio">
-<!ENTITY wotTestify3.accesskey "N">
-<!ENTITY wotTestify2.label "Pobre">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "Muy pobre">
-<!ENTITY wotTestify1.accesskey "M">
-<!ENTITY wotPreferences.label "Configuración…">
-<!ENTITY wotPreferences.accesskey "C">
-<!ENTITY wotMy.label "My WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Buscar actualizaciones…">
-<!ENTITY wotCheckUpdates.accesskey "c">
-<!ENTITY wotLinkScorecard.label "Ver tarjeta de puntuación de WOT…">
-<!ENTITY wotLinkScorecard.accesskey "V">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Iniciando WOT…">
-<!ENTITY wotRating.wot "Valoración de WOT">
-<!ENTITY wotRating.my "Mi valoración">
-<!ENTITY wotRating.app0 "Confiabilidad:">
-<!ENTITY wotRating.app1 "Fiabilidad del vendedor:">
-<!ENTITY wotRating.app2 "Privacidad:">
-<!ENTITY wotRating.app4 "Seguridad para menores:">
-<!ENTITY wotRating.scorecard "Ver puntuación para detalles de valoración">
-<!ENTITY wotRating.comment "Añadir comentario">
-<!ENTITY wotRating.guide "Guía">
-<!ENTITY wotRating.prefs "Configuración">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "En asociación con">
-<!ENTITY wotRating.update "Nueva versión disponible: haga clic para actualizar">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Activado">
+<!ENTITY wotEnabled.accesskey "A">
+<!ENTITY wotRefresh.label "Actualizar">
+<!ENTITY wotRefresh.accesskey "r">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Configuración…">
+<!ENTITY wotPreferences.accesskey "C">
+<!ENTITY wotMy.label "My WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Buscar actualizaciones…">
+<!ENTITY wotCheckUpdates.accesskey "c">
+<!ENTITY wotLinkScorecard.label "Ver tarjeta de puntuación de WOT…">
+<!ENTITY wotLinkScorecard.accesskey "V">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Iniciando WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/es-ES/wot.properties b/chrome/wot.jar!/locale/es-ES/wot.properties
index dcc678c..e0905ba 100644
--- a/chrome/wot.jar!/locale/es-ES/wot.properties
+++ b/chrome/wot.jar!/locale/es-ES/wot.properties
@@ -1,57 +1,136 @@
-language = es-ES
-auto_update_title = Actualización de WOT
-auto_update_message = Hay disponible una nueva versión de WOT. ¿Le gustaría actualizar su complemento?
-auto_update_check = Habilitar las actualizaciones automáticas (recomendado).
-auto_update_button_yes = Actualizar ahora
-auto_update_button_no = Recordármelo más tarde
-description_disabled = Ha desactivado el complemento.
-description_error_query = Error al cargar las valoraciones.
-description_error_register = Error al activar el complemento.
-description_inprogress = Cargando valoraciones…
-description_notready = Activando WOT…
-description_offline = Desactivado mientras el navegador esté fuera de línea.
-description_private = Las valoraciones no están disponibles.
-description_rating_5 = Excelente
-description_rating_4 = Buena
-description_rating_3 = No satisfactoria
-description_rating_2 = Pobre
-description_rating_1 = Muy pobre
-description_rating_0 = No existen suficientes valoraciones para este sitio.
-description_restart = Reinicie el navegador para activar WOT.
-description_uninstall = WOT se desinstalará después de reiniciar.
-help_0 =
-help_1 = Muy pobre
-help_2 = Pobre
-help_3 = No satisfactoria
-help_4 = Buena
-help_5 = Excelente
-help_comment =
-help_comment_link = ¿Desea añadir un comentario?
-warning = Advertencia de WOT: %S
-warning_warning = ¡Advertencia!
-warning_blocked = Bloqueado
-warning_button = Detalles de la valoración
-warning_message_normal = este sitio tiene una reputación pobre.
-warning_message_userrated = ha asignado a este sitio una valoración pobre.
-warning_message_unknown = este sitio tiene una valoración desconocida.
-warning_info = Ver detalles de valoración y comentarios
-warning_rate = Este sitio es seguro y deseo <a>valorarlo</a>
-warning_goto = Vaya al sitio
-warning_leave = Abandone el sitio
-warning_back = Regrese
-warning_desc_normal = Este sitio tiene una reputación pobre
-warning_desc_userrated = Ha asignado a este sitio una valoración pobre, lo que ha desencadenado una advertencia
-warning_desc_unknown = Este sitio tiene una valoración desconocida
-rating_0 = Confiabilidad
-rating_1 = Fiabilidad del vendedor
-rating_2 = Privacidad
-rating_4 = Seguridad para menores
-popup_0 = Confiabilidad
-popup_1 = Fiabilidad vendedor
-popup_2 = Privacidad
-popup_4 = Seguridad infantil
-user_score_title = Puntuación de Mi actividad
-user_score_mypage = Ver mi página
-user_score_register = Registrar ahora
-user_score_improve = Mejore la puntuación de su actividad valorando sitios nuevos.
-user_score_top = Se encuentra entre los %S usuarios más activos.
+locale = es
+lang = es-ES
+ext_description = WOT muestra cuáles son los sitios web en los que puede confiar basándose en las experiencias de millones de usuarios.
+components_0 = Confiabilidad
+components_4 = Seguridad para menores
+components__short_0 = Confiabilidad
+components__short_4 = Seguridad infantil
+reputationlevels_r0 = Desconocido
+reputationlevels_r1 = Muy pobre
+reputationlevels_r2 = Pobre
+reputationlevels_r3 = No satisfactoria
+reputationlevels_r4 = Buena
+reputationlevels_r5 = Excelente
+messages_initializing = Iniciando WOT…
+messages_notready = Activando WOT…
+messages_failed = Error al cargar las valoraciones.
+messages_notavailable = Las valoraciones no están disponibles.
+messages_loading = Cargando valoraciones…
+ratingwindow_settings = Configuración
+ratingwindow_guide = Tour
+ratingwindow_forum = Forum
+ratingwindow_profile = Mi perfil
+ratingwindow_wotrating = Reputación de sitios web basada en la puntuación de los usuarios
+ratingwindow_myrating = Mi valoración
+ratingwindow_viewscorecard = Ver información y comentarios
+ratingwindow_addcomment = Comentar
+ratingwindow_editcomment = Editar comentario
+ratingwindow_backtoratings = Volver a puntuaciones
+ratingwindow_backtoratings_category = Escoger una categoría
+ratingwindow_newversion = Nueva versión disponible: haga clic para actualizar
+ratingwindow_invite_rw = Puedes puntuar sitios webs usando esta herramienta. Haz clic en las barras de colores para expresar cuánto confías en un sitio web.
+warnings_information = Ver información y comentarios
+warnings_ratesite = Si confías en este sitio web, por favor, <a>puntúalo</a>
+warnings_reratesite = <a>Haz clic aquí</a> si quieres puntuar de nuevo esta web
+warnings_reputation = Este sitio tiene una reputación pobre
+warnings_rating = Ha asignado a este sitio una valoración pobre,<br/>lo que ha desencadenado una advertencia
+warnings_unknown = Este sitio tiene una valoración desconocida
+warnings_warning = ¡Advertencia!
+warnings_goto = Vaya al sitio
+warnings_leave = Salir
+warnings_back = Regrese
+warnings_reasontitle = Los usuarios han identificado los siguientes problemas
+warnings_othersreasontitle = Opiniones de otros usuarios
+warnings_noreasontitle = Los usuarios no han identificado todavía esta web y solo la han puntuado
+contextmenu_open_scorecard = Abrir puntuación WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>Saber más</a> sobre WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>El nuevo WOT ha sido añadido a su navegador.</p><p>Empiece a calificar sitios web haciendo clic en este icono {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = Vale, entendido
+wt_warning_text = <p>WOT le advierte si aterriza en un sitio con una mala reputación sobre la base de calificaciones de otros usuarios o listas negras de terceros. La advertencia también muestra las razones de la mala reputación.</p><p>{WT_LEARNMORE}</p><p>Si no quieres ver las alarmas, puedes apagarlas.</p>
+wt_warning_turnoff = Desactivar alertas
+wt_warning_ok = Vale, entendido
+wt_rw_text_hdr = ¡Comparte tus experiencias!
+wt_rw_text = <p>La ventana de calificación de WOT muestra la reputación del sitio web basada en las experiencias de otros usuarios.</p><p>Ahora puede calificar y hacer comentarios directamente desde la ventana actualizada.</p><p> Empiece a calificar haciendo clic en las barras de colores.</p><p class='wot-c'><a id='wt-learnmore-link'>Saber más</a> about WOT.</p>
+wt_donut_msg = <p>WOT muestra reputaciones de sitios web basadas en experiencias de otros usuarios, mostrando iconos al estilo de los semáforos.</p><p> Pase el cursor del ratón sobre el icono para ver la reputación y las razones detrás de ella.</p>
+wt_donut_btn = Vale, entendido
+fbl_hideforever = Esconder para siempre
+fbl_submit = Enviar
+fbl_whatisthis = ¿Qué es esto?
+fbl_optout_text = Si prefieres que no te preguntemos, haz clic en "sí"
+fbl_optout_yes = sí
+fbl_optout_no = no
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> trabaja para promover seguridad y calidad en Internet para millones de usuarios. Puedes ayudar enviando tu opinión cada vez que veas este aviso.
+fbl_final = ¡Gracias!
+fbl_this_website = esta web
+fbl_dismiss = rechazar
+ratingwindow_question0 = ¿Cuánto confías en esta web?
+ratingwindow_question4 = ¿Cómo es de adecuada para niños?
+ratingwindow_categories = Elige al menos una categoría
+ratingwindow_comment = Deja un comentario para describir tu experiencia con este sitio
+ratingwindow_comment_placeholder = escribe aquí tu comentario...
+ratingwindow_comment_regtext = Es necesaria una cuenta para publicar un comentario.
+ratingwindow_comment_register = Crear una cuenta nueva
+ratingwindow_comment_captchatext = Es necesario introducir un código de verificación en la puntuación para publicar el comentario
+ratingwindow_comment_captchalink = Abrir puntuación
+ratingwindow_commenthints = <p>Se preciso</p><p>Da pruebas o ejemplos</p><p>Comenta según tu experiencia real</p><p>No hagas spam</p>
+ratingwindow_novoted = Haz clic aquí para dar un motivo para tu puntuación eligiendo una categoría.
+ratingwindow_morecats = más
+ratingwindow_rerate_change = cambiar
+ratingwindow_rerate_category =
+ratingwindow_fulllist = mostrar lista entera
+ratingwindow_vote_yes = Sí
+ratingwindow_vote_no = No
+messages_ready = Reputación de
+testimony_0_levels_r0 = clic para puntuar
+testimony_0_levels_r1 = no confío
+testimony_0_levels_r2 = no confío
+testimony_0_levels_r3 = es sospechosa
+testimony_0_levels_r4 = confío
+testimony_0_levels_r5 = confío
+testimony_4_levels_r0 = clic para puntuar
+testimony_4_levels_r1 = no es adecuado
+testimony_4_levels_r2 = no es adecuado
+testimony_4_levels_r3 = se precavido
+testimony_4_levels_r4 = adecuado
+testimony_4_levels_r5 = adecuado
+testimony_unrated = sin opinión
+testimony_delete = borrar
+buttons_delete = Borrar puntuaciones
+buttons_delete_title = Borrar mis puntuaciones y categorías para la web
+buttons_cancel = Cancelar
+buttons_save = Guardar
+buttons_ok = Vale
+popup_headertext = clic para ver detalles
+popup_nocattext = comparte tu opinión sobre esta web
+ratingwindow_thankyou = ¡Gracias por compartir tu experiencia!
+activityscore_text = Tu puntación de actividad
+activityscore_rookie = novato
+activityscore_bronze = bronce
+activityscore_silver = plata
+activityscore_gold = oro
+activityscore_platinum = platino
+activityscore_next = ¡Puntúa para alcanzar el nivel {NEXT_LEVEL}!
+bl_description = Este sitio web aparece en la lista negra de terceros
+bl_description_pl = Este sitio web aparece en listas negras de terceros
+bl_information = WOT usa listas negras de terceros para avisar a usuarios sobre amenazas como virus y programas maliciosos.<a>Leer más</a>
+bl_malware = Programas maliciosos
+bl_phishing = Phising
+bl_scam = Scam
+bl_spam = SPAM
+bl_tracking = Rastreo
+bl_other = Otro motivo
+warning_button = Detalles de la valoración
+warnings_message_rating = ha asignado a este sitio una valoración pobre.
+warnings_message_reputation = este sitio tiene una reputación pobre.
+messages_offline = Desactivado mientras el navegador esté fuera de línea.
+messages_disabled = Ha desactivado el complemento
+auto_update_title = Actualización de WOT
+auto_update_button_yes = Actualizar ahora
+description_restart = Reinicie el navegador para activar WOT.
+messages_error_register = Error al activar el complemento.
+warning = Advertencia de WOT: %S
+description_uninstall = WOT se desinstalará después de reiniciar.
+warnings_blocked = Bloqueado
+auto_update_check = Habilitar las actualizaciones automáticas (recomendado).
+auto_update_button_no = Recordármelo más tarde
+auto_update_message = Hay disponible una nueva versión de WOT. ¿Le gustaría actualizar su complemento?
diff --git a/chrome/wot.jar!/locale/fi-FI/loading.html b/chrome/wot.jar!/locale/fi-FI/loading.html
index ff16ac4..cfd1760 100644
--- a/chrome/wot.jar!/locale/fi-FI/loading.html
+++ b/chrome/wot.jar!/locale/fi-FI/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Ladataan sivustoa...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Ladataan sivustoa</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Ladataan sivustoa...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Ladataan sivustoa</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/fi-FI/wot.dtd b/chrome/wot.jar!/locale/fi-FI/wot.dtd
index 425931e..0d8abae 100644
--- a/chrome/wot.jar!/locale/fi-FI/wot.dtd
+++ b/chrome/wot.jar!/locale/fi-FI/wot.dtd
@@ -1,41 +1,19 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Käytössä">
-<!ENTITY wotEnabled.accesskey "K">
-<!ENTITY wotRefresh.label "Päivitä">
-<!ENTITY wotRefresh.accesskey "P">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Erinomainen">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Hyvä">
-<!ENTITY wotTestify4.accesskey "H">
-<!ENTITY wotTestify3.label "Epätyydyttävä">
-<!ENTITY wotTestify3.accesskey "T">
-<!ENTITY wotTestify2.label "Huono">
-<!ENTITY wotTestify2.accesskey "U">
-<!ENTITY wotTestify1.label "Erittäin huono">
-<!ENTITY wotTestify1.accesskey "O">
-<!ENTITY wotPreferences.label "Asetukset…">
-<!ENTITY wotPreferences.accesskey "A">
-<!ENTITY wotMy.label "My WOT…">
-<!ENTITY wotMy.accesskey "M">
-<!ENTITY wotCheckUpdates.label "Etsi päivityksiä…">
-<!ENTITY wotCheckUpdates.accesskey "p">
-<!ENTITY wotLinkScorecard.label "Näytä WOT-tuloskortti…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Alustetaan WOT…">
-<!ENTITY wotRating.wot "WOT-luokitus">
-<!ENTITY wotRating.my "Oma luokitus">
-<!ENTITY wotRating.app0 "Luotettavuus:">
-<!ENTITY wotRating.app1 "Asioinnin turvallisuus:">
-<!ENTITY wotRating.app2 "Tietosuoja:">
-<!ENTITY wotRating.app4 "Lapsiturvallisuus:">
-<!ENTITY wotRating.scorecard "Näet yksityiskohtaiset tiedot tuloskortista">
-<!ENTITY wotRating.comment "Voit myös lisätä oman kommentin">
-<!ENTITY wotRating.guide "Opas">
-<!ENTITY wotRating.prefs "Asetukset">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "Kumppanina">
-<!ENTITY wotRating.update "Uusi versio – asenna napsauttamalla tätä">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Käytössä">
+<!ENTITY wotEnabled.accesskey "K">
+<!ENTITY wotRefresh.label "Päivitä">
+<!ENTITY wotRefresh.accesskey "P">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Asetukset…">
+<!ENTITY wotPreferences.accesskey "A">
+<!ENTITY wotMy.label "My WOT…">
+<!ENTITY wotMy.accesskey "M">
+<!ENTITY wotCheckUpdates.label "Etsi päivityksiä…">
+<!ENTITY wotCheckUpdates.accesskey "p">
+<!ENTITY wotLinkScorecard.label "Näytä WOT-tuloskortti…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Alustetaan WOT…">
+
diff --git a/chrome/wot.jar!/locale/fi-FI/wot.properties b/chrome/wot.jar!/locale/fi-FI/wot.properties
index 649e58d..93df116 100644
--- a/chrome/wot.jar!/locale/fi-FI/wot.properties
+++ b/chrome/wot.jar!/locale/fi-FI/wot.properties
@@ -1,57 +1,136 @@
-language = fi-FI
-auto_update_title = WOT-päivitys
-auto_update_message = WOT-lisäosasta on saatavissa uusi versio. Haluatko päivittää lisäosan?
-auto_update_check = Käytä automaattisia päivityksiä (suositeltu asetus)
-auto_update_button_yes = Päivitä nyt
-auto_update_button_no = Muistuta myöhemmin
-description_disabled = Olet poistanut lisäosan käytöstä. Ota se käyttöön napsauttamalla tätä.
-description_error_query = Luokitusten lataaminen epäonnistui.
-description_error_register = Lisäosan käyttöönotto epäonnistui.
-description_inprogress = Ladataan luokituksia…
-description_notready = Otetaan WOT-lisäosa käyttöön…
-description_offline = Poistettu käytöstä, kun selain on offline-tilassa.
-description_private = Luokitukset eivät ole käytettävissä.
-description_rating_5 = Erinomainen
-description_rating_4 = Hyvä
-description_rating_3 = Epätyydyttävä
-description_rating_2 = Huono
-description_rating_1 = Erittäin huono
-description_rating_0 = Sivustolle ei ole tarpeeksi luokituksia.
-description_restart = Ota WOT käyttöön käynnistämällä selain uudelleen.
-description_uninstall = WOT-asennus poistetaan uudelleenkäynnistyksen jälkeen.
-help_0 =
-help_1 = Erittäin huono
-help_2 = Huono
-help_3 = Epätyydyttävä
-help_4 = Hyvä
-help_5 = Erinomainen
-help_comment =
-help_comment_link = Haluatko lisätä kommentin?
-warning = WOT-Varoitus: %S
-warning_warning = Varoitus!
-warning_blocked = Estetty
-warning_button = Luokitustiedot
-warning_message_normal = Tällä sivustolla on huono maine käyttäjien luokitusten perusteella.
-warning_message_userrated = Olet antanut tälle sivustolle huonon luokituksen.
-warning_message_unknown = Tämän sivuston luokitus on tuntematon.
-warning_info = Näytä luokitustiedot ja kommentit
-warning_rate = Sivusto on turvallinen, haluan <a>luokitella sen</a>
-warning_goto = Siirry sivustoon
-warning_leave = Poistu sivustolta
-warning_back = Takaisin
-warning_desc_normal = Tällä sivustolla on huono maine käyttäjien luokitusten perusteella
-warning_desc_userrated = Sivustolle antamasi huono luokitus laukaisi varoituksen
-warning_desc_unknown = Tämän sivuston luokitus on tuntematon
-rating_0 = Luotettavuus
-rating_1 = Asioinnin turvallisuus
-rating_2 = Tietosuoja
-rating_4 = Lapsiturvallisuus
-popup_0 = Luotettavuus
-popup_1 = Asioinnin turvall.
-popup_2 = Tietosuoja
-popup_4 = Lapsiturvallisuus
-user_score_title = Omat aktiivisuuspisteet
-user_score_mypage = Näytä oma sivu
-user_score_register = Rekisteröidy
-user_score_improve = Hanki lisää aktiivisuuspisteitä luokittelemalla uusia sivustoja.
-user_score_top = Olet %S aktiivisimman käyttäjän joukossa.
+locale = fi
+lang = fi-FI
+ext_description = WOT näyttää, mihin sivustoihin voit luottaa. Arviot perustuvat miljoonien käyttäjien kokemuksiin eri puolilta maailmaa.
+components_0 = Luotettavuus
+components_4 = Lapsiturvallisuus
+components__short_0 = Luotettavuus
+components__short_4 = Lapsiturvallisuus
+reputationlevels_r0 = Tuntematon
+reputationlevels_r1 = Erittäin huono
+reputationlevels_r2 = Huono
+reputationlevels_r3 = Epätyydyttävä
+reputationlevels_r4 = Hyvä
+reputationlevels_r5 = Erinomainen
+messages_initializing = Alustetaan WOT…
+messages_notready = Otetaan WOT-lisäosa käyttöön…
+messages_failed = Luokitusten lataaminen epäonnistui.
+messages_notavailable = Luokitukset eivät ole käytettävissä.
+messages_loading = Ladataan luokituksia…
+ratingwindow_settings = Asetukset
+ratingwindow_guide = Opastuskierros
+ratingwindow_forum = Foorumi
+ratingwindow_profile = Profiilini
+ratingwindow_wotrating = Sivuston maine käyttäjien arviointien perusteella
+ratingwindow_myrating = Oma luokitus
+ratingwindow_viewscorecard = Katso lisätietoja ja kommentteja
+ratingwindow_addcomment = Lisää kommentti
+ratingwindow_editcomment = Muokkaa kommenttia
+ratingwindow_backtoratings = Takaisin arviointeihin
+ratingwindow_backtoratings_category = Valitse kategoria
+ratingwindow_newversion = Uusi versio – asenna napsauttamalla tätä
+ratingwindow_invite_rw = Voit arvioida sivustoja tämän työkalun avulla. Klikkaa värillisiä palkkeja ilmaistaksesi, kuinka paljon luotat sivustoon.
+warnings_information = Katso lisätietoja ja kommentteja
+warnings_ratesite = Jos luotat tähän sivustoon, <a>arvioi se</a>
+warnings_reratesite = <a>Klikkaa tästä</a>, jos haluat arvioida sivuston uudestaan
+warnings_reputation = Tällä sivustolla on huono maine käyttäjien<br/>luokitusten perusteella
+warnings_rating = Sivustolle antamasi huono luokitus<br/>laukaisi varoituksen
+warnings_unknown = Tämän sivuston luokitus on tuntematon
+warnings_warning = Varoitus!
+warnings_goto = Siirry sivustoon
+warnings_leave = Poistu
+warnings_back = Takaisin
+warnings_reasontitle = Käyttäjät ovat tunnistaneet seuraavat ongelmat
+warnings_othersreasontitle = Muiden käyttäjien mielipiteet
+warnings_noreasontitle = Käyttäjät eivät ole tunnistaneet sivustoa vielä ja ovat vain arvioineet sen
+contextmenu_open_scorecard = Avaa WOT-pistetaulukko
+wt_learnmore_link = <a id='wt-learnmore-link'>Opi lisää</a> WOTista.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Uusi WOT on lisätty selaimellesi.</p><p>Aloita sivustojen arviointi klikkaamalla tätä ikonia {ICO1}.</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, ymmärretty
+wt_warning_text = <p>WOT varoittaa sinua, jos tulet sivustolle, jolla on huono maine muiden käyttäjien kokemuksien perusteella tai joka on kolmannen osapuolen mustalla listalla. Varoitus näyttää sinulle myös huonon maineen syyt.</p><p>{WT_LEARNMORE}</p><p>Jos et halua nähdä varoituksia, voit poistaa ne käytöstä.</p>
+wt_warning_turnoff = Poista varoitukset käytöstä
+wt_warning_ok = OK, ymmärretty
+wt_rw_text_hdr = Jaa kokemuksesi!
+wt_rw_text = <p>WOT-arviointi ikkuna näyttää sinulle käyttäjien kokemuksiin perustuen maineeltaan parhaimman sivuston. Nyt voi arvostella ja kommentoida suoraan päivitetystä ikkunasta. Aloita arviointi klikkaamalla väritettyjä palkkeja.</p><p class='wot-c'><a id='wt-learnmore-link'>Opi lisää</a> WOTista.</p>
+wt_donut_msg = <p>WOT näyttää sinulle sivustojen maineen muiden käyttäjien kokemuksiin perustuen liikennevalojen tapaisella ikonilla.</p><p>Liikuta hiirtäsi ikonin päällä nähdäksesi maineen ja syyt maineeseen.</p>
+wt_donut_btn = OK, ymmärretty
+fbl_hideforever = Piilota ikuisesti
+fbl_submit = Lähetä
+fbl_whatisthis = Mikä tämä on?
+fbl_optout_text = Jos haluat, ettei sinulta kysytä kysymyksiä, klikkaa "kyllä"
+fbl_optout_yes = kyllä
+fbl_optout_no = Ei
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> työskentelee parantaakseen verkkosuvistojen turvallisuutta ja laatua miljoonis käyttäjiä varten. Voit auttaa meitä lähettämällä mielipiteesti aina, kun näet tämän kehotteen.
+fbl_final = Kiitos!
+fbl_this_website = Tämä sivusto
+fbl_dismiss = lopeta
+ratingwindow_question0 = Kuinka paljon luotat sivustoon?
+ratingwindow_question4 = Sopiiko sivusto lapsille?
+ratingwindow_categories = Valitse vähintään yksi kategoria
+ratingwindow_comment = Jätä kommentti kuvataksesi kokemustasi tästä sivustosta
+ratingwindow_comment_placeholder = Kirjoita kommenttisi tähän...
+ratingwindow_comment_regtext = Tarvitset tilin voidaksesi julkaista kommenttisi.
+ratingwindow_comment_register = Luo tili nyt
+ratingwindow_comment_captchatext = Voidaksesi julkaista kommenttisi, sinun täytyy syöttä kuvavarmennus tulostaulukolle.
+ratingwindow_comment_captchalink = Avaa tulostaulukko nyt
+ratingwindow_commenthints = <p>Ole tarkka</p><p>Anna todisteita tai esimerkki</p><p>Kommentoi todellisten kokemustesi mukaan</p><p>Älä lähetä roskapostia</p>
+ratingwindow_novoted = Klikkaa tästä antaaksesi syyn arvostelullesi valitsemalla kategorian.
+ratingwindow_morecats = lisää
+ratingwindow_rerate_change = vaihda
+ratingwindow_rerate_category =
+ratingwindow_fulllist = näytä koko lista
+ratingwindow_vote_yes = Kyllä
+ratingwindow_vote_no = Ei
+messages_ready = Maine
+testimony_0_levels_r0 = Arvioidaksesi klikkaa palkkia
+testimony_0_levels_r1 = En luota
+testimony_0_levels_r2 = En luota
+testimony_0_levels_r3 = se on epäilyttävä
+testimony_0_levels_r4 = Luotan
+testimony_0_levels_r5 = Luotan
+testimony_4_levels_r0 = Arvioidaksesi klikkaa palkkia
+testimony_4_levels_r1 = ei sopiva
+testimony_4_levels_r2 = ei sopiva
+testimony_4_levels_r3 = ole varovainen
+testimony_4_levels_r4 = sopiva
+testimony_4_levels_r5 = sopiva
+testimony_unrated = ei mielipidettä
+testimony_delete = poista
+buttons_delete = Poista arvostelut
+buttons_delete_title = Poista arvosteluni ja kategoriani verkkosivulta
+buttons_cancel = Peruuta
+buttons_save = Tallenna
+buttons_ok = OK
+popup_headertext = Klikkaa nähdäksesi lisätietoja
+popup_nocattext = Jaa mielipiteesi sivustosta
+ratingwindow_thankyou = Kiitos, kun jaoit kokemuksesi!
+activityscore_text = Aktiviteettituloksesi on nyt
+activityscore_rookie = aloittelija
+activityscore_bronze = pronssi
+activityscore_silver = hopea
+activityscore_gold = kulta
+activityscore_platinum = platina
+activityscore_next = Jatka arvosteluja yltääksesi {NEXT_LEVEL} tasolle!
+bl_description = Tämä sivusto on kolmannen osapuolen mustalla listalla
+bl_description_pl = Tämä sivusto on kolmannen osapuolen mustalla listalla
+bl_information = WOT käyttää kolmannen osapuolen mustia listoja varoittaakseen käyttäjiä teknisistä haitoista, kuten viruksista ja haittaohjelmista. <a>Lue lisää</a>
+bl_malware = Haittaohjelma
+bl_phishing = Tietojen kalastelu
+bl_scam = Huijaus
+bl_spam = ROSKAPOSTI
+bl_tracking = Seuranta
+bl_other = Muut syyt
+warning_button = Luokitustiedot
+warnings_message_rating = Olet antanut tälle sivustolle huonon luokituksen.
+warnings_message_reputation = Tällä sivustolla on huono maine käyttäjien luokitusten perusteella.
+messages_offline = Poistettu käytöstä, kun selain on offline-tilassa.
+messages_disabled = Olet poistanut lisäosan käytöstä
+auto_update_title = WOT-päivitys
+auto_update_button_yes = Päivitä nyt
+description_restart = Ota WOT käyttöön käynnistämällä selain uudelleen.
+messages_error_register = Lisäosan käyttöönotto epäonnistui.
+warning = WOT-Varoitus: %S
+description_uninstall = WOT-asennus poistetaan uudelleenkäynnistyksen jälkeen.
+warnings_blocked = Estetty
+auto_update_check = Käytä automaattisia päivityksiä (suositeltu asetus)
+auto_update_button_no = Muistuta myöhemmin
+auto_update_message = WOT-lisäosasta on saatavissa uusi versio. Haluatko päivittää lisäosan?
diff --git a/chrome/wot.jar!/locale/fr-FR/loading.html b/chrome/wot.jar!/locale/fr-FR/loading.html
index 281d0d9..7ab0da4 100644
--- a/chrome/wot.jar!/locale/fr-FR/loading.html
+++ b/chrome/wot.jar!/locale/fr-FR/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT : Chargement du site Web...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Chargement du site Web</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT : Chargement du site Web...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Chargement du site Web</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/fr-FR/wot.dtd b/chrome/wot.jar!/locale/fr-FR/wot.dtd
index ea00d44..a428c92 100644
--- a/chrome/wot.jar!/locale/fr-FR/wot.dtd
+++ b/chrome/wot.jar!/locale/fr-FR/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Activé">
-<!ENTITY wotEnabled.accesskey "A">
-<!ENTITY wotRefresh.label "Rafraîchir">
-<!ENTITY wotRefresh.accesskey "R">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Excellent">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Bon">
-<!ENTITY wotTestify4.accesskey "B">
-<!ENTITY wotTestify3.label "Médiocre">
-<!ENTITY wotTestify3.accesskey "M">
-<!ENTITY wotTestify2.label "Mauvais">
-<!ENTITY wotTestify2.accesskey "u">
-<!ENTITY wotTestify1.label "Très mauvais">
-<!ENTITY wotTestify1.accesskey "T">
-<!ENTITY wotPreferences.label "Paramètres…">
-<!ENTITY wotPreferences.accesskey "P">
-<!ENTITY wotMy.label "Mon WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Recherche de mises à jour…">
-<!ENTITY wotCheckUpdates.accesskey "h">
-<!ENTITY wotLinkScorecard.label "Consulter la carte de score WOT…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Initialisation de WOT…">
-<!ENTITY wotRating.wot "Évaluation WOT">
-<!ENTITY wotRating.my "Mon évaluation">
-<!ENTITY wotRating.app0 "Crédibilité :">
-<!ENTITY wotRating.app1 "Fiabilité commerciale :">
-<!ENTITY wotRating.app2 "Confidentialité :">
-<!ENTITY wotRating.app4 "Sécurité des mineurs :">
-<!ENTITY wotRating.scorecard "Afficher le tableau de bord détaillé">
-<!ENTITY wotRating.comment "Ajouter votre commentaire">
-<!ENTITY wotRating.guide "Guide">
-<!ENTITY wotRating.prefs "Paramètres">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "En partenariat avec">
-<!ENTITY wotRating.update "Nouvelle version disponible : cliquez ici pour actualiser">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Activé">
+<!ENTITY wotEnabled.accesskey "A">
+<!ENTITY wotRefresh.label "Rafraîchir">
+<!ENTITY wotRefresh.accesskey "R">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Paramètres…">
+<!ENTITY wotPreferences.accesskey "P">
+<!ENTITY wotMy.label "Mon WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Recherche de mises à jour…">
+<!ENTITY wotCheckUpdates.accesskey "h">
+<!ENTITY wotLinkScorecard.label "Consulter la carte de score WOT…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Initialisation de WOT…">
diff --git a/chrome/wot.jar!/locale/fr-FR/wot.properties b/chrome/wot.jar!/locale/fr-FR/wot.properties
index af36e95..22a55c7 100644
--- a/chrome/wot.jar!/locale/fr-FR/wot.properties
+++ b/chrome/wot.jar!/locale/fr-FR/wot.properties
@@ -1,57 +1,136 @@
-language = fr-FR
-auto_update_title = Mise à jour de WOT
-auto_update_message = Une nouvelle version de WOT est disponible. Souhaitez-vous mettre à jour votre composant additionnel ?
-auto_update_check = Activer les mises à jour automatiques (recommandé)
-auto_update_button_yes = Mettre à jour maintenant
-auto_update_button_no = Me le rappeler plus tard
-description_disabled = Vous avez désactivé le composant additionnel.
-description_error_query = Le chargement des évaluations a échoué.
-description_error_register = L'activation du composant additionnel a échoué.
-description_inprogress = Chargement des évaluations…
-description_notready = Activation de WOT…
-description_offline = Désactivé si le navigateur est hors connexion.
-description_private = Aucune évaluation n'est disponible.
-description_rating_5 = Excellent
-description_rating_4 = Bon
-description_rating_3 = Médiocre
-description_rating_2 = Mauvais
-description_rating_1 = Très mauvais
-description_rating_0 = Nombre d'évaluations insuffisant pour ce site
-description_restart = Redémarrez le navigateur pour activer WOT.
-description_uninstall = WOT sera désinstallé au redémarrage.
-help_0 =
-help_1 = Très mauvais
-help_2 = Mauvais
-help_3 = Médiocre
-help_4 = Bon
-help_5 = Excellent
-help_comment =
-help_comment_link = Voulez-vous laisser un commentaire?
-warning = Alerte WOT : %S
-warning_blocked = Contenu bloqué
-warning_warning = Attention!
-warning_button = Évaluation détaillée
-warning_message_normal = ce site a mauvaise réputation.
-warning_message_userrated = vous avez attribué à ce site une mauvaise évaluation.
-warning_message_unknown = ce site présente une évaluation inconnue.
-warning_info = Afficher l'évaluation détaillée et les commentaires
-warning_rate = Ce site est sûr - Je souhaite <a>l'évaluer</a>
-warning_goto = Entrer sur le site
-warning_leave = Quitter le site
-warning_back = Reculer
-warning_desc_normal = Ce site a mauvaise réputation
-warning_desc_userrated = Vous avez attribué à ce site une mauvaise évaluation ayant déclenché une alerte
-warning_desc_unknown = Ce site présente une évaluation inconnue
-rating_0 = Crédibilité
-rating_1 = Fiabilité commerciale
-rating_2 = Confidentialité
-rating_4 = Sécurité des mineurs
-popup_0 = Crédibilité
-popup_1 = Fiabilité com.
-popup_2 = Confidentialité
-popup_4 = Sécurité mineurs
-user_score_title = Ma note d'activité
-user_score_mypage = Afficher ma page
-user_score_register = M'inscrire maintenant
-user_score_improve = Améliorez votre note d'activité en évaluant de nouveaux sites.
-user_score_top = Vous faites partie des %S utilisateurs les plus actifs.
+locale = fr
+lang = fr-FR
+ext_description = WOT vous renseigne les sites Web fiables, sur la base de l'expérience de millions d'utilisateurs à travers le monde.
+components_0 = Crédibilité
+components_4 = Sécurité des mineurs
+components__short_0 = Crédibilité
+components__short_4 = Sécurité mineurs
+reputationlevels_r0 = Inconnu
+reputationlevels_r1 = Très mauvais
+reputationlevels_r2 = Mauvais
+reputationlevels_r3 = Médiocre
+reputationlevels_r4 = Bon
+reputationlevels_r5 = Excellent
+messages_initializing = Initialisation de WOT…
+messages_notready = Activation de WOT…
+messages_failed = Le chargement des évaluations a échoué.
+messages_notavailable = Aucune évaluation n'est disponible.
+messages_loading = Chargement des évaluations…
+ratingwindow_settings = Paramètres
+ratingwindow_guide = Tour
+ratingwindow_forum = Forum
+ratingwindow_profile = Mon profil
+ratingwindow_wotrating = Réputation du site web sur base des avis des utilisateurs
+ratingwindow_myrating = Mon évaluation
+ratingwindow_viewscorecard = Afficher les détails et les commentaires
+ratingwindow_addcomment = Ajouter un commentaire
+ratingwindow_editcomment = Modifier le commentaire
+ratingwindow_backtoratings = Revenir aux avis
+ratingwindow_backtoratings_category = Choisir une catégorie
+ratingwindow_newversion = Nouvelle version disponible : cliquez ici pour actualiser
+ratingwindow_invite_rw = Vous pouvez évaluer des sites web avec cet outil. Cliquez sur les barres colorées pour exprimer à quel point vous faites confiance à un site.
+warnings_information = Afficher les détails et les commentaires
+warnings_ratesite = Si vous faites confiance à ce site, veuillez <a>l'évaluer</a>
+warnings_reratesite = <a>Cliquez ici</a> si vous voulez ré-évaluer le site
+warnings_reputation = Ce site a mauvaise réputation
+warnings_rating = Vous avez attribué à ce site une mauvaise<br/>évaluation ayant déclenché une alerte
+warnings_unknown = Ce site présente une évaluation inconnue
+warnings_warning = Attention!
+warnings_goto = Entrer sur le site
+warnings_leave = Quitter
+warnings_back = Reculer
+warnings_reasontitle = Les utilisateurs ont identifié les problèmes suivants
+warnings_othersreasontitle = Opinion des autres utilisateurs
+warnings_noreasontitle = Les utilisateurs n'ont pas encore identifié ce site et l'on seulement évalué
+contextmenu_open_scorecard = Ouvrir la fiche de score WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>En apprendre davantage</a> sur WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p></p>La nouvelle version de WOT a été ajoutée à votre navigateur. <p>Commencez à évaluer des sites web en cliquant sur cet icône. {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, j'ai compris
+wt_warning_text = <p>WOT vous prévient si vous naviguez sur un site qui a une mauvaise réputation sur base de l'avis d'autres utilisateurs ou de listes noires de tiers.</p><p>L'avertissement vous montre également la raison derrière cette mauvaise réputation.</p><p>{WT_LEARNMORE}</p><p>Si vous ne voulez pas voir les avertissements, vous pouvez les désactiver.</p>
+wt_warning_turnoff = Désactiver les avertissements
+wt_warning_ok = OK, j'ai compris
+wt_rw_text_hdr = Partagez votre expérience !
+wt_rw_text = <p>La fenêtre d'évaluation de WOT vous montre la réputation du site web sur base des avis des utilisateurs.</p><p>Vous pouvez à présent donner votre avis et commenter directement depuis cette fenêtre mise à jour. Commencez à donner votre avis en cliquant sur les barres colorées.</p><p class='wot-c'><a id='wt-learnmore-link'>En apprendre davantage</a> sur WOT.</p>
+wt_donut_msg = <p>WOT vous montre la réputation des sites web sur la base de l'avis d'autres utilisateurs en affichant des icônes sous forme de feux de signalisation.</p><p>Déplacez votre souris sur l'icône pour voir les réputations et les raisons derrière celles-ci.</p>
+wt_donut_btn = OK, j'ai compris
+fbl_hideforever = Toujours cacher
+fbl_submit = Soumettre
+fbl_whatisthis = Qu'est-ce que c'est ?
+fbl_optout_text = Si vous ne voulez que l'on vous pose des questions, cliquez sur « oui »
+fbl_optout_yes = oui
+fbl_optout_no = Non
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>WOT</a> s'engage à garantir une navigation sur internet sécurisée à des millions d'utilisateurs à travers le monde. Vous pouvez y contribuer en donnant votre opinion à chaque fois que cette fenêtre s'affiche.
+fbl_final = Merci !
+fbl_this_website = ce site web
+fbl_dismiss = rejeter
+ratingwindow_question0 = Faites-vous confiance à ce site ?
+ratingwindow_question4 = Ce site est-il adapté aux enfants ?
+ratingwindow_categories = Choisissez au moins une catégorie associée à votre avis
+ratingwindow_comment = Laissez un commentaire pour décrire votre expérience avec ce site
+ratingwindow_comment_placeholder = écrivez votre commentaire ici...
+ratingwindow_comment_regtext = Vous devez créer un compte pour publier un commentaire.
+ratingwindow_comment_register = Créez un compte maintenant
+ratingwindow_comment_captchatext = Vous devez saisir le code sur la fiche de score pour publier votre commentaire.
+ratingwindow_comment_captchalink = Ouvrir la fiche de score maintenant
+ratingwindow_commenthints = <p>Soyez précis</p><p>Donnez des preuves ou des exemples</p><p>Commentez en fonction de vos vraies expériences</p><p>Ne faites pas de spam</p>
+ratingwindow_novoted = Cliquez ici pour associer une raison à votre évaluation en choisissant une catégorie
+ratingwindow_morecats = plus
+ratingwindow_rerate_change = modifier
+ratingwindow_rerate_category =
+ratingwindow_fulllist = afficher la liste complète
+ratingwindow_vote_yes = Oui
+ratingwindow_vote_no = Non
+messages_ready = réputation de
+testimony_0_levels_r0 = Cliquez pour évaluer
+testimony_0_levels_r1 = Pas fiable
+testimony_0_levels_r2 = Pas fiable
+testimony_0_levels_r3 = c'est suspect
+testimony_0_levels_r4 = Fiable
+testimony_0_levels_r5 = Fiable
+testimony_4_levels_r0 = Cliquez pour évaluer
+testimony_4_levels_r1 = pas adapté
+testimony_4_levels_r2 = pas adapté
+testimony_4_levels_r3 = soyez prudent
+testimony_4_levels_r4 = adapté
+testimony_4_levels_r5 = adapté
+testimony_unrated = sans avis
+testimony_delete = supprimer
+buttons_delete = supprimer avis
+buttons_delete_title = Supprimer mes avis et catégories pour le site web
+buttons_cancel = Annuler
+buttons_save = Sauvegarder
+buttons_ok = OK
+popup_headertext = cliquez pour afficher les détails
+popup_nocattext = partager votre opinion concernant ce site
+ratingwindow_thankyou = Merci de partager votre expérience !
+activityscore_text = Votre score d'activité est maintenant
+activityscore_rookie = débutant
+activityscore_bronze = bronze
+activityscore_silver = argent
+activityscore_gold = or
+activityscore_platinum = platine
+activityscore_next = Continuez à évaluer pour atteindre le niveau {NEXT_LEVEL} !
+bl_description = Ce site web se trouve sur la liste noire d'un tiers
+bl_description_pl = Ce site web se trouve sur le liste noire de plusieurs tiers
+bl_information = WOT utilise des listes noires de tiers pour prévenir les utilisateurs de menaces techniques telles que des virus et des logiciels malveillants. <a>Continuer à lire</a>
+bl_malware = Logiciel malveillant
+bl_phishing = Hameçonnage
+bl_scam = Escroquerie
+bl_spam = Pourriel
+bl_tracking = Traçage
+bl_other = Autre raison
+warning_button = Évaluation détaillée
+warnings_message_rating = vous avez attribué à ce site une mauvaise évaluation.
+warnings_message_reputation = ce site a mauvaise réputation.
+messages_offline = Désactivé si le navigateur est hors connexion.
+messages_disabled = Vous avez désactivé le composant additionnel
+auto_update_title = Mise à jour de WOT
+auto_update_button_yes = Mettre à jour maintenant
+description_restart = Redémarrez le navigateur pour activer WOT.
+messages_error_register = L'activation du composant additionnel a échoué.
+warning = Alerte WOT : %S
+description_uninstall = WOT sera désinstallé au redémarrage.
+warnings_blocked = Contenu bloqué
+auto_update_check = Activer les mises à jour automatiques (recommandé)
+auto_update_button_no = Me le rappeler plus tard
+auto_update_message = Une nouvelle version de WOT est disponible. Souhaitez-vous mettre à jour votre composant additionnel ?
diff --git a/chrome/wot.jar!/locale/it-IT/loading.html b/chrome/wot.jar!/locale/it-IT/loading.html
index 1b560d6..2157946 100644
--- a/chrome/wot.jar!/locale/it-IT/loading.html
+++ b/chrome/wot.jar!/locale/it-IT/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: caricamento sito Web in corso…</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Caricamento sito Web</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: caricamento sito Web in corso…</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Caricamento sito Web</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/it-IT/wot.dtd b/chrome/wot.jar!/locale/it-IT/wot.dtd
index a423280..e8854a1 100644
--- a/chrome/wot.jar!/locale/it-IT/wot.dtd
+++ b/chrome/wot.jar!/locale/it-IT/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Attivato">
-<!ENTITY wotEnabled.accesskey "A">
-<!ENTITY wotRefresh.label "Aggiorna">
-<!ENTITY wotRefresh.accesskey "r">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Eccellente">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Soddisfacente">
-<!ENTITY wotTestify4.accesskey "S">
-<!ENTITY wotTestify3.label "Insoddisfacente">
-<!ENTITY wotTestify3.accesskey "I">
-<!ENTITY wotTestify2.label "Scadente">
-<!ENTITY wotTestify2.accesskey "c">
-<!ENTITY wotTestify1.label "Molto scadente">
-<!ENTITY wotTestify1.accesskey "M">
-<!ENTITY wotPreferences.label "Impostazioni…">
-<!ENTITY wotPreferences.accesskey "o">
-<!ENTITY wotMy.label "WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Controlla aggiornamenti…">
-<!ENTITY wotCheckUpdates.accesskey "n">
-<!ENTITY wotLinkScorecard.label "Visualizza scheda di valutazione WOT…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Inizializzazione WOT in corso…">
-<!ENTITY wotRating.wot "Valutazione WOT">
-<!ENTITY wotRating.my "Valutazione personale">
-<!ENTITY wotRating.app0 "Attendibilità:">
-<!ENTITY wotRating.app1 "Affidabilità fornitore:">
-<!ENTITY wotRating.app2 "Riservatezza:">
-<!ENTITY wotRating.app4 "Sicurezza per i bambini:">
-<!ENTITY wotRating.scorecard "Visualizza dettagli scheda di valutazione">
-<!ENTITY wotRating.comment "Aggiungi un commento">
-<!ENTITY wotRating.guide "Guida">
-<!ENTITY wotRating.prefs "Impostazioni">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "In collaborazione con">
-<!ENTITY wotRating.update "Nuova versione disponibile: fare clic per l'aggiornamento">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Attivato">
+<!ENTITY wotEnabled.accesskey "A">
+<!ENTITY wotRefresh.label "Aggiorna">
+<!ENTITY wotRefresh.accesskey "r">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Impostazioni…">
+<!ENTITY wotPreferences.accesskey "o">
+<!ENTITY wotMy.label "WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Controlla aggiornamenti…">
+<!ENTITY wotCheckUpdates.accesskey "n">
+<!ENTITY wotLinkScorecard.label "Visualizza scheda di valutazione WOT…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Inizializzazione WOT in corso…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/it-IT/wot.properties b/chrome/wot.jar!/locale/it-IT/wot.properties
index 779a526..992f7d5 100644
--- a/chrome/wot.jar!/locale/it-IT/wot.properties
+++ b/chrome/wot.jar!/locale/it-IT/wot.properties
@@ -1,57 +1,136 @@
-language = it-IT
-auto_update_title = Aggiornamento WOT
-auto_update_message = Nuova versione disponibile. Aggiornare componente aggiuntivo?
-auto_update_check = Attiva aggiornamenti automatici (consigliato)
-auto_update_button_yes = Aggiorna ora
-auto_update_button_no = Visualizza in seguito
-description_disabled = Componente aggiuntivo disattivato.
-description_error_query = Impossibile caricare le valutazioni.
-description_error_register = Impossibile attivare il componente aggiuntivo.
-description_inprogress = Caricamento valutazioni in corso…
-description_notready = Attivazione WOT in corso…
-description_offline = Disattivato quando è chiuso il browser.
-description_private = Valutazioni non disponibili.
-description_rating_5 = Eccellente
-description_rating_4 = Soddisfacente
-description_rating_3 = Insoddisfacente
-description_rating_2 = Scadente
-description_rating_1 = Molto scadente
-description_rating_0 = Valutazioni insufficienti per questo sito
-description_restart = Riavviare il browser per attivare WOT.
-description_uninstall = WOT verrà disinstallato dopo il riavvio.
-help_0 =
-help_1 = Molto scadente
-help_2 = Scadente
-help_3 = Insoddisfacente
-help_4 = Soddisfacente
-help_5 = Eccellente
-help_comment =
-help_comment_link = Lasciare un commento?
-warning = Avviso WOT: %S
-warning_warning = Avviso!
-warning_blocked = Bloccato
-warning_button = Dettagli sulle valutazioni
-warning_message_normal = questo sito ha una reputazione scadente.
-warning_message_userrated = hai dato a questo sito una valutazione scadente.
-warning_message_unknown = questo sito ha una valutazione sconosciuta.
-warning_info = Visualizza dettagli valutazione e commenti
-warning_rate = Questo sito è sicuro - <a>Do valutazione</a>
-warning_goto = Vai al sito
-warning_leave = Lascia il sito
-warning_back = Torna indietro
-warning_desc_normal = Questo sito ha una reputazione scadente
-warning_desc_userrated = La valutazione scadente assegnata al sito ha generato un avviso
-warning_desc_unknown = Questo sito ha una valutazione sconosciuta
-rating_0 = Attendibilità
-rating_1 = Affidabilità fornitore
-rating_2 = Riservatezza
-rating_4 = Sicurezza per i bambini
-popup_0 = Attendibilità
-popup_1 = Affidabilità fornitore
-popup_2 = Riservatezza
-popup_4 = Sicurezza bambini
-user_score_title = Punteggio attività personale
-user_score_mypage = Visualizza pagina personale
-user_score_register = Registrati adesso
-user_score_improve = Migliora il punteggio di attività personale valutando nuovi siti.
-user_score_top = Sei tra i %S utenti più attivi.
+locale = it
+lang = it-IT
+ext_description = WOT mostra quali siti Web possono essere considerati attendibili in base all'esperienza di milioni di utenti in tutto il mondo.
+components_0 = Attendibilità
+components_4 = Sicurezza per i bambini
+components__short_0 = Attendibilità
+components__short_4 = Sicurezza bambini
+reputationlevels_r0 = Sconosciuto
+reputationlevels_r1 = Molto scadente
+reputationlevels_r2 = Scadente
+reputationlevels_r3 = Insoddisfacente
+reputationlevels_r4 = Soddisfacente
+reputationlevels_r5 = Eccellente
+messages_initializing = Inizializzazione WOT in corso…
+messages_notready = Attivazione WOT in corso…
+messages_failed = Impossibile caricare le valutazioni.
+messages_notavailable = Valutazioni non disponibili.
+messages_loading = Caricamento valutazioni in corso…
+ratingwindow_settings = Impostazioni
+ratingwindow_guide = Tour
+ratingwindow_forum = Forum
+ratingwindow_profile = Il mio profilo
+ratingwindow_wotrating = Reputazione del sito web in base alle valutazioni degli utenti
+ratingwindow_myrating = Valutazione personale
+ratingwindow_viewscorecard = Visualizza dettagli e commenti
+ratingwindow_addcomment = Aggiungi un commento
+ratingwindow_editcomment = Modifica il commento
+ratingwindow_backtoratings = Torna alle valutazioni
+ratingwindow_backtoratings_category = Seleziona una categoria
+ratingwindow_newversion = Nuova versione disponibile: fare clic per l'aggiornamento
+ratingwindow_invite_rw = Puoi valutare i siti web utilizzando questo strumento. Fai clic sulle barre colorate per esprimere quanto ti fidi di un sito web.
+warnings_information = Visualizza dettagli e commenti
+warnings_ratesite = Se ti fidi di questo sito, <a>valutalo</a>
+warnings_reratesite = <a>Clicca qui</a> se desideri rivalutare il sito
+warnings_reputation = Questo sito ha una reputazione scadente
+warnings_rating = La valutazione scadente assegnata al<br/>sito ha generato un avviso
+warnings_unknown = Questo sito ha una valutazione sconosciuta
+warnings_warning = Avviso!
+warnings_goto = Vai al sito
+warnings_leave = Esci
+warnings_back = Torna indietro
+warnings_reasontitle = Gli utenti hanno individuato i seguenti problemi
+warnings_othersreasontitle = Opinioni di altri utenti
+warnings_noreasontitle = Gli utenti non hanno ancora classificato questo sito e lo hanno soltanto valutato
+contextmenu_open_scorecard = Apri scheda di valutazione WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>Ulteriori informazioni</a> su WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Il nuovo WOT è stato aggiunto al tuo browser.</p><p>Inizia a valutare i siti Web facendo clic su questa icona {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, ho capito
+wt_warning_text = <p>WOT ti avverte quando visiti un sito con una scarsa reputazione in base all'esperienza di altri utenti o alle liste nere di terze parti. L'avviso indica anche le ragioni della scarsa reputazione.</p><p>{WT_LEARNMORE}</p><p>Se non desideri visualizzare gli avvisi, puoi disattivarli.</p>
+wt_warning_turnoff = Disattiva gli avvisi
+wt_warning_ok = OK, ho capito
+wt_rw_text_hdr = Condividi la tua esperienza!
+wt_rw_text = <p>La finestra di valutazione di WOT ti mostra la reputazione del sito Web in base all'esperienza di altri utenti. Ora puoi valutare e commentare direttamente dalla finestra aggiornata. Inizia a valutare facendo clic sulle barre colorate.</p><p class='wot-c'><a id='wt-learnmore-link'>Ulteriori informazioni</a> su WOT.</p>
+wt_donut_msg = <p>WOT ti mostra le reputazioni dei siti Web in base all'esperienza di altri utenti mostrandoti delle icone simili a un semaforo.</p><p>Posiziona il puntatore del mouse sull'icona per vedere le reputazioni e le ragioni per cui sono state date.</p>
+wt_donut_btn = OK, ho capito
+fbl_hideforever = Non mostrare mai più
+fbl_submit = Invia
+fbl_whatisthis = Cosa è questo?
+fbl_optout_text = Se preferisci che non ti vengano fatte domande, clicca "sì"
+fbl_optout_yes = sì
+fbl_optout_no = No
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> sta lavorando per promuovere la sicurezza e la qualità in tutto il web per milioni di utenti. Puoi aiutare inviando le tue opinioni ogni volta che vedi questo messaggio.
+fbl_final = Grazie!
+fbl_this_website = questo sito web
+fbl_dismiss = abbandona
+ratingwindow_question0 = Quanto ti fidi di questo sito?
+ratingwindow_question4 = Quanto questo sito è adatto ai bambini?
+ratingwindow_categories = Scegli almeno una categoria per sostenere il tuo voto
+ratingwindow_comment = Lascia un commento per descrivere la tua esperienza con questo sito
+ratingwindow_comment_placeholder = scrivi il tuo commento qui...
+ratingwindow_comment_regtext = Hai bisogno di avere un account per pubblicare il tuo commento.
+ratingwindow_comment_register = Crea un account adesso
+ratingwindow_comment_captchatext = È necessario inserire il captcha sulla scheda di valutazione per pubblicare il tuo commento.
+ratingwindow_comment_captchalink = Apri la scheda di valutazione adesso
+ratingwindow_commenthints = <p>Sii preciso/a</p><p>Fornisci prove o esempi</p><p>Commenta in base alle tue esperienze concrete</p><p>Non fare spam</p>
+ratingwindow_novoted = Clicca qui per fornire una ragione del tuo voto selezionando una categoria
+ratingwindow_morecats = di più
+ratingwindow_rerate_change = cambia
+ratingwindow_rerate_category =
+ratingwindow_fulllist = lista completa
+ratingwindow_vote_yes = Sì
+ratingwindow_vote_no = No
+messages_ready = Reputazione di
+testimony_0_levels_r0 = per valutare clicca sulla barra
+testimony_0_levels_r1 = Non mi fido
+testimony_0_levels_r2 = Non mi fido
+testimony_0_levels_r3 = È sospetto
+testimony_0_levels_r4 = Mi fido
+testimony_0_levels_r5 = Mi fido
+testimony_4_levels_r0 = per valutare clicca sulla barra
+testimony_4_levels_r1 = non adatto
+testimony_4_levels_r2 = non adatto
+testimony_4_levels_r3 = siate prudenti
+testimony_4_levels_r4 = adatto
+testimony_4_levels_r5 = adatto
+testimony_unrated = nessuna opinione
+testimony_delete = cancella
+buttons_delete = Rimuovi valutazioni
+buttons_delete_title = Rimuovi le mie valutazioni e categorie per il sito
+buttons_cancel = Annulla
+buttons_save = Salva
+buttons_ok = OK
+popup_headertext = clicca per vedere i dettagli
+popup_nocattext = condividi la tua opinione a proposito di questo sito
+ratingwindow_thankyou = Grazie per aver condiviso la tua esperienza!
+activityscore_text = Il tuo punteggio di attività ora è
+activityscore_rookie = recluta
+activityscore_bronze = bronzo
+activityscore_silver = argento
+activityscore_gold = oro
+activityscore_platinum = platino
+activityscore_next = Continua a valutare per raggiungere il livello {NEXT_LEVEL}!
+bl_description = Questo sito web appare in una lista nera di terze parti
+bl_description_pl = Questo sito web appare in liste nere di terze parti
+bl_information = WOT utilizza liste nere di terze parti per mettere in guardia gli utenti su minacce come virus e malware. <a>Leggi tutto</a>
+bl_malware = Malware
+bl_phishing = Phishing
+bl_scam = Truffa
+bl_spam = SPAM
+bl_tracking = Monitoraggio
+bl_other = Altri motivi
+warning_button = Dettagli sulla valutazione
+warnings_message_rating = hai dato a questo sito una valutazione scadente.
+warnings_message_reputation = questo sito ha una reputazione scadente.
+messages_offline = Disattivato quando è chiuso il browser.
+messages_disabled = Componente aggiuntivo disattivato
+auto_update_title = Aggiornamento WOT
+auto_update_button_yes = Aggiorna ora
+description_restart = Riavviare il browser per attivare WOT.
+messages_error_register = Impossibile attivare il componente aggiuntivo.
+warning = Avviso WOT: %S
+description_uninstall = WOT verrà disinstallato dopo il riavvio.
+warnings_blocked = Bloccato
+auto_update_check = Attiva aggiornamenti automatici (consigliato)
+auto_update_button_no = Visualizza in seguito
+auto_update_message = Nuova versione disponibile. Aggiornare componente aggiuntivo?
diff --git a/chrome/wot.jar!/locale/ja-JP/loading.html b/chrome/wot.jar!/locale/ja-JP/loading.html
index 96849a0..3bbcbbd 100644
--- a/chrome/wot.jar!/locale/ja-JP/loading.html
+++ b/chrome/wot.jar!/locale/ja-JP/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Webサイトを読み込んでいます…</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Webサイトを読み込んでいます</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Webサイトを読み込んでいます…</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Webサイトを読み込んでいます</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/ja-JP/wot.dtd b/chrome/wot.jar!/locale/ja-JP/wot.dtd
index b6fdf66..9283940 100644
--- a/chrome/wot.jar!/locale/ja-JP/wot.dtd
+++ b/chrome/wot.jar!/locale/ja-JP/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "有効化">
-<!ENTITY wotEnabled.accesskey "n">
-<!ENTITY wotRefresh.label "更新">
-<!ENTITY wotRefresh.accesskey "R">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "非常に優れている">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "良い">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "満足できない">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "悪い">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "非常に悪い">
-<!ENTITY wotTestify1.accesskey "V">
-<!ENTITY wotPreferences.label "設定…">
-<!ENTITY wotPreferences.accesskey "S">
-<!ENTITY wotMy.label "My WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "変更の確認…">
-<!ENTITY wotCheckUpdates.accesskey "C">
-<!ENTITY wotLinkScorecard.label "WOTスコアカードを表示…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "WOTを初期化しています…">
-<!ENTITY wotRating.wot "WOT格付け">
-<!ENTITY wotRating.my "自分の評価">
-<!ENTITY wotRating.app0 "信頼性:">
-<!ENTITY wotRating.app1 "業者の信頼度:">
-<!ENTITY wotRating.app2 "プライバシー:">
-<!ENTITY wotRating.app4 "子供の安全:">
-<!ENTITY wotRating.scorecard "スコアカードで格付けの詳細を見る">
-<!ENTITY wotRating.comment "コメントを追加してください">
-<!ENTITY wotRating.guide "ガイド">
-<!ENTITY wotRating.prefs "設定">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "提携パートナー:">
-<!ENTITY wotRating.update "新バージョンを利用できます-クリックして更新">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "有効化">
+<!ENTITY wotEnabled.accesskey "n">
+<!ENTITY wotRefresh.label "更新">
+<!ENTITY wotRefresh.accesskey "R">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "設定…">
+<!ENTITY wotPreferences.accesskey "S">
+<!ENTITY wotMy.label "My WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "変更の確認…">
+<!ENTITY wotCheckUpdates.accesskey "C">
+<!ENTITY wotLinkScorecard.label "WOTスコアカードを表示…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "WOTを初期化しています…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/ja-JP/wot.properties b/chrome/wot.jar!/locale/ja-JP/wot.properties
index 317eb4b..cc709ab 100644
--- a/chrome/wot.jar!/locale/ja-JP/wot.properties
+++ b/chrome/wot.jar!/locale/ja-JP/wot.properties
@@ -1,57 +1,136 @@
-language = ja-JP
-auto_update_title = WOTの更新
-auto_update_message = WOTの新バージョンをご利用いただけます。 お使いのアドオンを更新しますか?
-auto_update_check = 自動更新を有効にする(推奨)
-auto_update_button_yes = 今すぐ更新する
-auto_update_button_no = 後で確認する
-description_disabled = アドオンが無効化されました。有効にするにはクリックしてください。
-description_error_query = 格付けを読み込めませんでした。後ほど再試行してください。
-description_error_register = アドオンを有効化できませんでした。後ほど再試行してください。
-description_inprogress = 格付けを読み込んでいます…
-description_notready = WOTを有効化しています…
-description_offline = ブラウザーのオフライン中に無効化されました。
-description_private = 格付けをご利用いただけません。
-description_rating_5 = 非常に優れている
-description_rating_4 = 良い
-description_rating_3 = 満足できない
-description_rating_2 = 悪い
-description_rating_1 = 非常に悪い
-description_rating_0 = このサイトにはまだ十分な評価がありません。
-description_restart = WOTを有効化するには、ブラウザーを再起動してください。
-description_uninstall = 再起動後にWOTがアンインストールされます。
-help_0 =
-help_1 = 非常に悪い
-help_2 = 悪い
-help_3 = 満足できない
-help_4 = 良い
-help_5 = 非常に優れている
-help_comment =
-help_comment_link = コメントを投稿しますか?
-warning = WOTからの警告: %S
-warning_blocked = ブロックされました
-warning_warning = 警告!
-warning_button = 詳しい評価
-warning_message_normal = 評価の低いサイトです。
-warning_message_userrated = あなたはこのサイトを低く評価しています。
-warning_message_unknown = 評価が不明なサイトです。
-warning_info = 詳しい評価とコメントを見る
-warning_rate = このサイトは安全です - <a>評価を行います</a>
-warning_goto = このサイトを開く
-warning_leave = このサイトを閉じる
-warning_back = 戻る
-warning_desc_normal = 評価の低いサイトです
-warning_desc_userrated = このサイトに対するあなたの評価が低いために、警告が表示されました
-warning_desc_unknown = 評価が不明なサイトです
-rating_0 = 信頼性
-rating_1 = 業者の信頼度
-rating_2 = プライバシー
-rating_4 = 子供の安全
-popup_0 = 信頼性
-popup_1 = 業者の信頼度
-popup_2 = プライバシー
-popup_4 = 子供の安全
-user_score_title = アクティビティスコア
-user_score_mypage = マイページを表示
-user_score_register = 今すぐ登録
-user_score_improve = 新しいサイトを評価しアクティビティスコアをアップ
-user_score_top = あなたは最もアクティブなユーザー上位%S人にランクインしています。
+locale = ja
+lang = ja-JP
+ext_description = WOTは、世界中の数百万人ものユーザーの体験に基づいて信頼できるWebサイトを示します。WOTは、高速で使いやすく、完全に無料です。
+components_0 = 信頼性
+components_4 = 子供の安全
+components__short_0 = 信頼性
+components__short_4 = 子供の安全
+reputationlevels_r0 = 確認できません
+reputationlevels_r1 = 非常に悪い
+reputationlevels_r2 = 悪い
+reputationlevels_r3 = 満足できない
+reputationlevels_r4 = 良い
+reputationlevels_r5 = 非常に優れている
+messages_initializing = WOTを初期化しています…
+messages_notready = WOTを有効化しています…
+messages_failed = 格付けを読み込めませんでした。後ほど再試行してください。
+messages_notavailable = 格付けをご利用いただけません。
+messages_loading = 格付けを読み込んでいます…
+ratingwindow_settings = 設定
+ratingwindow_guide = ツアー
+ratingwindow_forum = フォーラム
+ratingwindow_profile = プロフィール
+ratingwindow_wotrating = ユーザー評価によるサイトの評判
+ratingwindow_myrating = 自分の評価
+ratingwindow_viewscorecard = 詳細とコメントを見る
+ratingwindow_addcomment = コメントする
+ratingwindow_editcomment = コメントを編集
+ratingwindow_backtoratings = 評価に戻る
+ratingwindow_backtoratings_category = カテゴリーを選択
+ratingwindow_newversion = 新バージョンを利用できます-クリックして更新
+ratingwindow_invite_rw = このツールでサイトを評価できます。カラーバーをクリックしてサイトの信用度を評価して下さい。
+warnings_information = 詳細とコメントを見る
+warnings_ratesite = このサイトが信用できる場合、<a>評価する</a>
+warnings_reratesite = サイトを再評価するには<a>ここをクリック</a>
+warnings_reputation = 評価の低いサイトです
+warnings_rating = このサイトに対するあなたの評価が低いために、<br/>警告が表示されました
+warnings_unknown = 評価が不明なサイトです
+warnings_warning = 警告!
+warnings_goto = このサイトを開く
+warnings_leave = 終了
+warnings_back = 戻る
+warnings_reasontitle = ユーザーがあげた問題
+warnings_othersreasontitle = 他のユーザーの意見
+warnings_noreasontitle = このサイトはユーザーには未確認ですが評価のみがあります
+contextmenu_open_scorecard = WOTスコアカードを開く
+wt_learnmore_link = WOTについて<a id='wt-learnmore-link'>詳しく見る</a>
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>新しいWOTがあなたのブラウザに追加されました。</p><p>このアイコンをクリックしてウェブサイトの評価を始める {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK、了解です
+wt_warning_text = <p>WOTは他のユーザ評価に基づく悪い評判もしくは第三者からブラックリスト扱いにされたページがあると警告を発します。その警告は、悪い評判の理由についてもお示しします。</p><p>{WT_LEARNMORE}</p><p>警告を表示したくない時はオフにできます。</p>
+wt_warning_turnoff = 警告をオフにする
+wt_warning_ok = OK、了解です
+wt_rw_text_hdr = 情報を共有しましょう!
+wt_rw_text = <p>WOT評価のウインドウは、他のユーザの経験に基づくウェブサイトの評判を示しています。アップデートされたウインドウから直接、評価やコメントをすることができます。 色の付いたバーをクリックして評価を始めてください。</p><p class='wot-c'>WOTについて<a id='wt-learnmore-link'>詳細を見る</a></p>
+wt_donut_msg = <p>WOTは、信号のようなアイコンを示すことで他のユーザの経験に基づくウェブサイトの評価を示します。</p><p>評判とその理由を見るためにアイコンの上にマウスをさまよわせる。</p>
+wt_donut_btn = OK、了解です
+fbl_hideforever = 二度と表示しない
+fbl_submit = 送信
+fbl_whatisthis = これは何?
+fbl_optout_text = 質問がいらない場合「はい」をクリックして下さい。
+fbl_optout_yes = はい
+fbl_optout_no = いいえ
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a>は、数百万のユーザーのためネットの安全と品質を推進しています。この表示が出たらあなたもコメントを送って貢献することができます。
+fbl_final = ありがとうございます!
+fbl_this_website = このウェブサイト
+fbl_dismiss = 取り下げる
+ratingwindow_question0 = このサイトの評価は?
+ratingwindow_question4 = このサイトは子ども向けですか?
+ratingwindow_categories = カテゴリーを最低一つ選択して下さい
+ratingwindow_comment = このサイトの感想をコメントして下さい
+ratingwindow_comment_placeholder = ここにコメントを書いて下さい…
+ratingwindow_comment_regtext = コメント公開にはアカウントが必要です。
+ratingwindow_comment_register = アカウントを開く
+ratingwindow_comment_captchatext = コメントを公開するにはスコアカードにキャプチャを入力して下さい。
+ratingwindow_comment_captchalink = スコアカードを開く
+ratingwindow_commenthints = <p>正確にお願いします</p><p>証拠かサンプルを出して下さい</p><p>あなたの実際の感想に基づいてコメントして下さい</p>スパム禁止
+ratingwindow_novoted = ここをクリックしてカテゴリーを選択し、評価の理由をあげる
+ratingwindow_morecats = 次へ
+ratingwindow_rerate_change = 変更
+ratingwindow_rerate_category =
+ratingwindow_fulllist = 全リスト
+ratingwindow_vote_yes = はい
+ratingwindow_vote_no = いいえ
+messages_ready = の評価
+testimony_0_levels_r0 = バーをクリックして評価する
+testimony_0_levels_r1 = 信頼しない
+testimony_0_levels_r2 = 信頼しない
+testimony_0_levels_r3 = 疑わしい
+testimony_0_levels_r4 = 信頼する
+testimony_0_levels_r5 = 信頼する
+testimony_4_levels_r0 = バーをクリックして評価する
+testimony_4_levels_r1 = ふさわしくない
+testimony_4_levels_r2 = ふさわしくない
+testimony_4_levels_r3 = 要注意
+testimony_4_levels_r4 = ふさわしい
+testimony_4_levels_r5 = ふさわしい
+testimony_unrated = 意見はない
+testimony_delete = 削除
+buttons_delete = 評価を削除
+buttons_delete_title = サイトの評価とカテゴリーを削除
+buttons_cancel = キャンセル
+buttons_save = 保存
+buttons_ok = OK
+popup_headertext = クリックして詳細を見る
+popup_nocattext = このサイトについて意見を公開する
+ratingwindow_thankyou = 感想をお送りいただき感謝します!
+activityscore_text = 現在のアクティビティ・スコア
+activityscore_rookie = ルーキー
+activityscore_bronze = ブロンズ
+activityscore_silver = シルバー
+activityscore_gold = ゴールド
+activityscore_platinum = プラチナ
+activityscore_next = {NEXT_LEVEL}レベル目指してもっと評価しよう!
+bl_description = このサイトは他社のブラックリストにあります
+bl_description_pl = このサイトは他社のブラックリストにあります
+bl_information = WOTは、ウィルスやマルウェアなどの脅威をユーザーに警告するため他社のブラックリストを利用しています。<a>詳細</a>
+bl_malware = マルウェア
+bl_phishing = フィッシング
+bl_scam = 詐欺
+bl_spam = スパム
+bl_tracking = トラッキング
+bl_other = その他の理由
+warning_button = 詳しい評価
+warnings_message_rating = あなたはこのサイトを低く評価しています。
+warnings_message_reputation = 評価の低いサイトです。
+messages_offline = ブラウザーのオフライン中に無効化されました。
+messages_disabled = アドオンが無効化されました
+auto_update_title = WOTの更新
+auto_update_button_yes = 今すぐ更新する
+description_restart = WOTを有効化するには、ブラウザーを再起動してください。
+messages_error_register = アドオンを有効化できませんでした。後ほど再試行してください。
+warning = WOTからの警告: %S
+description_uninstall = 再起動後にWOTがアンインストールされます。
+warnings_blocked = ブロックされました
+auto_update_check = 自動更新を有効にする(推奨)
+auto_update_button_no = 後で確認する
+auto_update_message = WOTの新バージョンをご利用いただけます。 お使いのアドオンを更新しますか?
diff --git a/chrome/wot.jar!/locale/ko-KR/loading.html b/chrome/wot.jar!/locale/ko-KR/loading.html
index 530c2d9..3cb53a7 100644
--- a/chrome/wot.jar!/locale/ko-KR/loading.html
+++ b/chrome/wot.jar!/locale/ko-KR/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: 사이트를 로딩하는 중...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">사이트 로딩 중</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: 사이트를 로딩하는 중...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">사이트 로딩 중</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/ko-KR/wot.dtd b/chrome/wot.jar!/locale/ko-KR/wot.dtd
index 5670ba2..783a1d1 100644
--- a/chrome/wot.jar!/locale/ko-KR/wot.dtd
+++ b/chrome/wot.jar!/locale/ko-KR/wot.dtd
@@ -6,16 +6,6 @@
<!ENTITY wotRefresh.accesskey "R">
<!ENTITY wotContent.label "WOT">
<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "매우 좋음">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "좋음">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "불만족">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "나쁨">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "매우 나쁨">
-<!ENTITY wotTestify1.accesskey "V">
<!ENTITY wotPreferences.label "설정…">
<!ENTITY wotPreferences.accesskey "S">
<!ENTITY wotMy.label "나의 WOT…">
@@ -25,17 +15,4 @@
<!ENTITY wotLinkScorecard.label "WOT 평가지수 보기…">
<!ENTITY wotLinkScorecard.accesskey "s">
<!-- Rating window -->
-<!ENTITY wotRating.title "WOT 초기화…">
-<!ENTITY wotRating.wot "WOT 평가">
-<!ENTITY wotRating.my "나의 평가">
-<!ENTITY wotRating.app0 "신뢰성:">
-<!ENTITY wotRating.app1 "업체 안전성:">
-<!ENTITY wotRating.app2 "개인정보 보호:">
-<!ENTITY wotRating.app4 "어린이 안전성:">
-<!ENTITY wotRating.scorecard "평가 지수 보기">
-<!ENTITY wotRating.comment "후기 쓰기">
-<!ENTITY wotRating.guide "가이드">
-<!ENTITY wotRating.prefs "설정">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "In partnership with">
-<!ENTITY wotRating.update "최신 버전이 확인되었습니다 - 업데이트하시려면 클릭하세요">
+<!ENTITY wotRating.title "WOT 초기화…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/ko-KR/wot.properties b/chrome/wot.jar!/locale/ko-KR/wot.properties
index 8f7e8cf..a826f73 100644
--- a/chrome/wot.jar!/locale/ko-KR/wot.properties
+++ b/chrome/wot.jar!/locale/ko-KR/wot.properties
@@ -1,57 +1,136 @@
-language = ko-KR
-auto_update_title = WOT 업데이트
-auto_update_message = 최신 버전이 확인되었습니다. 업데이트 하시겠습니까?
-auto_update_check = 자동 업데이트 사용(추천)
-auto_update_button_yes = 지금 업데이트
-auto_update_button_no = 나중에 다시 확인
-description_disabled = 사용을 중지하셨습니다. '실행' 을 클릭하십시오.
-description_error_query = 평가를 다운받는데 실패하였습니다. 다시 시도해주십시오.
-description_error_register = WOT를 시작하는데 실패하였습니다. 다시 시도해주십시오.
-description_inprogress = 평가를 로딩하는중…
-description_notready = WOT를 여는 중…
-description_offline = 브라우저가 오프라인일 때는 사용 안함
-description_private = 이용가능한 평가가 없습니다.
-description_rating_5 = 매우 좋음
-description_rating_4 = 좋음
-description_rating_3 = 불만족
-description_rating_2 = 나쁨
-description_rating_1 = 매우 나쁨
-description_rating_0 = 이 사이트에 대한 충분한 평가가 없습니다.
-description_restart = WOT를 활성화하기 위해 브라우저를 다시 시작해주십시오.
-description_uninstall = 다시 시작하면 WOT가 제거됩니다.
-help_0 =
-help_1 = 매우 나쁨
-help_2 = 나쁨
-help_3 = 불만족
-help_4 = 좋음
-help_5 = 매우 좋음
-help_comment =
-help_comment_link = 후기를 남기시겠습니까?
-warning = WOT 경고: %S
-warning_warning = 경고!
-warning_blocked = 차단됨
-warning_button = 평가 내용
-warning_message_normal = 이 사이트는 나쁜 평가를 가지고 있습니다.
-warning_message_userrated = 사용자님은 이 사이트에 나쁜 평가를 주셨습니다.
-warning_message_unknown = 이 사이트는 평가를 가지고 있지 않습니다.
-warning_info = 자세한 평가와 후기 보기
-warning_rate = 이 사이트는 안전합니다- <a>이 사이트를 평가하기</a>
-warning_goto = 사이트 가기
-warning_leave = 사이트 나가기
-warning_back = 돌아가기
-warning_desc_normal = 이 사이트는 나쁜 평가를 가지고 있습니다
-warning_desc_userrated = 사용자님은 이 사이트에 나쁜 평가를 주셨습니다. 나쁜 평가는 경고를 작동시킵니다
-warning_desc_unknown = 이 사이트는 평가를 가지고 있지 않습니다
-rating_0 = 신뢰성
-rating_1 = 업체 안전성
-rating_2 = 개인정보 보호
-rating_4 = 어린이 안전성
-popup_0 = 신뢰성
-popup_1 = 업체 안전성
-popup_2 = 개인정보 보호
-popup_4 = 어린이 안전성
-user_score_title = 내 활동 점수
-user_score_mypage = 내 페이지 보기
-user_score_register = 지금 등록
-user_score_improve = 새로운 사이트 평가해서 내 활동 점수 올리기
-user_score_top = 사용자님은 %S 안에 드는 사용자이십니다.
+locale = ko
+lang = ko-KR
+ext_description = WOT에서는 전 세계의 수백만 사용자 경험을 기준으로 신뢰할 수 있는 웹 사이트를 보여 줍니다.무료인 WOT는빠르고 사용이 용이합니다!
+components_0 = 신뢰성
+components_4 = 어린이 안전성
+components__short_0 = 신뢰성
+components__short_4 = 어린이 안전성
+reputationlevels_r0 = 알 수 없음
+reputationlevels_r1 = 매우 나쁨
+reputationlevels_r2 = 나쁨
+reputationlevels_r3 = 불만족
+reputationlevels_r4 = 좋음
+reputationlevels_r5 = 매우 좋음
+messages_initializing = WOT 초기화…
+messages_notready = WOT를 여는 중…
+messages_failed = 평가를 다운받는데 실패하였습니다. 다시 시도해주십시오.
+messages_notavailable = 이용가능한 평가가 없습니다.
+messages_loading = 평가를 로딩하는중…
+ratingwindow_settings = 설정
+ratingwindow_guide = 둘러보기
+ratingwindow_forum = 포럼
+ratingwindow_profile = 내 프로필
+ratingwindow_wotrating = 사용자 평가에 따른 웹사이트 평가
+ratingwindow_myrating = 나의 평가
+ratingwindow_viewscorecard = 내용 및 댓글 보기
+ratingwindow_addcomment = 댓글 달기
+ratingwindow_editcomment = 댓글 수정하기
+ratingwindow_backtoratings = 평가하기로 돌아가기
+ratingwindow_backtoratings_category = 범주 고르기
+ratingwindow_newversion = 최신 버전이 확인되었습니다 - 업데이트하시려면 클릭하세요
+ratingwindow_invite_rw = 이 도구를 사용해서 웹사이트를 평가하실 수 있습니다. 색깔입힌 바를 클릭해 이 웹사이트를 얼마나 신뢰하는지 보여주십시오.
+warnings_information = 내용 및 댓글 보기
+warnings_ratesite = 이 사이트를 신뢰한다면 <a>평가</a>해주십시오
+warnings_reratesite = 이 사이트를 다시 평가하려면 <a>여기<a/>를 클릭하십시오
+warnings_reputation = 이 사이트는 나쁜 평가를 가지고 있습니다
+warnings_rating = 사용자님은 이 사이트에 나쁜 평가를 주셨습니다.<br/>나쁜 평가는 경고를 작동시킵니다
+warnings_unknown = 이 사이트는 평가를 가지고 있지 않습니다
+warnings_warning = 경고!
+warnings_goto = 사이트 가기
+warnings_leave = 나가기
+warnings_back = 돌아가기
+warnings_reasontitle = 사용자들은 다음과 같은 문제점을 찾아냈습니다
+warnings_othersreasontitle = 다른 사용자들의 의견
+warnings_noreasontitle = 사용자들은 이 사이트를 아직 평가만 내리고 확인해보지는 않았습니다
+contextmenu_open_scorecard = WOT 스코어카드 열기
+wt_learnmore_link = WOT에 대해 <a id='wt-learnmore-link'>더 알아보기</a>.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>새로운 WOT가 당신의 브라우저에 추가되었습니다.</p><p>이 아이콘을 클릭하시고 웹사이트 평가를 시작해 주세요 {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = 네, 알겠습니다
+wt_warning_text = <p>WOT에서는사용자 순위조사 결과 나쁜 평가를 받거나 제3자로부터 기피 사이트로 평가받은 사이트를 당신이 방문하면 경고해 드립니다. 뿐만 아니라 나쁜 평가를 받은 이유도 알려드립니다.</p><p>{WT_LEARNMORE}</p><p>경고문을 보기 원하지 않으신다면, 해당 기능을 끄실 수 있습니다.</p>
+wt_warning_turnoff = 경고창 끄기
+wt_warning_ok = 네, 알겠습니다
+wt_rw_text_hdr = 경험을 공유하세요!
+wt_rw_text = <p>WOT의 순위창에는 다른 사용자들의 경험에 따른 웹사이트 평가결과가 나옵니다. 이제 당신이 업데이트 창을 이용하여 순위를 매기고 평가의견을 제시할 수 있습니다. 색깔이 있는 바를 클릭하시고 순위를 매겨 보세요.</p><p class='wot-c'>WOT에 대해 <a id='wt-learnmore-link'>더 알아보기</a>.</p>
+wt_donut_msg = <p>WOT에서는 사용자들의 경험에 따른 웹사이트 평가결과를 교통 신호등 모양의 아이콘으로 표시하여 알려드립니다.</p><p>아이콘 위에 마우스를 올려 놓으시면 평가결과와 그 이유에 대해서 아실 수 있습니다.</p>
+wt_donut_btn = 네, 알겠습니다
+fbl_hideforever = 영원히 숨기기
+fbl_submit = 제출하기
+fbl_whatisthis = 이건 무엇인가요?
+fbl_optout_text = 질문을 받지 않기를 원하신다면, "네"를 클릭하세요
+fbl_optout_yes = 네
+fbl_optout_no = 아니오
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a>는 수백만 명의 웹 사용자들의 웹서핑 안전성과 품질을 개선하기 위해 일하고 있습니다. 이 프롬프트를 보실 때마다 의견을 제출해주시면 도움이 됩니다.
+fbl_final = 감사합니다!
+fbl_this_website = 이 웹사이트
+fbl_dismiss = 거절하기
+ratingwindow_question0 = 이 사이트를 얼마나 신뢰하십니까?
+ratingwindow_question4 = 이 웹사이트는 아동이 이용하기에 적합합니까?
+ratingwindow_categories = 평가를 위해 최소 하나의 범주를 고르시오
+ratingwindow_comment = 이 사이트를 이용한 경험을 설명하기 위해 댓글을 남기십시오
+ratingwindow_comment_placeholder = 여기에 댓글을 작성하십시오…
+ratingwindow_comment_regtext = 댓글을 올리려면 계정이 필요합니다.
+ratingwindow_comment_register = 지금 새 계정 만들기
+ratingwindow_comment_captchatext = 스코어카드에 화면 캡쳐를 넣어야 댓글을 남길 수 있습니다.
+ratingwindow_comment_captchalink = 스코어카드 지금 열기
+ratingwindow_commenthints = <p>상세히 작성하십시오</p><p>증거를 보이거나 예를 들어주십시오</p><p>사용자 본인의 경험에 기반한 댓글을 남겨주십시오</p><p>스팸을 작성하지 마십시오</p>
+ratingwindow_novoted = 여기를 클릭해 범주를 선택해서 평가에 대한 근거를 남겨주십시오
+ratingwindow_morecats = 더
+ratingwindow_rerate_change = 바꾸기
+ratingwindow_rerate_category =
+ratingwindow_fulllist = 전체 목록 보여주기
+ratingwindow_vote_yes = 네
+ratingwindow_vote_no = 아니오
+messages_ready = 에 대한 평가
+testimony_0_levels_r0 = 평가를 위해 바를 클릭하세요
+testimony_0_levels_r1 = 믿을 수 없음
+testimony_0_levels_r2 = 믿을 수 없음
+testimony_0_levels_r3 = 의심스러움
+testimony_0_levels_r4 = 믿을만함
+testimony_0_levels_r5 = 믿을만함
+testimony_4_levels_r0 = 평가를 위해 바를 클릭하세요
+testimony_4_levels_r1 = 적합하지 않음
+testimony_4_levels_r2 = 적합하지 않음
+testimony_4_levels_r3 = 주의할 것
+testimony_4_levels_r4 = 적합함
+testimony_4_levels_r5 = 적합함
+testimony_unrated = 의견 없음
+testimony_delete = 지우기
+buttons_delete = 평가 지우기
+buttons_delete_title = 웹사이트에 대한 평가와 항목 지우기
+buttons_cancel = 취소하기
+buttons_save = 저장하기
+buttons_ok = 네
+popup_headertext = 내용 보기 클릭하기
+popup_nocattext = 이 웹사이트에 대한 의견을 나누십시오
+ratingwindow_thankyou = 경험을 공유해주셔서 감사합니다!
+activityscore_text = 당신의 활동점수는 이제 [score] 점입니다
+activityscore_rookie = 루키
+activityscore_bronze = 브론즈
+activityscore_silver = 실버
+activityscore_gold = 골드
+activityscore_platinum = 플래티넘
+activityscore_next = {NEXT_LEVEL}을 달성하기 위해 계속 평가해주세요!
+bl_description = 이 웹사이트는 다른 그룹의 블랙리스트에 올라있습니다
+bl_description_pl = 이 웹사이트는 다른 그룹들의 블랙리스트에 올라있습니다
+bl_information = WOT는 사용자들에게 바이러스나 멀웨어와 같은 기술적인 위험에 대해 경고하기 위해 다른 그룹의 블랙리스를 이용합니다. <a>더 알아보기</a>
+bl_malware = 멀웨어
+bl_phishing = 피싱
+bl_scam = 사기
+bl_spam = 스팸
+bl_tracking = 트래킹
+bl_other = 다른 이유
+warning_button = 평가 내용
+warnings_message_rating = 사용자님은 이 사이트에 나쁜 평가를 주셨습니다.
+warnings_message_reputation = 이 사이트는 나쁜 평가를 가지고 있습니다.
+messages_offline = 브라우저가 오프라인일 때는 사용 안함
+messages_disabled = 사용을 중지하셨습니다
+auto_update_title = WOT 업데이트
+auto_update_button_yes = 지금 업데이트
+description_restart = WOT를 활성화하기 위해 브라우저를 다시 시작해주십시오.
+messages_error_register = WOT를 시작하는데 실패하였습니다. 다시 시도해주십시오.
+warning = WOT 경고: %S
+description_uninstall = 다시 시작하면 WOT가 제거됩니다.
+warnings_blocked = 차단됨
+auto_update_check = 자동 업데이트 사용(추천)
+auto_update_button_no = 나중에 다시 확인
+auto_update_message = 최신 버전이 확인되었습니다. 업데이트 하시겠습니까?
diff --git a/chrome/wot.jar!/locale/pl-PL/loading.html b/chrome/wot.jar!/locale/pl-PL/loading.html
index 885d01f..764a925 100644
--- a/chrome/wot.jar!/locale/pl-PL/loading.html
+++ b/chrome/wot.jar!/locale/pl-PL/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Trwa ładowanie witryny...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Ładowanie witryny</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Trwa ładowanie witryny...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Ładowanie witryny</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/pl-PL/wot.dtd b/chrome/wot.jar!/locale/pl-PL/wot.dtd
index ab8f0bc..aca2a2e 100644
--- a/chrome/wot.jar!/locale/pl-PL/wot.dtd
+++ b/chrome/wot.jar!/locale/pl-PL/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Uruchomiony">
-<!ENTITY wotEnabled.accesskey "U">
-<!ENTITY wotRefresh.label "Odśwież">
-<!ENTITY wotRefresh.accesskey "O">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Doskonała">
-<!ENTITY wotTestify5.accesskey "K">
-<!ENTITY wotTestify4.label "Dobra">
-<!ENTITY wotTestify4.accesskey "D">
-<!ENTITY wotTestify3.label "Słaba">
-<!ENTITY wotTestify3.accesskey "S">
-<!ENTITY wotTestify2.label "Zła">
-<!ENTITY wotTestify2.accesskey "Z">
-<!ENTITY wotTestify1.label "Bardzo zła">
-<!ENTITY wotTestify1.accesskey "B">
-<!ENTITY wotPreferences.label "Ustawienia…">
-<!ENTITY wotPreferences.accesskey "e">
-<!ENTITY wotMy.label "Mój WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Sprawdź dostępność aktualizacji…">
-<!ENTITY wotCheckUpdates.accesskey "a">
-<!ENTITY wotLinkScorecard.label "Wyświetl kartę ocen WOT…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Trwa inicjowanie dodatku WOT…">
-<!ENTITY wotRating.wot "Ocena WOT">
-<!ENTITY wotRating.my "Moja ocena">
-<!ENTITY wotRating.app0 "Zaufanie:">
-<!ENTITY wotRating.app1 "Wiarygodność operatora:">
-<!ENTITY wotRating.app2 "Prywatność:">
-<!ENTITY wotRating.app4 "Bezpieczeństwo dzieci:">
-<!ENTITY wotRating.scorecard "Szczegółowe oceny są na karcie wyników">
-<!ENTITY wotRating.comment "Dodaj komentarz">
-<!ENTITY wotRating.guide "Przewodnik">
-<!ENTITY wotRating.prefs "Ustawienia">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "We współpracy z">
-<!ENTITY wotRating.update "Dostępna jest nowa wersja – kliknij, aby zaktualizować">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Uruchomiony">
+<!ENTITY wotEnabled.accesskey "U">
+<!ENTITY wotRefresh.label "Odśwież">
+<!ENTITY wotRefresh.accesskey "O">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Ustawienia…">
+<!ENTITY wotPreferences.accesskey "e">
+<!ENTITY wotMy.label "Mój WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Sprawdź dostępność aktualizacji…">
+<!ENTITY wotCheckUpdates.accesskey "a">
+<!ENTITY wotLinkScorecard.label "Wyświetl kartę ocen WOT…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Trwa inicjowanie dodatku WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/pl-PL/wot.properties b/chrome/wot.jar!/locale/pl-PL/wot.properties
index ae49fd1..34c7d44 100644
--- a/chrome/wot.jar!/locale/pl-PL/wot.properties
+++ b/chrome/wot.jar!/locale/pl-PL/wot.properties
@@ -1,57 +1,136 @@
-language = pl-PL
-auto_update_title = Aktualizacja dodatku WOT
-auto_update_message = Dostępna jest nowa wersja dodatku WOT. Czy chcesz zaktualizować dodatek?
-auto_update_check = Włącz automatyczne aktualizacje (zalecane)
-auto_update_button_yes = Aktualizuj teraz
-auto_update_button_no = Przypomnij mi później
-description_disabled = Dodatek został wyłączony; kliknij, aby go włączyć.
-description_error_query = Wczytywanie ocen nie powiodło się.
-description_error_register = Włączenie dodatku nie powiodło się.
-description_inprogress = Trwa ładowanie ocen…
-description_notready = Trwa włączanie WOT…
-description_offline = Wyłączono podczas pracy przeglądarki w trybie offline.
-description_private = Brak ocen.
-description_rating_5 = Doskonała
-description_rating_4 = Dobra
-description_rating_3 = Słaba
-description_rating_2 = Zła
-description_rating_1 = Bardzo zła
-description_rating_0 = Za mało ocen dla tej witryny
-description_restart = Uruchom przeglądarkę ponownie, by włączyć dodatek WOT.
-description_uninstall = Dodatek WOT zostanie odinstalowany po ponownym uruchomieniu.
-help_0 =
-help_1 = Bardzo zła
-help_2 = Zła
-help_3 = Słaba
-help_4 = Dobra
-help_5 = Doskonała
-help_comment =
-help_comment_link = Czy chcesz dodać komentarz?
-warning = Ostrzeżenie WOT: %S
-warning_blocked = Zablokowano
-warning_warning = Ostrzeżenie!
-warning_button = Szczegóły oceny
-warning_message_normal = Ta witryna ma złą reputację.
-warning_message_userrated = Ta witryna dostała od Ciebie złą ocenę.
-warning_message_unknown = Ocena tej witryny jest nieznana.
-warning_info = Pokaż szczegóły ocen i komentarze
-warning_rate = Ta witryna jest bezpieczna - chcę <a>ją ocenić</a>
-warning_goto = Idź do strony
-warning_leave = Porzuć stronę
-warning_back = Powrót
-warning_desc_normal = Ta witryna ma złą reputację
-warning_desc_userrated = Ostrzeżenie zostało wyświetlone, ponieważ ta witryna dostała od Ciebie złą ocenę
-warning_desc_unknown = Ocena tej witryny jest nieznana
-rating_0 = Zaufanie
-rating_1 = Wiarygodność operatora
-rating_2 = Prywatność
-rating_4 = Bezpieczeństwo dzieci
-popup_0 = Zaufanie
-popup_1 = Wiarygodność
-popup_2 = Prywatność
-popup_4 = Bezpiecz. dzieci
-user_score_title = Ocena mojej aktywności
-user_score_mypage = Pokaż moją stronę
-user_score_register = Zarejestruj się
-user_score_improve = Popraw swoją ocenę aktywności, oceniając nowe witryny.
-user_score_top = Należysz do %S najbardziej aktywnych użytkowników.
+locale = pl
+lang = pl-PL
+ext_description = Dodatek WOT wskazuje użytkownikowi, którym witrynom może zaufać, na podstawie doświadczeń milionów osób z całego świata.
+components_0 = Zaufanie
+components_4 = Bezpieczeństwo dzieci
+components__short_0 = Zaufanie
+components__short_4 = Bezpiecz. dzieci
+reputationlevels_r0 = Nieznane
+reputationlevels_r1 = Bardzo zła
+reputationlevels_r2 = Zła
+reputationlevels_r3 = Słaba
+reputationlevels_r4 = Dobra
+reputationlevels_r5 = Doskonała
+messages_initializing = Trwa inicjowanie dodatku WOT…
+messages_notready = Trwa włączanie WOT…
+messages_failed = Wczytywanie ocen nie powiodło się.
+messages_notavailable = Brak ocen.
+messages_loading = Trwa ładowanie ocen…
+ratingwindow_settings = Ustawienia
+ratingwindow_guide = Przewodnik
+ratingwindow_forum = Forów
+ratingwindow_profile = Mój profil
+ratingwindow_wotrating = Reputacja strony na podstawie ocen użytkowników
+ratingwindow_myrating = Moja ocena
+ratingwindow_viewscorecard = Pokaż szczegóły i komentarze
+ratingwindow_addcomment = Dodaj komentarz
+ratingwindow_editcomment = Edytuj komentarz
+ratingwindow_backtoratings = Powrót do ocen
+ratingwindow_backtoratings_category = Wybierz kategorię
+ratingwindow_newversion = Dostępna jest nowa wersja – kliknij, aby zaktualizować
+ratingwindow_invite_rw = Możesz oceniać strony internetowe przy pomocy tego narzędzia. Kliknij na kolorowe paski, by wyrazić, jak bardzo ufasz danej stronie.
+warnings_information = Pokaż szczegóły i komentarze
+warnings_ratesite = Jeśli ufasz tej stronie, <a>oceń ją</a>
+warnings_reratesite = <a>Kliknij tutaj</a> jeśli chcesz ocenić tę stronę raz jeszcze
+warnings_reputation = Ta witryna ma złą reputację
+warnings_rating = Ostrzeżenie zostało wyświetlone, ponieważ<br/>ta witryna dostała od Ciebie złą ocenę
+warnings_unknown = Ocena tej witryny jest nieznana
+warnings_warning = Ostrzeżenie!
+warnings_goto = Idź do strony
+warnings_leave = Wyjdź
+warnings_back = Powrót
+warnings_reasontitle = Użytkownicy rozpoznali następujące problemy
+warnings_othersreasontitle = Opinie innych użytkowników
+warnings_noreasontitle = Użytkownicy jeszcze nie zidentyfikowali tej strony, i tylko ją ocenili
+contextmenu_open_scorecard = Otwórz kartę ocen WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>Dowiedz się więcej</a> o WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Nowy WOT został dodany do Twojej przeglądarki.</p><p>Zacznij oceniać strony klikając na tę ikonę {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, rozumiem
+wt_warning_text = <p>WOT ostrzeże Cię, jeśli znajdziesz się na stronie o niskiej reputacji, korzystając z ocen innych użytkowników lub czarnych list od osób trzecich. Ostrzeżenie pokaże również przyczynę niskiej reputacji.</p><p>{WT_LEARNMORE}</p><p>Jeśli nie chcesz widzieć ostrzeżeń, możesz je wyłączyć.</p>
+wt_warning_turnoff = Wyłącz ostrzeżenia
+wt_warning_ok = OK, rozumiem
+wt_rw_text_hdr = Podziel się swoimi doświadczeniami!
+wt_rw_text = <p>Okno oceny WOT pokazuje reputację strony na podstawie doświadczeń innych użytkowników. Teraz możesz oceniać i komentować bezpośrednio z zaktualizowanego okna. Rozpocznij ocenianie, klikając w kolorowe paski.</p><p class='wot-c'><a id='wt-learnmore-link'>Dowiedz się więcej</a> o WOT.</p>
+wt_donut_msg = <p>WOT pokazuje reputację stron na podstawie doświadczeń innych użytkowników, wyświetlając ikony przypominające sygnalizację świetlną.</p><p>Umieść kursor myszy nad ikoną, aby zobaczyć reputację i jej uzasadnienie.</p>
+wt_donut_btn = OK, rozumiem
+fbl_hideforever = Ukryj na zawsze
+fbl_submit = Prześlij
+fbl_whatisthis = Co to?
+fbl_optout_text = Jeśli wolisz, by nie zadawano Ci pytań, kliknij „tak”
+fbl_optout_yes = tak
+fbl_optout_no = Nie
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> działa w celu promowania bezpieczeństwa i jakości całej sieci dla milionów użytkowników. Możesz pomóc poprzez przesłanie swoich opinii, gdy tylko zobaczysz ten komunikat.
+fbl_final = Dziękujemy!
+fbl_this_website = ta strona
+fbl_dismiss = usuń
+ratingwindow_question0 = W jakim stopniu ufasz tej stronie?
+ratingwindow_question4 = Jak odpowiednia dla dzieci jest ta strona?
+ratingwindow_categories = Wybierz przynajmniej jedną kategorię na poparcie swojej oceny
+ratingwindow_comment = Zostaw komentarz, by opisać Twoje doświadczenie z tą stroną
+ratingwindow_comment_placeholder = wpisz tutaj swój komentarz…
+ratingwindow_comment_regtext = Potrzebujesz konta, aby móc opublikować Twój komentarz.
+ratingwindow_comment_register = Utwórz konto teraz
+ratingwindow_comment_captchatext = Musisz wprowadzić kod captcha na karcie ocen, by opublikować swój komentarz.
+ratingwindow_comment_captchalink = Otwórz kartę ocen teraz
+ratingwindow_commenthints = <p>Bądź precyzyjny</p><p>Podaj dowód lub przykład</p><p>Komentuj bazując na własnych rzeczywistych doświadczeniach</p><p>Nie spamuj</p>
+ratingwindow_novoted = Kliknij tutaj, aby uzasadnić ocenę, wybierając kategorię
+ratingwindow_morecats = więcej
+ratingwindow_rerate_change = zmień
+ratingwindow_rerate_category =
+ratingwindow_fulllist = pokaż pełną listę
+ratingwindow_vote_yes = Tak
+ratingwindow_vote_no = Nie
+messages_ready = Reputacja
+testimony_0_levels_r0 = kliknij na pasku, by ocenić
+testimony_0_levels_r1 = Nie ufam
+testimony_0_levels_r2 = Nie ufam
+testimony_0_levels_r3 = jest podejrzana
+testimony_0_levels_r4 = Ufam
+testimony_0_levels_r5 = Ufam
+testimony_4_levels_r0 = kliknij na pasku, by ocenić
+testimony_4_levels_r1 = nieodpowiednie
+testimony_4_levels_r2 = nieodpowiednie
+testimony_4_levels_r3 = zachowaj ostrożność
+testimony_4_levels_r4 = odpowiednia
+testimony_4_levels_r5 = odpowiednia
+testimony_unrated = brak opinii
+testimony_delete = skasuj
+buttons_delete = Skasuj oceny
+buttons_delete_title = Skasuj moje oceny i kategorie dla strony
+buttons_cancel = Anuluj
+buttons_save = Zapisz
+buttons_ok = OK.
+popup_headertext = kliknij, aby pokazać szczegóły
+popup_nocattext = podziel się opinią na temat tej strony
+ratingwindow_thankyou = Dziękujemy za podzielenie się twoimi doświadczeniami!
+activityscore_text = Ocena Twojej aktywności to w tej chwili
+activityscore_rookie = nowicjusz
+activityscore_bronze = brąz
+activityscore_silver = srebro
+activityscore_gold = złoto
+activityscore_platinum = platyna
+activityscore_next = Oceniaj dalej, by osiągnąć etap {NEXT_LEVEL}!
+bl_description = Ta strona pojawia się na zewnętrznej czarnej liście
+bl_description_pl = Ta strona pojawia się na zewnętrznych czarnych listach
+bl_information = WOT używa zewnętrznych czarnych list w celu ostrzegania użytkowników przed zagrożeniami technicznymi, jak wirusy czy złośliwe oprogramowanie. <a>Czytaj więcej</a>
+bl_malware = Złośliwe oprogramowanie
+bl_phishing = Phishing
+bl_scam = Scam
+bl_spam = SPAM
+bl_tracking = Śledzenie
+bl_other = Inny powód
+warning_button = Szczegóły oceny
+warnings_message_rating = Ta witryna dostała od Ciebie złą ocenę.
+warnings_message_reputation = Ta witryna ma złą reputację.
+messages_offline = Wyłączono podczas pracy przeglądarki w trybie offline.
+messages_disabled = Dodatek został wyłączony
+auto_update_title = Aktualizacja dodatku WOT
+auto_update_button_yes = Aktualizuj teraz
+description_restart = Uruchom przeglądarkę ponownie, by włączyć dodatek WOT.
+messages_error_register = Włączenie dodatku nie powiodło się.
+warning = Ostrzeżenie WOT: %S
+description_uninstall = Dodatek WOT zostanie odinstalowany po ponownym uruchomieniu.
+warnings_blocked = Zablokowano
+auto_update_check = Włącz automatyczne aktualizacje (zalecane)
+auto_update_button_no = Przypomnij mi później
+auto_update_message = Dostępna jest nowa wersja dodatku WOT. Czy chcesz zaktualizować dodatek?
diff --git a/chrome/wot.jar!/locale/pt-BR/loading.html b/chrome/wot.jar!/locale/pt-BR/loading.html
index bd52e80..bd9e90f 100644
--- a/chrome/wot.jar!/locale/pt-BR/loading.html
+++ b/chrome/wot.jar!/locale/pt-BR/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: carregando o site da Web...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Carregando o site da Web</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: carregando o site da Web...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Carregando o site da Web</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/pt-BR/wot.dtd b/chrome/wot.jar!/locale/pt-BR/wot.dtd
index 7b24d19..250c088 100644
--- a/chrome/wot.jar!/locale/pt-BR/wot.dtd
+++ b/chrome/wot.jar!/locale/pt-BR/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Habilitado">
-<!ENTITY wotEnabled.accesskey "H">
-<!ENTITY wotRefresh.label "Atualizar">
-<!ENTITY wotRefresh.accesskey "A">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Excelente">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "Boa">
-<!ENTITY wotTestify4.accesskey "B">
-<!ENTITY wotTestify3.label "Insatisfatória">
-<!ENTITY wotTestify3.accesskey "I">
-<!ENTITY wotTestify2.label "Má">
-<!ENTITY wotTestify2.accesskey "M">
-<!ENTITY wotTestify1.label "Péssima">
-<!ENTITY wotTestify1.accesskey "P">
-<!ENTITY wotPreferences.label "Configurações…">
-<!ENTITY wotPreferences.accesskey "C">
-<!ENTITY wotMy.label "My WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Verificar atualizações…">
-<!ENTITY wotCheckUpdates.accesskey "V">
-<!ENTITY wotLinkScorecard.label "Exibir indicador da WOT…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Inicializando a WOT…">
-<!ENTITY wotRating.wot "Classificação WOT">
-<!ENTITY wotRating.my "Minha classificação">
-<!ENTITY wotRating.app0 "Fidedignidade:">
-<!ENTITY wotRating.app1 "Confiabilidade do fornecedor:">
-<!ENTITY wotRating.app2 "Privacidade:">
-<!ENTITY wotRating.app4 "Segurança para crianças:">
-<!ENTITY wotRating.scorecard "Ver indicador de detalhes de classificação">
-<!ENTITY wotRating.comment "Adicionar seu comentário">
-<!ENTITY wotRating.guide "Guia">
-<!ENTITY wotRating.prefs "Configurações">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "Em parceria com">
-<!ENTITY wotRating.update "Nova versão disponível – clique para atualizar">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Habilitado">
+<!ENTITY wotEnabled.accesskey "H">
+<!ENTITY wotRefresh.label "Atualizar">
+<!ENTITY wotRefresh.accesskey "A">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Configurações…">
+<!ENTITY wotPreferences.accesskey "C">
+<!ENTITY wotMy.label "My WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Verificar atualizações…">
+<!ENTITY wotCheckUpdates.accesskey "V">
+<!ENTITY wotLinkScorecard.label "Exibir indicador da WOT…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Inicializando a WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/pt-BR/wot.properties b/chrome/wot.jar!/locale/pt-BR/wot.properties
index 5f938af..31a00aa 100644
--- a/chrome/wot.jar!/locale/pt-BR/wot.properties
+++ b/chrome/wot.jar!/locale/pt-BR/wot.properties
@@ -1,57 +1,136 @@
-language = pt-BR
-auto_update_title = Atualizar software da WOT
-auto_update_message = Uma nova versão do software da WOT está disponível. Gostaria de atualizar o seu complemento?
-auto_update_check = Habilitar atualizações automáticas (recomendado)
-auto_update_button_yes = Atualizar agora
-auto_update_button_no = Lembrar—me mais tarde
-description_disabled = Você desabilitou o complemento.
-description_error_query = Falha em carregar classificações.
-description_error_register = Falha em ativar o complemento.
-description_inprogress = Carregando classificações…
-description_notready = Ativando o software da WOT…
-description_offline = Desabilitado enquanto o navegador estiver off-line.
-description_private = As classificações não estão disponíveis.
-description_rating_5 = Excelente
-description_rating_4 = Boa
-description_rating_3 = Insatisfatória
-description_rating_2 = Má
-description_rating_1 = Péssima
-description_rating_0 = Não há classificações suficiente deste site.
-description_restart = Reinicie o navegador para ativar o software da WOT.
-description_uninstall = A WOT será desinstalada depois da reinicialização.
-help_0 =
-help_1 = Péssima
-help_2 = Má
-help_3 = Insatisfatória
-help_4 = Boa
-help_5 = Excelente
-help_comment =
-help_comment_link = Deixar um comentário?
-warning = Aviso da WOT: %S
-warning_warning = Aviso!
-warning_blocked = Bloqueio
-warning_button = Detalhes da classificação
-warning_message_normal = este site tem má reputação.
-warning_message_userrated = você deu a este site uma classificação ruim.
-warning_message_unknown = este site tem classificação desconhecida.
-warning_info = Exibir detalhes de classificação e comentários
-warning_rate = Este site é seguro - quero <a>classificá-lo</a>
-warning_goto = Ir ao sítio
-warning_leave = Sair do sítio
-warning_back = Voltar
-warning_desc_normal = Este site tem má reputação
-warning_desc_userrated = Você deu a este site uma classificação ruim, o que gerou um aviso
-warning_desc_unknown = Este site tem classificação desconhecida
-rating_0 = Fidedignidade
-rating_1 = Confiabilidade do fornecedor
-rating_2 = Privacidade
-rating_4 = Segurança para crianças
-popup_0 = Fidedignidade
-popup_1 = Confiabilidade
-popup_2 = Privacidade
-popup_4 = Segur. p/ crianças
-user_score_title = Pontuação de minhas atividades
-user_score_mypage = Exibir minha página
-user_score_register = Registrar-se agora
-user_score_improve = Melhore a pontuação de atividades classificando novos sites.
-user_score_top = Você está entre os %S usuários mais ativos.
+locale = pt_BR
+lang = pt-BR
+ext_description = O WOT mostra em que sites você pode confiar com base nas experiências de milhões de usuários no mundo inteiro.
+components_0 = Fidedignidade
+components_4 = Segurança para crianças
+components__short_0 = Fidedignidade
+components__short_4 = Segur. p/ crianças
+reputationlevels_r0 = Desconhecido
+reputationlevels_r1 = Péssima
+reputationlevels_r2 = Má
+reputationlevels_r3 = Insatisfatória
+reputationlevels_r4 = Boa
+reputationlevels_r5 = Excelente
+messages_initializing = Inicializando a WOT…
+messages_notready = Ativando o software da WOT…
+messages_failed = Falha em carregar classificações.
+messages_notavailable = As classificações não estão disponíveis.
+messages_loading = Carregando classificações…
+ratingwindow_settings = Configurações
+ratingwindow_guide = Tour
+ratingwindow_forum = Fórum
+ratingwindow_profile = Meu perfil
+ratingwindow_wotrating = Reputação do site com base nas classificações dos usuários
+ratingwindow_myrating = Minha classificação
+ratingwindow_viewscorecard = Visualizar detahes e comentários
+ratingwindow_addcomment = Adicionar comentário
+ratingwindow_editcomment = Editar comentário
+ratingwindow_backtoratings = Voltar às avaliações
+ratingwindow_backtoratings_category = Escolher uma categoria
+ratingwindow_newversion = Nova versão disponível – clique para atualizar
+ratingwindow_invite_rw = Você pode avaliar sites utilizando esta ferramenta. Clique nas barras coloridas para expressar o quanto confia em um site.
+warnings_information = Visualizar detahes e comentários
+warnings_ratesite = Se você confia neste site, por favor <a> avalie-o </a>
+warnings_reratesite = <a> Clique aqui </a> se deseja reavaliar o site
+warnings_reputation = Este site tem má reputação
+warnings_rating = Você deu a este site uma classificação<br/>ruim, o que gerou um aviso
+warnings_unknown = Este site tem classificação desconhecida
+warnings_warning = Aviso!
+warnings_goto = Ir ao sítio
+warnings_leave = Sair
+warnings_back = Voltar
+warnings_reasontitle = Usuários identificaram os seguintes problemas
+warnings_othersreasontitle = Opiniões de outros usuários
+warnings_noreasontitle = Usuários ainda não identificaram esse site e apenas o avaliaram
+contextmenu_open_scorecard = Abrir o WOT Scorecard
+wt_learnmore_link = <a id='wt-learnmore-link'> Saiba mais</a> sobre o WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>O novo WOT foi adicionado ao seu navegador.</p><p>Comece a classificar sites clicando no ícone {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, entendi
+wt_warning_text = <p>WOT avisa se você entrar em um site com má reputação com base em avaliações de outros usuários ou listas negras de terceiros. O aviso também mostra as razões por trás da má reputação.</p><p>{WT_LEARNMORE}</p><p>Se você não deseja visualizar os avisos, é possível desligá-los.</p>
+wt_warning_turnoff = Desligar alertas
+wt_warning_ok = OK, entendi
+wt_rw_text_hdr = Compartilhe suas experiências!
+wt_rw_text = <p>A janela de avaliação WOT mostra a reputação do site com base em experiências de outros usuários. Agora você pode avaliar e comentar diretamente da janela atualizada. Comece a avaliar clicando nas barras coloridas.</p><p class='wot-c'><a id='wt-learnmore-link'>Saiba mais</a> sobre o WOT.</p>
+wt_donut_msg = <p>WOT mostra as reputações de sites com base em experiências de outros usuários, mostrando ícones em estilo de semáforos.</p><p>Passe o mouse sobre o ícone para ver as reputações e razões por trás delas.</p>
+wt_donut_btn = OK, entendi
+fbl_hideforever = Esconder permanentemente
+fbl_submit = Enviar
+fbl_whatisthis = O que é isso?
+fbl_optout_text = Se preferir não responder as perguntas, clique "sim"
+fbl_optout_yes = Sim
+fbl_optout_no = Não
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> está trabalhando para promover segurança e qualidade na web para milhões de usuários. Você pode ajudar enviando sua opinião sempre que vir esse aviso.
+fbl_final = Obrigado!
+fbl_this_website = Este site
+fbl_dismiss = Resusar
+ratingwindow_question0 = Quanto você confia neste site?
+ratingwindow_question4 = Quão adequado é este site para crianças?
+ratingwindow_categories = Escolha ao menos uma categoria para apoiar sua classificação
+ratingwindow_comment = Deixe um comentário para descrever sua experiência neste site
+ratingwindow_comment_placeholder = Escreva seu comentário aqui...
+ratingwindow_comment_regtext = Você precisa de uma conta para publicar seu comentário
+ratingwindow_comment_register = Crie uma conta agora
+ratingwindow_comment_captchatext = É preciso digiitar Captcha no Scoreboard para publicar o comentário.
+ratingwindow_comment_captchalink = Abrir o Scorecard agora
+ratingwindow_commenthints = <p>Seja preciso</p><p>Testemunhe ou dê um exemplo</p><p>Comente conforme sua experiência pessoal</p><p>Não faça spam</p>
+ratingwindow_novoted = Clique aqui para explicar sua escolha, selecionando uma das opções
+ratingwindow_morecats = mais
+ratingwindow_rerate_change = mudar
+ratingwindow_rerate_category =
+ratingwindow_fulllist = Mostrar lista completa
+ratingwindow_vote_yes = Sim
+ratingwindow_vote_no = Não
+messages_ready = Reputação do
+testimony_0_levels_r0 = Clique na barra para avaliar
+testimony_0_levels_r1 = Eu não confio
+testimony_0_levels_r2 = Eu não confio
+testimony_0_levels_r3 = É suspeito
+testimony_0_levels_r4 = Eu confio
+testimony_0_levels_r5 = Eu confio
+testimony_4_levels_r0 = Clique na barra para avaliar
+testimony_4_levels_r1 = Não adequado
+testimony_4_levels_r2 = Não adequado
+testimony_4_levels_r3 = Cuidado
+testimony_4_levels_r4 = Adequado
+testimony_4_levels_r5 = Adequado
+testimony_unrated = Sem opinião
+testimony_delete = Deletar
+buttons_delete = Deletar classificações
+buttons_delete_title = Deletar minhas classificações e categorias para o site
+buttons_cancel = Cancelar
+buttons_save = Salvar
+buttons_ok = OK
+popup_headertext = Clique para visualizar os detalhes
+popup_nocattext = Compartilhe sua opinião sobre este site
+ratingwindow_thankyou = Obrigado por compartilhar sua experiência!
+activityscore_text = Sua pontuação de atividade agora é
+activityscore_rookie = Novato
+activityscore_bronze = Bronze
+activityscore_silver = Prata
+activityscore_gold = Ouro
+activityscore_platinum = Platina
+activityscore_next = Continue classificando para alcançar o nível {NEXT_LEVEL}!
+bl_description = Este site aparece na lista negra de terceiros
+bl_description_pl = Este site aparece na lista negra de terceiros
+bl_information = WOT usa a lista negra de terceiros para alertar os usuários sobre ameaças, tais como vírus e malware. <a>Ler mais</a>
+bl_malware = Malware
+bl_phishing = Phishing
+bl_scam = Fraude
+bl_spam = SPAM
+bl_tracking = Rastreamento
+bl_other = Outro
+warning_button = Detalhes da classificação
+warnings_message_rating = você deu a este site uma classificação ruim.
+warnings_message_reputation = este site tem má reputação.
+messages_offline = Desabilitado enquanto o navegador estiver off-line.
+messages_disabled = Você desabilitou o complemento
+auto_update_title = Atualizar software da WOT
+auto_update_button_yes = Atualizar agora
+description_restart = Reinicie o navegador para ativar o software da WOT.
+messages_error_register = Falha em ativar o complemento.
+warning = Aviso da WOT: %S
+description_uninstall = A WOT será desinstalada depois da reinicialização.
+warnings_blocked = Bloqueio
+auto_update_check = Habilitar atualizações automáticas (recomendado)
+auto_update_button_no = Lembrar—me mais tarde
+auto_update_message = Uma nova versão do software da WOT está disponível. Gostaria de atualizar o seu complemento?
diff --git a/chrome/wot.jar!/locale/ru-RU/loading.html b/chrome/wot.jar!/locale/ru-RU/loading.html
index e5ad515..8a08197 100644
--- a/chrome/wot.jar!/locale/ru-RU/loading.html
+++ b/chrome/wot.jar!/locale/ru-RU/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: загрузка сайта...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Загрузка сайта</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: загрузка сайта...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Загрузка сайта</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/ru-RU/wot.dtd b/chrome/wot.jar!/locale/ru-RU/wot.dtd
index fa4c131..f74df63 100644
--- a/chrome/wot.jar!/locale/ru-RU/wot.dtd
+++ b/chrome/wot.jar!/locale/ru-RU/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Включена">
-<!ENTITY wotEnabled.accesskey "В">
-<!ENTITY wotRefresh.label "Обновить">
-<!ENTITY wotRefresh.accesskey "О">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Превосходно">
-<!ENTITY wotTestify5.accesskey "П">
-<!ENTITY wotTestify4.label "Хорошо">
-<!ENTITY wotTestify4.accesskey "Х">
-<!ENTITY wotTestify3.label "Неудовлетворительно">
-<!ENTITY wotTestify3.accesskey "Н">
-<!ENTITY wotTestify2.label "Плохо">
-<!ENTITY wotTestify2.accesskey "л">
-<!ENTITY wotTestify1.label "Очень плохо">
-<!ENTITY wotTestify1.accesskey "О">
-<!ENTITY wotPreferences.label "Настройки…">
-<!ENTITY wotPreferences.accesskey "Н">
-<!ENTITY wotMy.label "My WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Проверка обновлений…">
-<!ENTITY wotCheckUpdates.accesskey "p">
-<!ENTITY wotLinkScorecard.label "Посмотреть оценочную карту WOT…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Инициализация WOT…">
-<!ENTITY wotRating.wot "Рейтинг WOT">
-<!ENTITY wotRating.my "Мой рейтинг">
-<!ENTITY wotRating.app0 "Заслуживает доверие:">
-<!ENTITY wotRating.app1 "Надежность продавца:">
-<!ENTITY wotRating.app2 "Конфиденциальность:">
-<!ENTITY wotRating.app4 "Безопасность для детей:">
-<!ENTITY wotRating.scorecard "Посмотреть подробности оценок">
-<!ENTITY wotRating.comment "Добавьте свой комментарий">
-<!ENTITY wotRating.guide "Руководство">
-<!ENTITY wotRating.prefs "Настройки">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "Сотрудничает с">
-<!ENTITY wotRating.update "Доступна новая версия, нажмите для обновления">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Включена">
+<!ENTITY wotEnabled.accesskey "В">
+<!ENTITY wotRefresh.label "Обновить">
+<!ENTITY wotRefresh.accesskey "О">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Настройки…">
+<!ENTITY wotPreferences.accesskey "Н">
+<!ENTITY wotMy.label "My WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Проверка обновлений…">
+<!ENTITY wotCheckUpdates.accesskey "p">
+<!ENTITY wotLinkScorecard.label "Посмотреть оценочную карту WOT…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Инициализация WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/ru-RU/wot.properties b/chrome/wot.jar!/locale/ru-RU/wot.properties
index d48735d..1268858 100644
--- a/chrome/wot.jar!/locale/ru-RU/wot.properties
+++ b/chrome/wot.jar!/locale/ru-RU/wot.properties
@@ -1,57 +1,136 @@
-language = ru-RU
-auto_update_title = Обновление WOT
-auto_update_message = Доступна новая версия надстройки WOT. Обновить надстройку?
-auto_update_check = Включить автоматические обновления (рекомендуется)
-auto_update_button_yes = Обновить сейчас
-auto_update_button_no = Напомнить позднее
-description_disabled = Надстройка отключена.
-description_error_query = Не удалось загрузить рейтинги.
-description_error_register = Не удалось активизировать надстройку.
-description_inprogress = Загрузка рейтингов…
-description_notready = Активация WOT…
-description_offline = Отключено, когда браузер находится в автономном режиме.
-description_private = Рейтинги не доступны.
-description_rating_5 = Превосходно
-description_rating_4 = Хорошо
-description_rating_3 = Неудовлетворительно
-description_rating_2 = Плохо
-description_rating_1 = Очень плохо
-description_rating_0 = Недостаточно рейтингов для этого сайта
-description_restart = Перезапустите браузер для активизации WOT.
-description_uninstall = WOT будет удалена после перезапуска.
-help_0 =
-help_1 = Очень плохо
-help_2 = Плохо
-help_3 = Неудовлетворительно
-help_4 = Хорошо
-help_5 = Превосходно
-help_comment =
-help_comment_link = Добавить комментарий?
-warning = Предупреждение WOT: %S
-warning_warning = Внимание!
-warning_blocked = Заблокировано
-warning_button = Подробная информация о рейтинге
-warning_message_normal = У этого сайта плохая репутация.
-warning_message_userrated = Вы выставили низкий рейтинг этому веб-сайту.
-warning_message_unknown = Рейтинг этого сайта неизвестен.
-warning_info = Посмотреть рейтинг и комментарии
-warning_rate = Этот сайт безопасен - я хочу <a>оценить его</a>
-warning_goto = Открыть сайт
-warning_leave = Покинуть сайт
-warning_back = Назад
-warning_desc_normal = У этого сайта плохая репутация
-warning_desc_userrated = Вы выставили этому веб-сайту низкий рейтинг
-warning_desc_unknown = Pейтинг этого сайта неизвестен
-rating_0 = Заслуживает доверие
-rating_1 = Надежность продавца
-rating_2 = Конфиденциальность
-rating_4 = Безопасность для детей
-popup_0 = Заслуж. доверия
-popup_1 = Надежн. продавца
-popup_2 = Конфиденц-ть
-popup_4 = Безоп-ть детей
-user_score_title = Моя оценка активности
-user_score_mypage = Просмотреть мою страницу
-user_score_register = Зарегистрироваться сейчас
-user_score_improve = Повысьте оценку активности, оценивая новые сайты.
-user_score_top = Вы относитесь к %S наиболее активных пользователей.
+locale = ru
+lang = ru-RU
+ext_description = Web Of Trust показывает, каким сайтам люди доверяют в интернете.
+components_0 = Заслуживает доверие
+components_4 = Безопасность для детей
+components__short_0 = Заслуж. доверия
+components__short_4 = Безоп-ть детей
+reputationlevels_r0 = Неизвестно
+reputationlevels_r1 = Очень плохо
+reputationlevels_r2 = Плохо
+reputationlevels_r3 = Есть сомнения
+reputationlevels_r4 = Хорошо
+reputationlevels_r5 = Превосходно
+messages_initializing = Инициализация WOT…
+messages_notready = Активация WOT…
+messages_failed = Не удалось загрузить оценки
+messages_notavailable = Оценки недоступны
+messages_loading = Загрузка оценок…
+ratingwindow_settings = Настройки
+ratingwindow_guide = Что это?
+ratingwindow_forum = Форум
+ratingwindow_profile = Мой профиль
+ratingwindow_wotrating = Репутация этого сайта по мнению пользователей
+ratingwindow_myrating = Моя оценка
+ratingwindow_viewscorecard = Посмотреть подробности оценок
+ratingwindow_addcomment = Добавить комментарий
+ratingwindow_editcomment = Изменить комментарий
+ratingwindow_backtoratings = Назад к оцениванию
+ratingwindow_backtoratings_category = Выбрать причину
+ratingwindow_newversion = Доступна новая версия, нажмите для обновления
+ratingwindow_invite_rw = С помощью этого инструмента вы можете давать оценки сайтам. Кликайте по цветным полоскам, чтобы показать, насколько вы доверяете сайту.
+warnings_information = Посмотреть оценки и комментарии
+warnings_ratesite = Доверяете этому сайту? <a>Оцените его</a>
+warnings_reratesite = <a>Нажмите сюда</a>, чтобы оценить сайт заново
+warnings_reputation = У этого сайта плохая репутация
+warnings_rating = Вы дали этому сайту низкую оценку
+warnings_unknown = Репутация этого сайта неизвестна
+warnings_warning = Внимание!
+warnings_goto = Открыть сайт
+warnings_leave = Покинуть сайт
+warnings_back = Назад
+warnings_reasontitle = Пользователи определили этот сайт как
+warnings_othersreasontitle = Мнение других пользователей о сайте
+warnings_noreasontitle = Пользователи не определи этот сайт пока что
+contextmenu_open_scorecard = Открыть оценочную карту WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>Что такое WOT</a>?
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Новая версия WOT установлена в ваш браузер.</p><p>Начните оценивать сайты, нажав иконку {ICO1} вверху.</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = OK, понятно
+wt_warning_text = <p>WOT показывает предупреждение, если вы оказались на сайте с плохой репутацией по мнению пользователей WOT или других данных.</p><p>{WT_LEARNMORE}</p><p>Если вы не хотите видеть такие предупреждения, их можно отключить.</p>
+wt_warning_turnoff = Отключить предупреждения
+wt_warning_ok = OK, понятно
+wt_rw_text_hdr = Поделитесь своим опытом!
+wt_rw_text = <p>WOT показывает репутацию сайтов на основе опыта пользователей.</p><p>Теперь вы можете оценивать и комментировать сайты прямо из этого окна. Оценивайте сайты, кликнув по цветной полоске.</p><p class='wot-c'><a id='wt-learnmore-link'>Что такое WOT</a>?</p>
+wt_donut_msg = </p>WOT показывает репутацию сайтов на основе опыта пользователей с помощью цветных иконок светофора.</p><p>Наведите мышь на иконку, чтобы увидеть подробности и возможные причины репутации.</p>
+wt_donut_btn = ОК, понятно
+fbl_hideforever = Больше не спрашивать
+fbl_submit = Отправить
+fbl_whatisthis = Что это?
+fbl_optout_text = Уверены, что не хотите выражать своё мнение о сайтах?
+fbl_optout_yes = да
+fbl_optout_no = нет
+fbl_whatisthis_text = <a href='http://www.mywot.com/?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> работает над улучшением безопасности и качества Интернета. Вы можете помочь нам, сообщая свое мнение о сайтах.
+fbl_final = Спасибо!
+fbl_this_website = этот сайт
+fbl_dismiss = пропустить
+ratingwindow_question0 = Насколько вы доверяете этому сайту?
+ratingwindow_question4 = Насколько этот сайт подходит для детей?
+ratingwindow_categories = Выберите хотя бы одну причину, объясняющую вашу оценку
+ratingwindow_comment = Расскажите о вашем опыте с этим сайтом
+ratingwindow_comment_placeholder =
+ratingwindow_comment_regtext = Чтобы публиковать комментарии, вам нужен аккаунт.
+ratingwindow_comment_register = Создать аккаунт
+ratingwindow_comment_captchatext = Введите защитный код в оценочной карте, чтобы опубликовать комментарий
+ratingwindow_comment_captchalink = Открыть оценочную карту
+ratingwindow_commenthints = <p>Будьте точны</p><p>Излагайте факты</p><p>Избегайте оскорбительных фраз</p><p>Не рекламируйте другие сайты</p>
+ratingwindow_novoted = Пожалуйста, укажите причину, объясняющую вашу оценку
+ratingwindow_morecats = ещё
+ratingwindow_rerate_change = изменить
+ratingwindow_rerate_category = указать
+ratingwindow_fulllist = полный список
+ratingwindow_vote_yes = Да
+ratingwindow_vote_no = Нет
+messages_ready = Репутация сайта
+testimony_0_levels_r0 = кликните чтобы оценить
+testimony_0_levels_r1 = не доверяю
+testimony_0_levels_r2 = не доверяю
+testimony_0_levels_r3 = подозрительный сайт
+testimony_0_levels_r4 = доверяю
+testimony_0_levels_r5 = доверяю
+testimony_4_levels_r0 = кликните, чтобы оценить
+testimony_4_levels_r1 = не подходит
+testimony_4_levels_r2 = не подходит
+testimony_4_levels_r3 = неудовлетворительно
+testimony_4_levels_r4 = подходит
+testimony_4_levels_r5 = подходит
+testimony_unrated = нет мнения
+testimony_delete = удалить
+buttons_delete = Удалить оценку
+buttons_delete_title = Удалить мою оценку этого сайта
+buttons_cancel = Отмена
+buttons_save = Сохранить
+buttons_ok = OK
+popup_headertext = кликните, чтобы посмотреть подробности
+popup_nocattext = высказать своё мнение об этом сайте
+ratingwindow_thankyou = Спасибо за ваше мнение!
+activityscore_text = Ваша оценка активности –
+activityscore_rookie = новичок
+activityscore_bronze = бронзовый
+activityscore_silver = серебряный
+activityscore_gold = золотой
+activityscore_platinum = платиновый
+activityscore_next = Продолжайте оценивать, чтобы получить {NEXT_LEVEL} уровень!
+bl_description = По данным стороннего источника этот сайт находится в черном списке
+bl_description_pl = По данным сторонних источников этот сайт находится в нескольких чёрных списках
+bl_information = WOT использует данные сторонних источников, чтобы предупреждать пользователей о технических угрозах. <a>Подробнее</a>
+bl_malware = Вредоносное ПО
+bl_phishing = Фишинг
+bl_scam = Мошенничество
+bl_spam = СПАМ
+bl_tracking = Онлайн слежение
+bl_other = Иные проблемы
+warning_button = Подробная информация о рейтинге
+warnings_message_rating = Вы выставили низкий рейтинг этому веб-сайту.
+warnings_message_reputation = У этого сайта плохая репутация.
+messages_offline = Отключено, когда браузер находится в автономном режиме.
+messages_disabled = Надстройка отключена
+auto_update_title = Обновление WOT
+auto_update_button_yes = Обновить сейчас
+description_restart = Перезапустите браузер для активизации WOT.
+messages_error_register = Не удалось активизировать надстройку.
+warning = Предупреждение WOT: %S
+description_uninstall = WOT будет удалена после перезапуска.
+warnings_blocked = Заблокировано
+auto_update_check = Включить автоматические обновления (рекомендуется)
+auto_update_button_no = Напомнить позднее
+auto_update_message = Доступна новая версия надстройки WOT. Обновить надстройку?
diff --git a/chrome/wot.jar!/locale/sv-SE/loading.html b/chrome/wot.jar!/locale/sv-SE/loading.html
index a2c0e67..2297258 100644
--- a/chrome/wot.jar!/locale/sv-SE/loading.html
+++ b/chrome/wot.jar!/locale/sv-SE/loading.html
@@ -1,23 +1,23 @@
-<?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>
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: Läser in webbplatsen …</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Läser in webbplatsen</div>
- </div>
-</body>
-</html>
+<?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>
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: Läser in webbplatsen …</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Läser in webbplatsen</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/sv-SE/wot.dtd b/chrome/wot.jar!/locale/sv-SE/wot.dtd
index fb9ec65..4c19c4d 100644
--- a/chrome/wot.jar!/locale/sv-SE/wot.dtd
+++ b/chrome/wot.jar!/locale/sv-SE/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "Aktiverad">
-<!ENTITY wotEnabled.accesskey "A">
-<!ENTITY wotRefresh.label "Uppdatera">
-<!ENTITY wotRefresh.accesskey "p">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Utmärkt">
-<!ENTITY wotTestify5.accesskey "U">
-<!ENTITY wotTestify4.label "Bra">
-<!ENTITY wotTestify4.accesskey "B">
-<!ENTITY wotTestify3.label "Otillräcklig">
-<!ENTITY wotTestify3.accesskey "O">
-<!ENTITY wotTestify2.label "Dålig">
-<!ENTITY wotTestify2.accesskey "D">
-<!ENTITY wotTestify1.label "Mycket dålig">
-<!ENTITY wotTestify1.accesskey "M">
-<!ENTITY wotPreferences.label "Inställningar…">
-<!ENTITY wotPreferences.accesskey "I">
-<!ENTITY wotMy.label "Mitt WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "Leta efter uppdateringar…">
-<!ENTITY wotCheckUpdates.accesskey "L">
-<!ENTITY wotLinkScorecard.label "Visa WOT-klassificeringskort…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "Initierar WOT…">
-<!ENTITY wotRating.wot "WOT-klassificering">
-<!ENTITY wotRating.my "Min klassificering">
-<!ENTITY wotRating.app0 "Pålitlighet:">
-<!ENTITY wotRating.app1 "Transaktionssäkerhet:">
-<!ENTITY wotRating.app2 "Sekretess:">
-<!ENTITY wotRating.app4 "Barnsäkerhet:">
-<!ENTITY wotRating.scorecard "Visa scorekort för klassificeringsdetaljer">
-<!ENTITY wotRating.comment "Lägg till en kommentar">
-<!ENTITY wotRating.guide "Guide">
-<!ENTITY wotRating.prefs "Inställningar">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "I partnerskap med">
-<!ENTITY wotRating.update "Ny version tillgänglig – klicka för att uppdatera">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "Aktiverad">
+<!ENTITY wotEnabled.accesskey "A">
+<!ENTITY wotRefresh.label "Uppdatera">
+<!ENTITY wotRefresh.accesskey "p">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "Inställningar…">
+<!ENTITY wotPreferences.accesskey "I">
+<!ENTITY wotMy.label "Mitt WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "Leta efter uppdateringar…">
+<!ENTITY wotCheckUpdates.accesskey "L">
+<!ENTITY wotLinkScorecard.label "Visa WOT-klassificeringskort…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "Initierar WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/sv-SE/wot.properties b/chrome/wot.jar!/locale/sv-SE/wot.properties
index 5ba242c..93e1f98 100644
--- a/chrome/wot.jar!/locale/sv-SE/wot.properties
+++ b/chrome/wot.jar!/locale/sv-SE/wot.properties
@@ -1,57 +1,136 @@
-language = sv-SE
-auto_update_title = WOT Update
-auto_update_message = En ny version av WOT är tillgänglig. Vill du uppdatera tilläggsprogrammet?
-auto_update_check = Aktivera automatiska uppdateringar (rekommenderas)
-auto_update_button_yes = Uppdatera nu
-auto_update_button_no = Påminn mig senare
-description_disabled = Du har inaktiverat tilläggsprogrammet.
-description_error_query = Misslyckades att läsa in klassificeringar.
-description_error_register = Misslyckades att aktivera tilläggsprogrammet.
-description_inprogress = Läser in klassificeringar…
-description_notready = Aktiverar WOT…
-description_offline = Inaktiverat när webbläsaren är offline.
-description_private = Inga tillgängliga klassificeringar.
-description_rating_5 = Utmärkt
-description_rating_4 = Bra
-description_rating_3 = Otillräcklig
-description_rating_2 = Dålig
-description_rating_1 = Mycket dålig
-description_rating_0 = Inte tillräckligt många klassificeringar för webbplatsen
-description_restart = Starta om webbläsaren om du vill aktivera WOT.
-description_uninstall = WOT avinstalleras efter omstart.
-help_0 =
-help_1 = Mycket dålig
-help_2 = Dålig
-help_3 = Otillräcklig
-help_4 = Bra
-help_5 = Utmärkt
-help_comment =
-help_comment_link = Vill du lägga till en kommentar?
-warning = WOT-varning: %S
-warning_warning = Varning!
-warning_blocked = Blockerad
-warning_button = Klassificeringsdetaljer
-warning_message_normal = Den här webbplatsen har dåligt rykte.
-warning_message_userrated = Du har gett webbplatsen klassificeringen Dålig.
-warning_message_unknown = Webbplatsen har en okänd klassificering.
-warning_info = Visa klassificeringsdetaljer och kommentarer
-warning_rate = Webbplatsen är säker - jag vill <a>klassificera den</a>
-warning_goto = Gå till webbsidan
-warning_leave = Lämna webbsidan
-warning_back = Gå tillbaka
-warning_desc_normal = Den här webbplatsen har dåligt rykte
-warning_desc_userrated = Du har gett webbplatsen klassificeringen Dålig, vilket gav upphov till en varning
-warning_desc_unknown = Webbplatsen har en okänd klassificering
-rating_0 = Pålitlighet
-rating_1 = Transaktionssäkerhet
-rating_2 = Sekretess
-rating_4 = Barnsäkerhet
-popup_0 = Pålitlighet
-popup_1 = Transakt.säkerhet
-popup_2 = Sekretess
-popup_4 = Barnsäkerhet
-user_score_title = Min aktivitetsnivå
-user_score_mypage = Visa min sida
-user_score_register = Registrera dig nu
-user_score_improve = Förbättra aktivitetsnivån med klassificering av nya webbplatser.
-user_score_top = Du är bland de %S mest aktiva användarna.
+locale = sv
+lang = sv-SE
+ext_description = WOT visar vilka webbsidor som är säkra baserat på miljontals användares erfarenhet från hela världen.
+components_0 = Pålitlighet
+components_4 = Barnsäkerhet
+components__short_0 = Pålitlighet
+components__short_4 = Barnsäkerhet
+reputationlevels_r0 = Okänd
+reputationlevels_r1 = Mycket dålig
+reputationlevels_r2 = Dålig
+reputationlevels_r3 = Otillräcklig
+reputationlevels_r4 = Bra
+reputationlevels_r5 = Utmärkt
+messages_initializing = Initierar WOT…
+messages_notready = Aktiverar WOT…
+messages_failed = Misslyckades att läsa in klassificeringar.
+messages_notavailable = Inga tillgängliga klassificeringar.
+messages_loading = Läser in klassificeringar…
+ratingwindow_settings = Inställningar
+ratingwindow_guide = Rundtur
+ratingwindow_forum = Forum
+ratingwindow_profile = Min profil
+ratingwindow_wotrating = Webbsidans anseende baserat på användarbetyg
+ratingwindow_myrating = Min klassificering
+ratingwindow_viewscorecard = Visa detaljer och kommentarer
+ratingwindow_addcomment = Skriv en kommentar
+ratingwindow_editcomment = Redigera kommentar
+ratingwindow_backtoratings = Tillbaka till betygen
+ratingwindow_backtoratings_category = Välj en kategori
+ratingwindow_newversion = Ny version tillgänglig – klicka för att uppdatera
+ratingwindow_invite_rw = Du kan betygsätta webbsidor genom att använda det här verktyget. Klicka på de färgade staplarna för att visa hur mycket du litar på en webbsida.
+warnings_information = Visa detaljer och kommentarer
+warnings_ratesite = Om du litar på den här sidan, vänligen <a>betygsätt den</a>
+warnings_reratesite = <a>Klicka här</a> om du vill betygsätta sidan igen
+warnings_reputation = Den här webbplatsen har dåligt rykte
+warnings_rating = Du har gett webbplatsen klassificeringen Dålig,<br/>vilket gav upphov till en varning
+warnings_unknown = Webbplatsen har en okänd klassificering
+warnings_warning = Varning!
+warnings_goto = Gå till webbsidan
+warnings_leave = Avsluta
+warnings_back = Gå tillbaka
+warnings_reasontitle = Användare har identifierat följande problem
+warnings_othersreasontitle = Andra användares synpunkter
+warnings_noreasontitle = Användare har inte identifierat den här sidan än och har bara betygsatt den
+contextmenu_open_scorecard = Öppna WOT Score-kort
+wt_learnmore_link = <a id='wt-learnmore-link'>Lär dig mer</a> om WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Nya WOT har lagts till din webbläsare.</p><p>Börja betygsätta webbsidor genom att klicka på denna ikon {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = Ok, uppfattat
+wt_warning_text = <p>WOT varnar dig om du hamnar på en sida med dåligt rykte baserat på andra användares betyg eller tredje parters svartlistning. Varningen visar dig även orsakerna bakom det dåliga ryktet.</p><p>{WT_LEARNMORE}</p><p>Om du inte vill se varningarna kan du stänga av dem.</p>
+wt_warning_turnoff = Stäng av varningar
+wt_warning_ok = Ok, uppfattat
+wt_rw_text_hdr = Dela med dig av dina erfarenheter!
+wt_rw_text = <p>WOT betygfönster visar dig webbsidans rykte baserat på andra användares erfarenheter.</p><p>Nu kan du betygsätta och kommentera direkt från det uppdaterade fönstret. Börja betygsätta genom att klicka på de färgade skalorna.</p><p class='wot-c'><a id='wt-learnmore-link'>Lär dig mer</a>om WOT.</p>
+wt_donut_msg = <p>WOT visar dig webbsidors rykten baserat på andra användares erfarenheter genom att visa dig trafikljusliknande ikoner.</p><p>För muspekaren över ikonen för att se ryktena och orsakerna bakom dem.</p>
+wt_donut_btn = Ok, uppfattat
+fbl_hideforever = Göm för alltid
+fbl_submit = Skicka
+fbl_whatisthis = Vad är det här?
+fbl_optout_text = Om du föredrar att inte svara på några frågor, klicka "ja"
+fbl_optout_yes = ja
+fbl_optout_no = Nej
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a>arbetar för att främja säkerhet och kvalitet över hela webben för miljontals användare. Du kan hjälpa till genom att lämna dina synpunkter varje gång du ser det här meddelandet.
+fbl_final = Tack!
+fbl_this_website = den här webbsidan
+fbl_dismiss = avvisa
+ratingwindow_question0 = Hur mycket litar du på den här sidan?
+ratingwindow_question4 = Hur lämplig är den här webbsidan för barn?
+ratingwindow_categories = Välj minst en kategori för att stödja ditt betyg
+ratingwindow_comment = Lämna en kommentar och beskriv din erfarenhet av den här sidan
+ratingwindow_comment_placeholder = skriv din kommentar här...
+ratingwindow_comment_regtext = Du behöver ett konto för att publicera din kommentar.
+ratingwindow_comment_register = Skapa ett konto nu
+ratingwindow_comment_captchatext = Du måste skriva in captchan på scorekortet för att publicera din kommentar.
+ratingwindow_comment_captchalink = Öppna scorekortet nu
+ratingwindow_commenthints = <p>Var exakt</p><p>Ge bevis eller ett exempel</p><p>Kommentera i enlighet med dina egna erfarenheter</p><p>Spamma inte</p>
+ratingwindow_novoted = Klicka här för att ange ett skäl till ditt betyg genom att välja en kategori
+ratingwindow_morecats = mer
+ratingwindow_rerate_change = ändra
+ratingwindow_rerate_category =
+ratingwindow_fulllist = visa hela listan
+ratingwindow_vote_yes = Ja
+ratingwindow_vote_no = Nej
+messages_ready = Anseende hos
+testimony_0_levels_r0 = klicka för att betygsätta
+testimony_0_levels_r1 = Jag litar inte på
+testimony_0_levels_r2 = Jag litar inte på
+testimony_0_levels_r3 = den är misstänksam
+testimony_0_levels_r4 = Jag litar på
+testimony_0_levels_r5 = Jag litar på
+testimony_4_levels_r0 = klicka för att betygsätta
+testimony_4_levels_r1 = inte lämplig
+testimony_4_levels_r2 = inte lämplig
+testimony_4_levels_r3 = var försiktig
+testimony_4_levels_r4 = lämplig
+testimony_4_levels_r5 = lämplig
+testimony_unrated = ingen åsikt
+testimony_delete = ta bort
+buttons_delete = Ta bort betyg
+buttons_delete_title = Ta bort mina betyg och kategorier för webbsidan
+buttons_cancel = Avbryt
+buttons_save = Spara
+buttons_ok = Ok
+popup_headertext = klicka för att visa detaljer
+popup_nocattext = dela din åsikt om den här webbsidan
+ratingwindow_thankyou = Tack för att du delar med dig av din upplevelse!
+activityscore_text = Din aktivitetspoäng är nu
+activityscore_rookie = nybörjare
+activityscore_bronze = brons
+activityscore_silver = silver
+activityscore_gold = guld
+activityscore_platinum = platina
+activityscore_next = Fortsätt betygsätta för att nå {NEXT_LEVEL} nivån!
+bl_description = Den här webbsidan förekommer på en tredje parts svarta lista
+bl_description_pl = Den här webbsidan förekommer på en tredje parts svarta lista
+bl_information = WOT använder sig av tredje parters svarta listor för att varna användare för tekniska hot så som virus och skadliga program. <a>Läs mer</a>
+bl_malware = Skadliga program
+bl_phishing = Nätfiske
+bl_scam = Bedrägeri
+bl_spam = SPAM
+bl_tracking = Spårning
+bl_other = Annan anledning
+warning_button = Klassificeringsdetaljer
+warnings_message_rating = Du har gett webbplatsen klassificeringen Dålig.
+warnings_message_reputation = Den här webbplatsen har dåligt rykte.
+messages_offline = Inaktiverat när webbläsaren är offline.
+messages_disabled = Du har inaktiverat tilläggsprogrammet
+auto_update_title = WOT Update
+auto_update_button_yes = Uppdatera nu
+description_restart = Starta om webbläsaren om du vill aktivera WOT.
+messages_error_register = Misslyckades att aktivera tilläggsprogrammet.
+warning = WOT-varning: %S
+description_uninstall = WOT avinstalleras efter omstart.
+warnings_blocked = Blockerad
+auto_update_check = Aktivera automatiska uppdateringar (rekommenderas)
+auto_update_button_no = Påminn mig senare
+auto_update_message = En ny version av WOT är tillgänglig. Vill du uppdatera tilläggsprogrammet?
diff --git a/chrome/wot.jar!/locale/tr-TR/wot.dtd b/chrome/wot.jar!/locale/tr-TR/wot.dtd
index df004e1..3ddab1b 100644
--- a/chrome/wot.jar!/locale/tr-TR/wot.dtd
+++ b/chrome/wot.jar!/locale/tr-TR/wot.dtd
@@ -6,16 +6,6 @@
<!ENTITY wotRefresh.accesskey "R">
<!ENTITY wotContent.label "WOT">
<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Mükemmel">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "İyi">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "Tatmin edici değil">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "Düşük">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "Çok kötü">
-<!ENTITY wotTestify1.accesskey "V">
<!ENTITY wotPreferences.label "Ayarlar…">
<!ENTITY wotPreferences.accesskey "S">
<!ENTITY wotMy.label "My WOT…">
@@ -25,17 +15,4 @@
<!ENTITY wotLinkScorecard.label "Puan kartını görüntüle…">
<!ENTITY wotLinkScorecard.accesskey "s">
<!-- Rating window -->
-<!ENTITY wotRating.title "WOT başlatılıyor…">
-<!ENTITY wotRating.wot "WOT oyu">
-<!ENTITY wotRating.my "Oyum">
-<!ENTITY wotRating.app0 "Dürüstlük:">
-<!ENTITY wotRating.app1 "Sağlayıcı güvenliği:">
-<!ENTITY wotRating.app2 "Gizlilik:">
-<!ENTITY wotRating.app4 "Çocuk güvenliği:">
-<!ENTITY wotRating.scorecard "Oy detayları için puan kartını göster">
-<!ENTITY wotRating.comment "Yorumunuzu ekleyin">
-<!ENTITY wotRating.guide "Rehber">
-<!ENTITY wotRating.prefs "Ayarlar">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "Ortak olduğu yer">
-<!ENTITY wotRating.update "Yeni sürüm mevcut - güncellemek için buraya tıklayın">
+<!ENTITY wotRating.title "WOT başlatılıyor…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/tr-TR/wot.properties b/chrome/wot.jar!/locale/tr-TR/wot.properties
index 1a5d5e0..3681c53 100644
--- a/chrome/wot.jar!/locale/tr-TR/wot.properties
+++ b/chrome/wot.jar!/locale/tr-TR/wot.properties
@@ -1,57 +1,136 @@
-language = tr-TR
+locale = tr
+lang = tr-TR
+ext_description = WOT oylamaları, global anlamda milyonlarca kullanıcının deneyimleri ile milyonlarca web sayfasının oylanması ile geliştirilmiştir.
+components_0 = Dürüstlük
+components_4 = Çocuk güvenliği
+components__short_0 = Dürüstlük
+components__short_4 = Çocuk güvenliği
+reputationlevels_r0 = Bilinmeyen
+reputationlevels_r1 = Çok kötü
+reputationlevels_r2 = Düşük
+reputationlevels_r3 = Tatmin edici değil
+reputationlevels_r4 = İyi
+reputationlevels_r5 = Mükemmel
+messages_initializing = WOT başlatılıyor…
+messages_notready = WOT… etkinleştiriliyor
+messages_failed = Oyları yüklemek başarısız oldu; hemen tekrar deneniyor.
+messages_notavailable = Oylar erişilebilir değil.
+messages_loading = Oylar yükleniyor...
+ratingwindow_settings = Ayarlar
+ratingwindow_guide = Tur
+ratingwindow_forum = Forum
+ratingwindow_profile = Profilim
+ratingwindow_wotrating = Kullanıcı derecelendirmelerine göre web-sitesinin itibarı
+ratingwindow_myrating = Oyum
+ratingwindow_viewscorecard = Ayrıntıları ve yorumları görüntüle
+ratingwindow_addcomment = Bir yorum ekle
+ratingwindow_editcomment = Yorumu düzenle
+ratingwindow_backtoratings = Derecelendirmelere geri dön
+ratingwindow_backtoratings_category = Bir kategori seçin
+ratingwindow_newversion = Yeni sürüm mevcut - güncellemek için buraya tıklayın
+ratingwindow_invite_rw = You can rate websites using this tool. Click on the colored bars to express how much you trust a website.
+warnings_information = Ayrıntıları ve yorumları görüntüle
+warnings_ratesite = Bu siteye güveniyorsanız, lütfen <a>derecelendirin</a>
+warnings_reratesite = Bu siteyi tekrar derecelendirmek istiyorsanız <a>buraya tıklayın</a>
+warnings_reputation = Bu site kullanıcı oylarına göre<br/> kötü bir üne sahip
+warnings_rating = Bu siteye uyarıya sebep olan <br />düşük bir oy verdiniz
+warnings_unknown = Bu site bilinmeyen bir oylamaya sahip
+warnings_warning = Uyarı!
+warnings_goto = Siteye gite
+warnings_leave = Çıkış
+warnings_back = Geri git
+warnings_reasontitle = Kullanıcılar aşağıdaki sorunları saptadılar
+warnings_othersreasontitle = Diğer kullanıcıların görüşleri
+warnings_noreasontitle = Kullanıcılar bu siteyi henüz tanımlamadılar, sadece derecelendirdiler
+contextmenu_open_scorecard = WOT skor kartını aç
+wt_learnmore_link = WOT hakkında <a id='wt-learnmore-link'>daha fazlasını öğrenin</a>.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Yeni WOT tarayıcınıza eklendi.</p><p>Bu ikona tıklayarak web-sitelerini derecelendirmeye başlayın {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = TAMAM, anladım
+wt_warning_text = <p>WOT, kötü itibarlı bir siteye denk geldiğinizde, diğer kullanıcıların derecelendirmeleri ya da üçüncü taraflardan gelen kara listelere dayanarak, sizi uyarır. Uyarı, size kötü itibarın arkasındaki sebepleri de ayrıca gösterir.</p><p>{WT_LEARNMORE}</p><p>Eğer uyarıları görmek istemezseniz, kapatabilirsiniz.</p>
+wt_warning_turnoff = Uyarları kapat
+wt_warning_ok = TAMAM, anladım
+wt_rw_text_hdr = Deneyimlerinizi paylaşın!
+wt_rw_text = <p>WOT derecelendirme penceresi, diğer kullanıcıların deneyimlerine dayanarak size websitesinin itibarını gösterir. Artık doğrudan güncellenen pencereden derecelendirme ve yorum yapabilirsiniz. Renkli çubuklara tıklayarak derecelendirmeye başlayın.</p><p class='wot-c'>WOT hakkında <a id='wt-learnmore-link'>daha fazlasını öğrenin</a></p>
+wt_donut_msg = <p>WOT, diğer kullanıcıların deneyimlerine dayanarak size trafik ışığı biçimindeki ikonlar göstermek yoluyla web-sitesi itibarlarını gösterir.</p><p>İtibarları ve bunların arkasındaki sebepleri görmek için farenizi ikonun üstünde tutun.</p>
+wt_donut_btn = TAMAM, anladım
+fbl_hideforever = Sonsuza dek gizle
+fbl_submit = Gönder
+fbl_whatisthis = Bu nedir?
+fbl_optout_text = Eğer kendinize sorular sorulmamasını tercih ediyorsanız, "evet"e tıklayın
+fbl_optout_yes = evet
+fbl_optout_no = Hayır
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a>, web üzerindeki milyonlarca kullanıcı için güvenlik ve kaliteyi teşvik etmek üzere çalışıyor. Siz de bu iletiyi gördüğünüz her an görüşlerinizi göndererek bize yardımcı olabilirsiniz.
+fbl_final = Teşekkürler!
+fbl_this_website = bu web-sitesi
+fbl_dismiss = reddet
+ratingwindow_question0 = Bu siteye ne kadar güveniyorsunuz?
+ratingwindow_question4 = Bu site çocuklar için ne kadar uygun?
+ratingwindow_categories = Derecelendirmenizi desteklemek için en az bir kategori seçin
+ratingwindow_comment = Bu siteye ilişkin deneyiminizi betimlemek için bir yorum bırakın
+ratingwindow_comment_placeholder = yorumunuzu buraya yazın…
+ratingwindow_comment_regtext = Yorumunuzu yayınlamak için bir hesabınız olması gerekiyor.
+ratingwindow_comment_register = Şimdi bir hesap oluşturun
+ratingwindow_comment_captchatext = Yorumunuzu yayınlamanız için skor kartındaki güvenlik kodunu girmeniz gerekiyor.
+ratingwindow_comment_captchalink = Skor kartını şimdi aç
+ratingwindow_commenthints = <p>Açık olun</p><p>Kanıt ya da örnek verin</p><p>Gerçek deneyimleriniz doğrultusunda yorum yapın</p><p>Spam yapmayın</p>
+ratingwindow_novoted = Bir kategori seçerek derecelendirmenize bir gerekçe sunmak için buraya tıklayın
+ratingwindow_morecats = daha fazla
+ratingwindow_rerate_change = değiştir
+ratingwindow_rerate_category =
+ratingwindow_fulllist = tam listeyi göster
+ratingwindow_vote_yes = Evet
+ratingwindow_vote_no = Hayır
+messages_ready = İtibarı
+testimony_0_levels_r0 = derecelendirmek için tıklayın
+testimony_0_levels_r1 = Güvenmiyorum
+testimony_0_levels_r2 = Güvenmiyorum
+testimony_0_levels_r3 = Şüpheli
+testimony_0_levels_r4 = Güveniyorum
+testimony_0_levels_r5 = Güveniyorum
+testimony_4_levels_r0 = derecelendirmek için tıklayın
+testimony_4_levels_r1 = uygun değil
+testimony_4_levels_r2 = uygun değil
+testimony_4_levels_r3 = temkinli olun
+testimony_4_levels_r4 = uygun
+testimony_4_levels_r5 = uygun
+testimony_unrated = görüş yok
+testimony_delete = sil
+buttons_delete = derecelendirmeleri sil
+buttons_delete_title = bu web-sitesi için derecelendirmelerimi ve kategorilerimi sil
+buttons_cancel = İptal
+buttons_save = Kaydet
+buttons_ok = TAMAM
+popup_headertext = ayrıntıları görüntülemek için tıklayın
+popup_nocattext = bu websitesi hakkındaki görüşünüzü paylaşın
+ratingwindow_thankyou = Deneyiminizi paylaştığınız için teşekkürler!
+activityscore_text = Etkinlik skorunuz şu anda
+activityscore_rookie = çaylak
+activityscore_bronze = bronz
+activityscore_silver = gümüş
+activityscore_gold = altın
+activityscore_platinum = platin
+activityscore_next = {NEXT_LEVEL} düzeyine ulaşmak için derecelendirmeye devam edin!
+bl_description = Bu web-sitesi bir üçüncü taraf kara listesinde görünmektedir
+bl_description_pl = Bu web-sitesi üçüncü taraf kara listelerinde görünmektedir
+bl_information = WOT, virüs ya da kötü amaçlı yazılımlar gibi teknik tehditler hakkında kullanıcıları uyarmak için üçüncü taraf kara listelerini kullanmaktadır <a>Daha fazlasını okuyun</a>
+bl_malware = Kötü amaçlı yazılım
+bl_phishing = Kimlik avı (Phishing)
+bl_scam = Dolandırıcılık (Scam)
+bl_spam = İstenmeyen İleti (SPAM)
+bl_tracking = İzleme
+bl_other = Diğer sebep
+warning_button = Değerlendirme bilgileri
+warnings_message_rating = Bu siteye uyarıya sebep olan düşük bir oy verdiniz
+warnings_message_reputation = Bu site kullanıcı oylarına göre kötü bir üne sahip
+messages_offline = Tarayıcı çevrimdışıyken devre dışıdır.
+messages_disabled = Eklentileri devre dışı bıraktınız
auto_update_title = WOT Güncelleme
-auto_update_message = Yeni sürüm mevcut - güncellemek için buraya tıklayın?
-auto_update_check = Otomatik güncelleştirmeleri etkinleştir (önerilen)
auto_update_button_yes = Şimdi güncelle
-auto_update_button_no = Daha sonra hatırlat
-description_disabled = Eklentileri devre dışı bıraktınız; etkinleştirmek için tıklayın.
-description_error_query = Oyları yüklemek başarısız oldu; hemen tekrar deneniyor.
-description_error_register = Failed to activate the add-on; retrying shortly.
-description_inprogress = Oylar yükleniyor…
-description_notready = WOT… etkinleştiriliyor…
-description_offline = Tarayıcı çevrimdışıyken devre dışıdır.
-description_private = Oylar erişilebilir değil
-description_rating_5 = Mükemmel
-description_rating_4 = İyi
-description_rating_3 = Tatmin edici değil
-description_rating_2 = Düşük
-description_rating_1 = Çok kötü
-description_rating_0 = Bu site için yeterli değerlendirme yok
description_restart = WOT’u etkinleştirmek için tarayıcınızı yeniden başlatın.
-description_uninstall = WOT sisteminiz yeniden başlatıldıktan sonra kaldırılacak.
-help_0 =
-help_1 = Çok kötü
-help_2 = Düşük
-help_3 = Tatmin edici değil
-help_4 = İyi
-help_5 = Mükemmel
-help_comment = Oyunuz benzeşmiyor.
-help_comment_link = Yorum bırakın?
+messages_error_register = Failed to activate the add-on; retrying shortly.
warning = WOT Uyarısı: %S
-warning_warning = Uyarı!
-warning_blocked = Kilitlendi
-warning_button = Değerlendirme bilgileri
-warning_message_normal = Bu site kullanıcı oylarına göre kötü bir üne sahip
-warning_message_userrated = Bu siteye uyarıya sebep olan düşük bir oy verdiniz
-warning_message_unknown = Bu site bilinmeyen bir oylamaya sahip
-warning_info = Oylama detaylarına ve yorumlara bakın
-warning_rate = Bu site güvenli - Onu <a>oylamak</a> istiyorum
-warning_goto = Siteye git
-warning_leave = Siteden ayrıl
-warning_back = Geri git
-warning_desc_normal = Bu site kullanıcı oylarına göre kötü bir üne sahip
-warning_desc_userrated = Bu siteye uyarıya sebep olan düşük bir oy verdiniz
-warning_desc_unknown = Bu site bilinmeyen bir oylamaya sahip
-rating_0 = Dürüstlük
-rating_1 = Sağlayıcı güvenliği
-rating_2 = Gizlilik
-rating_4 = Çocuk güvenliği
-popup_0 = Dürüstlük
-popup_1 = Sağlayıcı güvenliği
-popup_2 = Gizlilik
-popup_4 = Çocuk güvenliği
-user_score_title = Etkinlik skorum
-user_score_mypage = Sayfamı görüntüle
-user_score_register = Şimdi kaydol
-user_score_improve = Yeni siteleri değerlendirerek etkinlik skorunuzu artırın.
-user_score_top = En etkin %S kullanıcı arasındasın.
+description_uninstall = WOT sisteminiz yeniden başlatıldıktan sonra kaldırılacak.
+warnings_blocked = Kilitlendi
+auto_update_check = Otomatik güncelleştirmeleri etkinleştir (önerilen)
+auto_update_button_no = Daha sonra hatırlat
+auto_update_message = Yeni sürüm mevcut - güncellemek için buraya tıklayın?
diff --git a/chrome/wot.jar!/locale/uk-UA/loading.html b/chrome/wot.jar!/locale/uk-UA/loading.html
index a024f0d..f483cd2 100644
--- a/chrome/wot.jar!/locale/uk-UA/loading.html
+++ b/chrome/wot.jar!/locale/uk-UA/loading.html
@@ -1,24 +1,24 @@
-<?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">
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: завантаження сайту...</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">Завантаження сайту</div>
- </div>
-</body>
-</html>
+<?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">
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: завантаження сайту...</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">Завантаження сайту</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/uk-UA/wot.dtd b/chrome/wot.jar!/locale/uk-UA/wot.dtd
index 1bd1c63..5a34cbc 100644
--- a/chrome/wot.jar!/locale/uk-UA/wot.dtd
+++ b/chrome/wot.jar!/locale/uk-UA/wot.dtd
@@ -6,16 +6,6 @@
<!ENTITY wotRefresh.accesskey "О">
<!ENTITY wotContent.label "WOT">
<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "Відмінно">
-<!ENTITY wotTestify5.accesskey "П">
-<!ENTITY wotTestify4.label "Добре">
-<!ENTITY wotTestify4.accesskey "Х">
-<!ENTITY wotTestify3.label "Незадовільно">
-<!ENTITY wotTestify3.accesskey "Н">
-<!ENTITY wotTestify2.label "Погано">
-<!ENTITY wotTestify2.accesskey "л">
-<!ENTITY wotTestify1.label "Дуже погано">
-<!ENTITY wotTestify1.accesskey "О">
<!ENTITY wotPreferences.label "Налаштування…">
<!ENTITY wotPreferences.accesskey "Н">
<!ENTITY wotMy.label "MyWOT…">
@@ -25,17 +15,4 @@
<!ENTITY wotLinkScorecard.label "Переглянути детальніше про рейтинг">
<!ENTITY wotLinkScorecard.accesskey "W">
<!-- Rating window -->
-<!ENTITY wotRating.title "Ініціалізація WOT…">
-<!ENTITY wotRating.wot "Рейтинг WOT">
-<!ENTITY wotRating.my "Мій рейтинг">
-<!ENTITY wotRating.app0 "Заслуговує довіри:">
-<!ENTITY wotRating.app1 "Надійність продавця:">
-<!ENTITY wotRating.app2 "Приватність:">
-<!ENTITY wotRating.app4 "Безпека для дітей:">
-<!ENTITY wotRating.scorecard "Переглянути детальніше про рейтинг">
-<!ENTITY wotRating.comment "Додайте свій коментар">
-<!ENTITY wotRating.guide "Керівництво">
-<!ENTITY wotRating.prefs "Налаштування">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "У партнерстві з">
-<!ENTITY wotRating.update "Доступна нова версія - натисніть для оновлення">
+<!ENTITY wotRating.title "Ініціалізація WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/uk-UA/wot.properties b/chrome/wot.jar!/locale/uk-UA/wot.properties
index ded13a2..836c548 100644
--- a/chrome/wot.jar!/locale/uk-UA/wot.properties
+++ b/chrome/wot.jar!/locale/uk-UA/wot.properties
@@ -1,57 +1,136 @@
-language = uk-UA
+locale = uk
+lang = uk-UA
+ext_description = WOT допомагає знайти надійні сайти на основі досвіду мільйонів користувачів і є одним з найпопулярніших розширень в Chrome.
+components_0 = Заслуговує довіри
+components_4 = Безпека для дітей
+components__short_0 = Заслуговує довіри
+components__short_4 = Безпека для дітей
+reputationlevels_r0 = Невідомо
+reputationlevels_r1 = Дуже погано
+reputationlevels_r2 = Погано
+reputationlevels_r3 = Незадовільно
+reputationlevels_r4 = Добре
+reputationlevels_r5 = Відмінно
+messages_initializing = Ініціалізація WOT…
+messages_notready = Активація WOT…
+messages_failed = Не вдалося завантажити рейтинги; повторна спроба незабаром.
+messages_notavailable = Рейтинги недоступні.
+messages_loading = Завантаження рейтингів…
+ratingwindow_settings = Налаштування
+ratingwindow_guide = Тур
+ratingwindow_forum = Форум
+ratingwindow_profile = Мій обілковий запис
+ratingwindow_wotrating = Репутація сайту, що базується на оцінках користувачів
+ratingwindow_myrating = Мій оцінка
+ratingwindow_viewscorecard = Переглянути деталі та коментарі
+ratingwindow_addcomment = Додати коментар
+ratingwindow_editcomment = Редагувати коментар
+ratingwindow_backtoratings = Назад до оцінювання
+ratingwindow_backtoratings_category = Виберіть категорію
+ratingwindow_newversion = Доступна нова версія - натисніть для оновлення
+ratingwindow_invite_rw = Ви можете оцінювати вебсайти, використовуючи цей інстурмент. Натискайте на кольорі смужки, щоб виразити свою довіру до сайту.
+warnings_information = Переглянути деталі та коментарі
+warnings_ratesite = Якщо ви довіряєте цьому сайт, будь ласка,<br/> <a>оцініть його</a>
+warnings_reratesite = <a>Натисніть тут</a>, якщо ви хочете дати іншу оцінку сайту.
+warnings_reputation = Цей сайт має погану репутацію<br/>на основі рейтингів користувачів
+warnings_rating = Ви дали цьому сайту низький рейтинг
+warnings_unknown = Цей сайт має невідомий рейтинг
+warnings_warning = Попередження!
+warnings_goto = Перейти на сайт
+warnings_leave = Вихід
+warnings_back = Повернутися назад
+warnings_reasontitle = Користувачі помітили наступні проблеми
+warnings_othersreasontitle = Думки інших користувачів
+warnings_noreasontitle = Користувачі ще не виявили цього сайту, тільки оцінили його
+contextmenu_open_scorecard = Відкрити оціночну карту WOT
+wt_learnmore_link = <a id='wt-learnmore-link'>Дізнатися більше</a> про WOT.
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>Новий WOT було додано до вашого браузера.</p><p>Розпочніть оцінювати сайти, натиснувши на цій іконці {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = Добре, зрозумів
+wt_warning_text = <p>WOT попереджає вас, якщо ви потрапили на сайт із поганою репутацією, яка базується на рейтингу інших користувачів або чорних списків від третіх осіб. Попередження також показує вам причини такої поганої репутації.</p><p>{WT_LEARNMORE}</p><p>Якщо ви не хочете бачити застереження, ви можете вимкнути їх.</p>
+wt_warning_turnoff = Вимкнути застереження
+wt_warning_ok = Добре, зрозумів
+wt_rw_text_hdr = Поділіться своїм враженням!
+wt_rw_text = <p>Вікно рейтингу WOT показує вам репутацію сайту, яка базується на досвіді інших користувачів.</p><p>Тепер ви можете самостійно оцінювати та коментувати безпосередньо із оновленого вікна. Почніть оцінювати, натиснувши на кольорові смужки.</p><p class='wot-c'><a id='wt-learnmore-link'>Дізнатися більше</a> про WOT.</p>
+wt_donut_msg = <p>WOT показує вам репутацію сайту, виходячи із досвіду інших користувачів, показуючи вам іконки у вигляді світлофору.</p><p>Щоб побачити репутацію сайту та її подробиці, наведіть курсор мишки на значок.</p>
+wt_donut_btn = Добре, зрозумів
+fbl_hideforever = Більше не показувати
+fbl_submit = Підтвердити
+fbl_whatisthis = Що це?
+fbl_optout_text = Якщо ви не хочете отримувати запитання, натисніть "так"
+fbl_optout_yes = так
+fbl_optout_no = Ні
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> працює з метою покращення безпеки і якості по всьому Інтернету для мільйонів користувачів. Ви можете допомогти, висловивши свої думки, коли ви бачите цей текст.
+fbl_final = Дякую!
+fbl_this_website = цей сайт
+fbl_dismiss = відмінити
+ratingwindow_question0 = Наскільки ви довіряєте сайту?
+ratingwindow_question4 = Cайт підходить для дітей?
+ratingwindow_categories = Вибер. принайні одну катег. щоб підтв. оцінку
+ratingwindow_comment = Залиште коментар, щоб описати свій досвід від користування цим сайтом
+ratingwindow_comment_placeholder = напишіть свій коментра тут…
+ratingwindow_comment_regtext = Необхідно мати обліковий запис, щоб опублікувати свій коментар.
+ratingwindow_comment_register = Створити обліковий запис
+ratingwindow_comment_captchatext = Вам потрібно ввести число з картинки у поле, щоб опублікувати свій коментар.
+ratingwindow_comment_captchalink = Відкрити поле для вводу числа зараз
+ratingwindow_commenthints = <p>Будьте точними</p><p>Надайте докази або приклад</p><p>Залиште коментар згідно свого справжнього досвіду від користування</p><p>Не залишайте спам</p>
+ratingwindow_novoted = Натисніть тут, щоб надати причину вашої оцінки, вибравши категорію
+ratingwindow_morecats = більше
+ratingwindow_rerate_change = змінити
+ratingwindow_rerate_category =
+ratingwindow_fulllist = показати весь список
+ratingwindow_vote_yes = Так
+ratingwindow_vote_no = Ні
+messages_ready = Репутація
+testimony_0_levels_r0 = натисніть, щоб оцінити
+testimony_0_levels_r1 = Я не довіряю
+testimony_0_levels_r2 = Я не довіряю
+testimony_0_levels_r3 = підозрілий
+testimony_0_levels_r4 = Я довіряю
+testimony_0_levels_r5 = Я довіряю
+testimony_4_levels_r0 = натисніть, щоб оцінити
+testimony_4_levels_r1 = не підходить
+testimony_4_levels_r2 = не підходить
+testimony_4_levels_r3 = будьте обачні
+testimony_4_levels_r4 = підходить
+testimony_4_levels_r5 = підходить
+testimony_unrated = немає думки
+testimony_delete = видали
+buttons_delete = Видалити оцінки
+buttons_delete_title = Видалити мої оцінки та категорії для сайту
+buttons_cancel = Відмінити
+buttons_save = Зберегти
+buttons_ok = ОК
+popup_headertext = натисніть, щоб переглянути деталі
+popup_nocattext = поділ. своєю думкою про цей сайт
+ratingwindow_thankyou = Дякуємо за те, що поділилися досвідом!
+activityscore_text = Рівень вашої активності зараз
+activityscore_rookie = новобранець
+activityscore_bronze = бронзовий
+activityscore_silver = срібний
+activityscore_gold = золотий
+activityscore_platinum = платиновий
+activityscore_next = Залиш. оцінки, щоб досяг. {NEXT_LEVEL} рівня!
+bl_description = Цей сайт є у чорному списку третіх осіб
+bl_description_pl = Цей сайт є у чорному списку третіх осіб
+bl_information = WOT використовує чорні списки третіх осіб, шоб застерегти користувачів про технічні небезпеки, як віруси або шкідливі програми. <a>Читати більше</a>
+bl_malware = Шкідливі програми
+bl_phishing = Фішинг
+bl_scam = Шахрайство
+bl_spam = СПАМ
+bl_tracking = Стеження
+bl_other = Інші причини
+warning_button = Переглянути детальніше про рейтинг
+warnings_message_rating = Ви дали цьому сайту низький рейтинг.
+warnings_message_reputation = Цей сайт має погану репутацію на основі рейтингів користувачів.
+messages_offline = Відключено, коли браузер знаходиться в автономному режимі
+messages_disabled = Надбудова відключена
auto_update_title = Оновлення WOT
-auto_update_message = Доступна нова версія - натисніть для оновлення
-auto_update_check = Включити автоматичне оновлення (рекомендується)
auto_update_button_yes = Оновити зараз
-auto_update_button_no = Нагадати пізніше
-description_disabled = Надбудова відключена
-description_error_query = Не вдалося завантажити рейтинги
-description_error_register = Не вдалося активувати надбудову
-description_inprogress = Завантаження рейтингів…
-description_notready = Активація WOT…
-description_offline = Відключено, коли браузер знаходиться в автономному режимі
-description_private = Рейтинги недоступні
-description_rating_5 = Відмінно
-description_rating_4 = Добре
-description_rating_3 = Незадовільно
-description_rating_2 = Погано
-description_rating_1 = Дуже погано
-description_rating_0 = Недостатньо оцінок для цього сайту
description_restart = Перезапустіть браузер для активізації WOT
-description_uninstall = WOT буде видалено після перезапуску
-help_0 =
-help_1 = Дуже погано
-help_2 = Погано
-help_3 = Незадовільно
-help_4 = Добре
-help_5 = Відмінно
-help_comment =
-help_comment_link = Залишити коментар?
+messages_error_register = Не вдалося активувати надбудову
warning = Попередження: %S
-warning_warning = Попередження!
-warning_blocked = Заблоковано
-warning_button = Переглянути детальніше про рейтинг
-warning_message_normal = Цей сайт має погану репутацію на основі рейтингів користувачів.
-warning_message_userrated = Ви дали цьому сайту низький рейтинг.
-warning_message_unknown = Цей сайт має невідомий рейтинг.
-warning_info = Переглянути рейтинг і коментарі
-warning_rate = Цей сайт є безпечним - Я хочу <a>оцінити його</a>
-warning_goto = Перейти на сайт
-warning_leave = Залишити сайт
-warning_back = Повернутися назад
-warning_desc_normal = Цей сайт має погану репутацію
-warning_desc_userrated = Ви дали цьому сайту низький рейтинг
-warning_desc_unknown = Цей сайт має невідомий рейтинг
-rating_0 = Заслуговує довіри
-rating_1 = Надійність продавця
-rating_2 = Приватність
-rating_4 = Безпека для дітей
-popup_0 = Заслуговує довіри
-popup_1 = Надійність продавця
-popup_2 = Приватність
-popup_4 = Безпека для дітей
-user_score_title = Моя оцінка активності
-user_score_mypage = Переглянути мою сторінку
-user_score_register = Зареєструватися зараз
-user_score_improve = Підвищіть оцінку активності, оцінюючи нові сайти
-user_score_top = Ви ставитеся до %S найбільш активних користувачів
+description_uninstall = WOT буде видалено після перезапуску
+warnings_blocked = Заблоковано
+auto_update_check = Включити автоматичне оновлення (рекомендується)
+auto_update_button_no = Нагадати пізніше
+auto_update_message = Доступна нова версія - натисніть для оновлення
diff --git a/chrome/wot.jar!/locale/zh-CN/loading.html b/chrome/wot.jar!/locale/zh-CN/loading.html
index 125ba51..b2a69f3 100644
--- a/chrome/wot.jar!/locale/zh-CN/loading.html
+++ b/chrome/wot.jar!/locale/zh-CN/loading.html
@@ -1,23 +1,23 @@
-<?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>
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: 正在加载网站…</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">正在加载网站</div>
- </div>
-</body>
-</html>
+<?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>
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: 正在加载网站…</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">正在加载网站</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/zh-CN/wot.dtd b/chrome/wot.jar!/locale/zh-CN/wot.dtd
index 02d8af8..e255473 100644
--- a/chrome/wot.jar!/locale/zh-CN/wot.dtd
+++ b/chrome/wot.jar!/locale/zh-CN/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "已启用">
-<!ENTITY wotEnabled.accesskey "n">
-<!ENTITY wotRefresh.label "刷新">
-<!ENTITY wotRefresh.accesskey "R">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "极佳">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "较好">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "令人不满意">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "较差">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "极差">
-<!ENTITY wotTestify1.accesskey "V">
-<!ENTITY wotPreferences.label "设置…">
-<!ENTITY wotPreferences.accesskey "S">
-<!ENTITY wotMy.label "我的 WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "查看更新…">
-<!ENTITY wotCheckUpdates.accesskey "C">
-<!ENTITY wotLinkScorecard.label "查看 WOT 登记卡…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "正在初始化 WOT…">
-<!ENTITY wotRating.wot "WOT 评级">
-<!ENTITY wotRating.my "我的评级">
-<!ENTITY wotRating.app0 "可信程度:">
-<!ENTITY wotRating.app1 "供应商可靠性:">
-<!ENTITY wotRating.app2 "隐私:">
-<!ENTITY wotRating.app4 "儿童安全性:">
-<!ENTITY wotRating.scorecard "查看登记卡上的评级详情">
-<!ENTITY wotRating.comment "添加评论">
-<!ENTITY wotRating.guide "指南">
-<!ENTITY wotRating.prefs "设置">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "In partnership with">
-<!ENTITY wotRating.update "有新版本可用 – 单击进行更新">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "已启用">
+<!ENTITY wotEnabled.accesskey "n">
+<!ENTITY wotRefresh.label "刷新">
+<!ENTITY wotRefresh.accesskey "R">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "设置…">
+<!ENTITY wotPreferences.accesskey "S">
+<!ENTITY wotMy.label "我的 WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "查看更新…">
+<!ENTITY wotCheckUpdates.accesskey "C">
+<!ENTITY wotLinkScorecard.label "查看 WOT 登记卡…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "正在初始化 WOT…">
diff --git a/chrome/wot.jar!/locale/zh-CN/wot.properties b/chrome/wot.jar!/locale/zh-CN/wot.properties
index 8ce3c52..5c6eb59 100644
--- a/chrome/wot.jar!/locale/zh-CN/wot.properties
+++ b/chrome/wot.jar!/locale/zh-CN/wot.properties
@@ -1,57 +1,136 @@
-language = zh-CN
-auto_update_title = WOT 更新
-auto_update_message = WOT 有新版本可用。 想要更新附件吗?
-auto_update_check = 启用自动更新(推荐)
-auto_update_button_yes = 立即更新
-auto_update_button_no = 稍后提醒我
-description_disabled = 您已禁用了加载项;单击可启用。
-description_error_query = 未能加载评级;将立即重试。
-description_error_register = 未能激活加载项;将立即重试。
-description_inprogress = 正在加载评级…
-description_notready = 正在激活 WOT…
-description_offline = 浏览器脱机时禁用。
-description_private = 评级不可用。
-description_rating_5 = 极佳
-description_rating_4 = 较好
-description_rating_3 = 令人不满意
-description_rating_2 = 较差
-description_rating_1 = 极差
-description_rating_0 = 该网站没有足够数目的评级
-description_restart = 重启浏览器激活WOT。
-description_uninstall = 重启后将卸载WOT。
-help_0 =
-help_1 = 极差
-help_2 = 较差
-help_3 = 令人不满意
-help_4 = 较好
-help_5 = 极佳
-help_comment = 您的评级不一致。
-help_comment_link = 留下评论?
-warning = WOT 警告: %S
-warning_warning = 警告!
-warning_blocked = 已阻止
-warning_button = 评级详情
-warning_message_normal = 此网站的声誉较差。
-warning_message_userrated = 您已将此网站评为较差等级。
-warning_message_unknown = 此网站的评级未知。
-warning_info = 查看评级详情和评论
-warning_rate = 此网站是安全的 - <a>我想对其进行评级</a>
-warning_goto = 进入该网站
-warning_leave = 离开工地
-warning_back = 回去
-warning_desc_normal = 此网站的声誉较差
-warning_desc_userrated = 您已将此网站评为较差等级,该评级触发了警告
-warning_desc_unknown = 此网站的评级未知
-rating_0 = 可信程度
-rating_1 = 供应商可靠性
-rating_2 = 隐私
-rating_4 = 儿童安全性
-popup_0 = 可信程度
-popup_1 = 供应商可靠性
-popup_2 = 隐私
-popup_4 = 儿童安全性
-user_score_title = 我的活动分数
-user_score_mypage = 查看我的页面
-user_score_register = 立即注册
-user_score_improve = 可通过对新网站进行评级来提高您的活动分数。
-user_score_top = 您名列前 %S 位最活跃的用户。
+locale = zh_CN
+lang = zh-CN
+ext_description = WOT 根据世界各地数百万用户的经验向您显示您可以信任的网站。WOT 使用快速方便,而且完全免费。
+components_0 = 可信程度
+components_4 = 儿童安全性
+components__short_0 = 可信程度
+components__short_4 = 儿童安全性
+reputationlevels_r0 = 未知
+reputationlevels_r1 = 极差
+reputationlevels_r2 = 较差
+reputationlevels_r3 = 令人不满意
+reputationlevels_r4 = 较好
+reputationlevels_r5 = 极佳
+messages_initializing = 正在初始化 WOT…
+messages_notready = 正在激活 WOT…
+messages_failed = 未能加载评级;将立即重试。
+messages_notavailable = 评级不可用。
+messages_loading = 正在加载评级…
+ratingwindow_settings = 设置
+ratingwindow_guide = 演示
+ratingwindow_forum = 论坛
+ratingwindow_profile = 我的档案
+ratingwindow_wotrating = 基于用户评价的网站声誉
+ratingwindow_myrating = 我的评级
+ratingwindow_viewscorecard = 查看详情及评论
+ratingwindow_addcomment = 添加评论
+ratingwindow_editcomment = 编辑评论
+ratingwindow_backtoratings = 回到评价
+ratingwindow_backtoratings_category = 选择分类
+ratingwindow_newversion = 有新版本可用 – 单击进行更新
+ratingwindow_invite_rw = 您可以使用此工具评价网站。在颜色条上选择不同颜色以表示您对网站的信任程度。
+warnings_information = 查看详情及评论
+warnings_ratesite = 若您信任此网站,请<a>评价</a>
+warnings_reratesite = <a>点击这里</a> 如果您想重新评价网站
+warnings_reputation = 此网站的声誉较差
+warnings_rating = 您已将此网站评为较差等级,<br/>该评级触发了警告
+warnings_unknown = 此网站的评级未知
+warnings_warning = 警告!
+warnings_goto = 进入该网站
+warnings_leave = 退出
+warnings_back = 回去
+warnings_reasontitle = 用户已经指出以下问题
+warnings_othersreasontitle = 其他用户的意见
+warnings_noreasontitle = 其他用户并没有指出给网站的问题,只给出了评价
+contextmenu_open_scorecard = 公开 WOT 记分卡
+wt_learnmore_link = <a id='wt-learnmore-link'>了解更多</a>关于 WOT 的信息。
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>全新 WOT 已添加至您的浏览器。</p><p>单击此图标开始对网站评级 {ICO1}</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = 好,可以了
+wt_warning_text = <p>当您要访问的网站,在其他用户处的的声誉评级不佳,或在第三方机构的黑名单中,WOT 将警告您。此警告也将向您显示声誉不佳背后的原因。</p><p>{WT_LEARNMORE}</p><p>如果您不想看到这些警告,您可以关闭此功能。</p>
+wt_warning_turnoff = 关闭警告功能
+wt_warning_ok = 好,可以了
+wt_rw_text_hdr = 分享您的经验!
+wt_rw_text = <p>WOT 评级视窗为您显示基于其他用户经验的网站声誉。现在您可直接在已更新的视窗中评级并发表评论。单击彩色横条开始评级。</p><p class='wot-c'><a id='wt-learnmore-link'>了解更多</a> 关于 WTO 的信息。</p>
+wt_donut_msg = <p>WOT 通过显示红绿灯风格的图标,向您展示基于其他用户经验的网站声誉。</p><p>将鼠标悬停在此图标上查看声誉并了解原因。</p>
+wt_donut_btn = 好,可以了
+fbl_hideforever = 永久隐藏
+fbl_submit = 提交
+fbl_whatisthis = 这是什么?
+fbl_optout_text = 如果您不想被提问,请点击“是”
+fbl_optout_yes = 是
+fbl_optout_no = 否
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> 正在为百万用户的网络浏览安全和质量努力。每次看见该提示时,您可以提交您的意见,以帮助其他用户。
+fbl_final = 谢谢!
+fbl_this_website = 该网站
+fbl_dismiss = 放弃
+ratingwindow_question0 = 您对该网站的信任程度如何?
+ratingwindow_question4 = 该网站对儿童来说是否合适?
+ratingwindow_categories = 选择至少一个分类支持您的评价
+ratingwindow_comment = 留下您访问该网站的体验评价
+ratingwindow_comment_placeholder = 在这里填写评论……
+ratingwindow_comment_regtext = 您需要登录账户才能发表评论。
+ratingwindow_comment_register = 现在注册一个账户吧
+ratingwindow_comment_captchatext = 您必须在记分卡上输入验证码才能发表评论。
+ratingwindow_comment_captchalink = 打开记分卡
+ratingwindow_commenthints = <p>请尽量精确</p><p>给出证明或例子</p><p>根据您的真实体验给出评论</p><p>Do not spam</p>
+ratingwindow_novoted = 点击这里选择一个分类以说明您作出评价的原因
+ratingwindow_morecats = 更多
+ratingwindow_rerate_change = 更改
+ratingwindow_rerate_category =
+ratingwindow_fulllist = 显示完整列表
+ratingwindow_vote_yes = 是
+ratingwindow_vote_no = 否
+messages_ready = 网站声誉
+testimony_0_levels_r0 = 点击颜色条以评价
+testimony_0_levels_r1 = 我不信任
+testimony_0_levels_r2 = 我不信任
+testimony_0_levels_r3 = 该网站有可疑
+testimony_0_levels_r4 = 我信任
+testimony_0_levels_r5 = 我信任
+testimony_4_levels_r0 = 点击颜色条以评价
+testimony_4_levels_r1 = 不合适
+testimony_4_levels_r2 = 不合适
+testimony_4_levels_r3 = 请小心
+testimony_4_levels_r4 = 合适
+testimony_4_levels_r5 = 合适
+testimony_unrated = 无意见
+testimony_delete = 删除
+buttons_delete = 删除评价
+buttons_delete_title = 删除我对此网站的评价及选择的分类
+buttons_cancel = 取消
+buttons_save = 保存
+buttons_ok = 好
+popup_headertext = 点击查看详情
+popup_nocattext = 分享您关于此网站的意见
+ratingwindow_thankyou = 感谢您的经验分享
+activityscore_text = 您的最新活动分数为
+activityscore_rookie = 新手
+activityscore_bronze = 铜牌用户
+activityscore_silver = 银牌用户
+activityscore_gold = 金牌用户
+activityscore_platinum = 白金用户
+activityscore_next = 不断作出评价,不断升级吧{NEXT_LEVEL}!
+bl_description = 某第三方黑名单包含该网站。
+bl_description_pl = 数个第三方黑名单包含该网站。
+bl_information = WOT 用户使用第三方黑名单来警告用户可能的技术威胁,例如病毒和恶意软件。<a>阅读更多</a>
+bl_malware = 恶意软件
+bl_phishing = 网络钓鱼
+bl_scam = 网络诈骗
+bl_spam = 垃圾邮件
+bl_tracking = 跟踪用户
+bl_other = 其他原因
+warning_button = 评级详情
+warnings_message_rating = 您已将此网站评为较差等级。
+warnings_message_reputation = 此网站的声誉较差。
+messages_offline = 浏览器脱机时禁用。
+messages_disabled = 您已禁用了加载项;
+auto_update_title = WOT 更新
+auto_update_button_yes = 立即更新
+description_restart = 重启浏览器激活WOT。
+messages_error_register = 未能激活加载项;将立即重试。
+warning = WOT 警告: %S
+description_uninstall = 重启后将卸载WOT。
+warnings_blocked = 已阻止
+auto_update_check = 启用自动更新(推荐)
+auto_update_button_no = 稍后提醒我
+auto_update_message = WOT 有新版本可用。 想要更新附件吗?
diff --git a/chrome/wot.jar!/locale/zh-TW/loading.html b/chrome/wot.jar!/locale/zh-TW/loading.html
index efecbb6..712f5ed 100644
--- a/chrome/wot.jar!/locale/zh-TW/loading.html
+++ b/chrome/wot.jar!/locale/zh-TW/loading.html
@@ -1,23 +1,23 @@
-<?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>
- <style type="text/css">
- @import "chrome://wot/skin/include/loading.css";
- </style>
- <title>WOT: 網站載入中…</title>
-</head>
-<body>
- <div id="loading">
- <div id="images">
- <div id="image-0" class="image"> </div>
- <div id="image-1" class="image"> </div>
- <div id="image-2" class="image"> </div>
- <div id="image-3" class="image"> </div>
- <div id="image-4" class="image"> </div>
- </div>
- <div id="text">網站載入中</div>
- </div>
-</body>
-</html>
+<?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>
+ <style type="text/css">
+ @import "chrome://wot/skin/include/loading.css";
+ </style>
+ <title>WOT: 網站載入中…</title>
+</head>
+<body>
+ <div id="loading">
+ <div id="images">
+ <div id="image-0" class="image"> </div>
+ <div id="image-1" class="image"> </div>
+ <div id="image-2" class="image"> </div>
+ <div id="image-3" class="image"> </div>
+ <div id="image-4" class="image"> </div>
+ </div>
+ <div id="text">網站載入中</div>
+ </div>
+</body>
+</html>
diff --git a/chrome/wot.jar!/locale/zh-TW/wot.dtd b/chrome/wot.jar!/locale/zh-TW/wot.dtd
index 9c67c7d..2069748 100644
--- a/chrome/wot.jar!/locale/zh-TW/wot.dtd
+++ b/chrome/wot.jar!/locale/zh-TW/wot.dtd
@@ -1,41 +1,18 @@
-<!ENTITY wot.label "WOT">
-<!-- Menu items -->
-<!ENTITY wotEnabled.label "啟用">
-<!ENTITY wotEnabled.accesskey "n">
-<!ENTITY wotRefresh.label "重新整理">
-<!ENTITY wotRefresh.accesskey "R">
-<!ENTITY wotContent.label "WOT">
-<!ENTITY wotContent.accesskey "W">
-<!ENTITY wotTestify5.label "極佳">
-<!ENTITY wotTestify5.accesskey "E">
-<!ENTITY wotTestify4.label "佳">
-<!ENTITY wotTestify4.accesskey "G">
-<!ENTITY wotTestify3.label "不符要求">
-<!ENTITY wotTestify3.accesskey "U">
-<!ENTITY wotTestify2.label "不佳">
-<!ENTITY wotTestify2.accesskey "P">
-<!ENTITY wotTestify1.label "非常差">
-<!ENTITY wotTestify1.accesskey "V">
-<!ENTITY wotPreferences.label "設定…">
-<!ENTITY wotPreferences.accesskey "S">
-<!ENTITY wotMy.label "我的 WOT…">
-<!ENTITY wotMy.accesskey "W">
-<!ENTITY wotCheckUpdates.label "查看更新">
-<!ENTITY wotCheckUpdates.accesskey "C">
-<!ENTITY wotLinkScorecard.label "檢視 WOT 計分板…">
-<!ENTITY wotLinkScorecard.accesskey "W">
-<!-- Rating window -->
-<!ENTITY wotRating.title "初始化 WOT…">
-<!ENTITY wotRating.wot "WOT 評等">
-<!ENTITY wotRating.my "我的評等">
-<!ENTITY wotRating.app0 "可靠性:">
-<!ENTITY wotRating.app1 "供應者可信賴性:">
-<!ENTITY wotRating.app2 "隱私性:">
-<!ENTITY wotRating.app4 "兒童安全:">
-<!ENTITY wotRating.scorecard "檢視評等詳細內容計分表">
-<!ENTITY wotRating.comment "加入您的評語">
-<!ENTITY wotRating.guide "指南">
-<!ENTITY wotRating.prefs "設定">
-<!ENTITY wotRating.link "www.mywot.com">
-<!ENTITY wotRating.partner "In partnership with">
-<!ENTITY wotRating.update "有新版本可供下載 -- 按一下進行更新">
+<!ENTITY wot.label "WOT">
+<!-- Menu items -->
+<!ENTITY wotEnabled.label "啟用">
+<!ENTITY wotEnabled.accesskey "n">
+<!ENTITY wotRefresh.label "重新整理">
+<!ENTITY wotRefresh.accesskey "R">
+<!ENTITY wotContent.label "WOT">
+<!ENTITY wotContent.accesskey "W">
+<!ENTITY wotPreferences.label "設定…">
+<!ENTITY wotPreferences.accesskey "S">
+<!ENTITY wotMy.label "我的 WOT…">
+<!ENTITY wotMy.accesskey "W">
+<!ENTITY wotCheckUpdates.label "查看更新">
+<!ENTITY wotCheckUpdates.accesskey "C">
+<!ENTITY wotLinkScorecard.label "檢視 WOT 計分板…">
+<!ENTITY wotLinkScorecard.accesskey "W">
+<!-- Rating window -->
+<!ENTITY wotRating.title "初始化 WOT…">
\ No newline at end of file
diff --git a/chrome/wot.jar!/locale/zh-TW/wot.properties b/chrome/wot.jar!/locale/zh-TW/wot.properties
index aecca28..5d9dc51 100644
--- a/chrome/wot.jar!/locale/zh-TW/wot.properties
+++ b/chrome/wot.jar!/locale/zh-TW/wot.properties
@@ -1,57 +1,136 @@
-language = zh-TW
-auto_update_title = WOT 更新
-auto_update_message = 有最新版的 WOT 可供下載。 願意更新您的附加元件嗎?
-auto_update_check = 啟用自動更新 (建議選項)
-auto_update_button_yes = 現在就更新
-auto_update_button_no = 稍後再提醒我
-description_disabled = 您已經關閉附加元件;按一下重新啟用。
-description_error_query = 評等載入失敗;立刻重試。
-description_error_register = 附加元件重啟失敗;立刻重試。
-description_inprogress = 評等載入中…
-description_notready = WOT 啟動中…
-description_offline = 瀏覽器離線時停用。
-description_private = 無法提供評等。
-description_rating_5 = 極佳
-description_rating_4 = 佳
-description_rating_3 = 不符要求
-description_rating_2 = 不佳
-description_rating_1 = 非常差
-description_rating_0 = 此網站評等數量不足
-description_restart = 重新開啟瀏覽器以啟動 WOT。
-description_uninstall = WOT 將於重新開啟後解除安裝。
-help_0 =
-help_1 = 非常差
-help_2 = 不佳
-help_3 = 不符要求
-help_4 = 佳
-help_5 = 極佳
-help_comment = 您的評等不一致。
-help_comment_link = 要留下評語嗎?
-warning = WOT 警告: %S
-warning_warning = 警告!
-warning_blocked = 已封鎖
-warning_button = 評等詳細內容
-warning_message_normal = 這個網站聲譽不佳。
-warning_message_userrated = 您給了這個網站不佳的評等。
-warning_message_unknown = 這個網站的評等不詳。
-warning_info = 檢視評等詳細內容與評語
-warning_rate = 這個網站是安全的 - <a>我要評等</a>
-warning_goto = 前往網站
-warning_leave = Leave the site
-warning_back = Go back
-warning_desc_normal = 這個網站聲譽不佳
-warning_desc_userrated = 您給了這個網站會觸動警告的不佳評等
-warning_desc_unknown = 這個網站的評等不詳
-rating_0 = 可靠性
-rating_1 = 供應者可信賴性
-rating_2 = 隱私性
-rating_4 = 兒童安全
-popup_0 = 可靠性
-popup_1 = 供應者可信賴性
-popup_2 = 隱私性
-popup_4 = 兒童安全
-user_score_title = 我的活動得分
-user_score_mypage = 檢視我的頁面
-user_score_register = 現在就註冊
-user_score_improve = 為新的網站進行評等,改善您的活動得分。
-user_score_top = 您名列最活躍用戶的前 %S。
+locale = zh_TW
+lang = zh-TW
+ext_description = WOT 會根據全世界數百萬用戶的經驗,告訴您哪些是可以信任的網站。WOT 快速又容易上手,而且完全免費。
+components_0 = 可靠性
+components_4 = 兒童安全
+components__short_0 = 可靠性
+components__short_4 = 兒童安全
+reputationlevels_r0 = 未知
+reputationlevels_r1 = 非常差
+reputationlevels_r2 = 不佳
+reputationlevels_r3 = 不符要求
+reputationlevels_r4 = 佳
+reputationlevels_r5 = 極佳
+messages_initializing = 初始化 WOT…
+messages_notready = WOT 啟動中…
+messages_failed = 評等載入失敗;立刻重試。
+messages_notavailable = 無法提供評等。
+messages_loading = 評等載入中…
+ratingwindow_settings = 設定
+ratingwindow_guide = 介紹
+ratingwindow_forum = 論壇
+ratingwindow_profile = 我的個人資料
+ratingwindow_wotrating = 使用者給予的網站聲譽評價
+ratingwindow_myrating = 我的評等
+ratingwindow_viewscorecard = 檢視詳細內容及評語
+ratingwindow_addcomment = 新增評語
+ratingwindow_editcomment = 編輯評語
+ratingwindow_backtoratings = 返回評等
+ratingwindow_backtoratings_category = 選擇一個類別
+ratingwindow_newversion = 有新版本可供下載 -- 按一下進行更新
+ratingwindow_invite_rw = 您可利用這項工具為網站提供評等,請點擊色條,表達您對網站的信任程度。
+warnings_information = 檢視詳細內容及評語
+warnings_ratesite = 如果您信任該網站,請<a>提供評等</a>
+warnings_reratesite = 如果您想重新評等,請<a>點擊此處</a>
+warnings_reputation = 這個網站聲譽不佳
+warnings_rating = 您給了這個網站會觸動警告的不佳評等
+warnings_unknown = 這個網站的評等不詳
+warnings_warning = 警告!
+warnings_goto = Open the site
+warnings_leave = 離開
+warnings_back = 返回
+warnings_reasontitle = 使用者已辨認出以下問題
+warnings_othersreasontitle = 其他使用者的意見
+warnings_noreasontitle = 使用者尚未辨認該網站,只給予評分
+contextmenu_open_scorecard = 開啟 WOT 記分表
+wt_learnmore_link = <a id='wt-learnmore-link'>了解更多</a> 關於 WOT 的資訊。
+wt_intro_0_msg = <img src='{ADDON_BASEURI}skin/b/welcometips/wt_intro_0.png' width='196px' height='40px'/><p>新的WOT 已經被加入到你的瀏覽器。</p><p>點擊圖標進入評分網站 {ICO1}。</p><p>{WT_LEARNMORE}</p>
+wt_intro_0_btn = 好,我知道了
+wt_warning_text = <p>WOT將發出警告,如果你將進入一個被其他使用者評價為低或是被第三者列為黑名單的網站。警告系統同時也會列出其被列為負評的原因。</p><p>{WT_LEARNMORE}</p><p>如果您不想看到警告,可以將它們關閉。</p>
+wt_warning_turnoff = 關閉警告
+wt_warning_ok = 好,我知道了
+wt_rw_text_hdr = 分享您的經驗!
+wt_rw_text = <p>WOT 等級視窗為你顯示過去其他使用者對網站的評價。現在你也可以直接在更新的窗口評分和評論。點擊有色橫欄開始評分。</p><p class='wot-c'><a id='wt-learnmore-link'>了解更多</a> 關於 WOT 的資訊。</p>
+wt_donut_msg = <p>WOT將以紅綠燈樣式的圖示來為你顯示其他過去使用者的網站評價。</p><p>將您的滑鼠停在圖示上來看其評價以及原因。</p>
+wt_donut_btn = 好,我知道了
+fbl_hideforever = 永遠隱藏
+fbl_submit = 送出
+fbl_whatisthis = 這是什麼?
+fbl_optout_text = 如果您希望不再被詢問,請點擊「是」
+fbl_optout_yes = 是
+fbl_optout_no = 否
+fbl_whatisthis_text = <a href='http://www.mywot.com?utm_source=addon&utm_content=fbl-whatisthis' target='_blank'>Web of Trust (WOT)</a> 致力於提升數百萬使用者的網路使用安全及品質,您只要在看見這個提示後提供個人意見,就能提供協助。
+fbl_final = 謝謝您!
+fbl_this_website = 該網站
+fbl_dismiss = 解除
+ratingwindow_question0 = 您對該網站的信任程度為何?
+ratingwindow_question4 = 該網站對兒童的適宜程度為何?
+ratingwindow_categories = 選擇至少一項類別以支持您的評等
+ratingwindow_comment = 留下評語,描述您使用該網站的經驗
+ratingwindow_comment_placeholder = 在此留下您的評語…
+ratingwindow_comment_regtext = 您需要擁有帳戶才能發表評語。
+ratingwindow_comment_register = 立即建立帳戶
+ratingwindow_comment_captchatext = 您需要在計分表上鍵入驗證碼才能發表評語。
+ratingwindow_comment_captchalink = 立即開啟計分表
+ratingwindow_commenthints = <p>務必精確</p><p>請提供證據或例子</p><p>根據您的真實經驗給予評語</p><p>Do not spam</p>
+ratingwindow_novoted = 請點擊此處選擇一個類別,以便提供評等理由
+ratingwindow_morecats = 更多
+ratingwindow_rerate_change = 更改
+ratingwindow_rerate_category =
+ratingwindow_fulllist = 顯示完整清單
+ratingwindow_vote_yes = 是
+ratingwindow_vote_no = 否
+messages_ready = 網站聲譽
+testimony_0_levels_r0 = 點擊色條以提供評等
+testimony_0_levels_r1 = 不信任
+testimony_0_levels_r2 = 不信任
+testimony_0_levels_r3 = 可疑
+testimony_0_levels_r4 = 信任
+testimony_0_levels_r5 = 信任
+testimony_4_levels_r0 = 點擊色條以提供評等
+testimony_4_levels_r1 = 不適合
+testimony_4_levels_r2 = 不適合
+testimony_4_levels_r3 = 要注意
+testimony_4_levels_r4 = 適合
+testimony_4_levels_r5 = 適合
+testimony_unrated = 無意見
+testimony_delete = 刪除
+buttons_delete = 刪除評等
+buttons_delete_title = 刪除我的評等及網站類別
+buttons_cancel = 取消
+buttons_save = 儲存
+buttons_ok = OK
+popup_headertext = 點擊以檢視詳細內容
+popup_nocattext = 分享您對該網站的意見
+ratingwindow_thankyou = 感謝您分享經驗!
+activityscore_text = 您目前的活躍等級是
+activityscore_rookie = 新手
+activityscore_bronze = 銅
+activityscore_silver = 銀
+activityscore_gold = 金
+activityscore_platinum = 白金
+activityscore_next = 繼續提供評等以升到 {NEXT_LEVEL} 級!
+bl_description = 該網站出現在第三方黑名單中
+bl_description_pl = 該網站出現在第三方黑名單中
+bl_information = WOT 會利用第三方黑名單,警告使用者關於病毒及惡意軟體等技術性威脅。<a>Read more</a>
+bl_malware = 惡意軟體
+bl_phishing = 網路釣魚
+bl_scam = 詐騙
+bl_spam = 垃圾郵件
+bl_tracking = 追蹤
+bl_other = 其他理由
+warning_button = 評等詳細內容
+warnings_message_rating = 您給了這個網站不佳的評等。
+warnings_message_reputation = 這個網站聲譽不佳。
+messages_offline = 瀏覽器離線時停用。
+messages_disabled = 您已經關閉附加元件
+auto_update_title = WOT 更新
+auto_update_button_yes = 現在就更新
+description_restart = 重新開啟瀏覽器以啟動 WOT。
+messages_error_register = 附加元件重啟失敗;立刻重試。
+warning = WOT 警告: %S
+description_uninstall = WOT 將於重新開啟後解除安裝。
+warnings_blocked = 已封鎖
+auto_update_check = 啟用自動更新 (建議選項)
+auto_update_button_no = 稍後再提醒我
+auto_update_message = 有最新版的 WOT 可供下載。 願意更新您的附加元件嗎?
diff --git a/chrome/wot.jar!/skin/b/accessible/donuts_150.png b/chrome/wot.jar!/skin/b/accessible/donuts_150.png
new file mode 100644
index 0000000..9f450f3
Binary files /dev/null and b/chrome/wot.jar!/skin/b/accessible/donuts_150.png differ
diff --git a/chrome/wot.jar!/skin/b/accessible/logo.png b/chrome/wot.jar!/skin/b/accessible/logo.png
deleted file mode 100644
index b1501b1..0000000
Binary files a/chrome/wot.jar!/skin/b/accessible/logo.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/b/accessible/slider.png b/chrome/wot.jar!/skin/b/accessible/slider.png
new file mode 100644
index 0000000..5ef84e8
Binary files /dev/null and b/chrome/wot.jar!/skin/b/accessible/slider.png differ
diff --git a/chrome/wot.jar!/skin/b/accessible/slider_handle.png b/chrome/wot.jar!/skin/b/accessible/slider_handle.png
new file mode 100644
index 0000000..63781a9
Binary files /dev/null and b/chrome/wot.jar!/skin/b/accessible/slider_handle.png differ
diff --git a/chrome/wot.jar!/skin/b/bubl_speech_c_150.png b/chrome/wot.jar!/skin/b/bubl_speech_c_150.png
new file mode 100644
index 0000000..b9595b5
Binary files /dev/null and b/chrome/wot.jar!/skin/b/bubl_speech_c_150.png differ
diff --git a/chrome/wot.jar!/skin/b/bubl_speech_l_150.png b/chrome/wot.jar!/skin/b/bubl_speech_l_150.png
new file mode 100644
index 0000000..3b7f27c
Binary files /dev/null and b/chrome/wot.jar!/skin/b/bubl_speech_l_150.png differ
diff --git a/chrome/wot.jar!/skin/b/bubl_speech_r_150.png b/chrome/wot.jar!/skin/b/bubl_speech_r_150.png
new file mode 100644
index 0000000..f2a94eb
Binary files /dev/null and b/chrome/wot.jar!/skin/b/bubl_speech_r_150.png differ
diff --git a/chrome/wot.jar!/skin/b/checkbox.png b/chrome/wot.jar!/skin/b/checkbox.png
new file mode 100644
index 0000000..9966146
Binary files /dev/null and b/chrome/wot.jar!/skin/b/checkbox.png differ
diff --git a/chrome/wot.jar!/skin/b/confidence_150dpi.png b/chrome/wot.jar!/skin/b/confidence_150dpi.png
new file mode 100644
index 0000000..aea0cc9
Binary files /dev/null and b/chrome/wot.jar!/skin/b/confidence_150dpi.png differ
diff --git a/chrome/wot.jar!/skin/b/delete-myrating.png b/chrome/wot.jar!/skin/b/delete-myrating.png
new file mode 100644
index 0000000..02aeee5
Binary files /dev/null and b/chrome/wot.jar!/skin/b/delete-myrating.png differ
diff --git a/chrome/wot.jar!/skin/b/delete-testimony.png b/chrome/wot.jar!/skin/b/delete-testimony.png
new file mode 100644
index 0000000..233d165
Binary files /dev/null and b/chrome/wot.jar!/skin/b/delete-testimony.png differ
diff --git a/chrome/wot.jar!/skin/b/donuts_150.png b/chrome/wot.jar!/skin/b/donuts_150.png
new file mode 100644
index 0000000..a98904f
Binary files /dev/null and b/chrome/wot.jar!/skin/b/donuts_150.png differ
diff --git a/chrome/wot.jar!/skin/b/hands_150dpi.png b/chrome/wot.jar!/skin/b/hands_150dpi.png
new file mode 100644
index 0000000..29bda27
Binary files /dev/null and b/chrome/wot.jar!/skin/b/hands_150dpi.png differ
diff --git a/chrome/wot.jar!/skin/b/input-icons.png b/chrome/wot.jar!/skin/b/input-icons.png
new file mode 100644
index 0000000..97613a4
Binary files /dev/null and b/chrome/wot.jar!/skin/b/input-icons.png differ
diff --git a/chrome/wot.jar!/skin/b/slider.png b/chrome/wot.jar!/skin/b/slider.png
new file mode 100644
index 0000000..0dea6a1
Binary files /dev/null and b/chrome/wot.jar!/skin/b/slider.png differ
diff --git a/chrome/wot.jar!/skin/b/slider_handle.png b/chrome/wot.jar!/skin/b/slider_handle.png
new file mode 100644
index 0000000..41abc6f
Binary files /dev/null and b/chrome/wot.jar!/skin/b/slider_handle.png differ
diff --git a/chrome/wot.jar!/skin/b/thumbs.png b/chrome/wot.jar!/skin/b/thumbs.png
new file mode 100644
index 0000000..b3a67d7
Binary files /dev/null and b/chrome/wot.jar!/skin/b/thumbs.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/close_icon.png b/chrome/wot.jar!/skin/b/welcometips/close_icon.png
new file mode 100644
index 0000000..bd05a6a
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/close_icon.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/logo_WS.png b/chrome/wot.jar!/skin/b/welcometips/logo_WS.png
new file mode 100644
index 0000000..9b95fe4
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/logo_WS.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/orange_badge.png b/chrome/wot.jar!/skin/b/welcometips/orange_badge.png
new file mode 100644
index 0000000..cb27267
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/orange_badge.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/wt_intro_0.png b/chrome/wot.jar!/skin/b/welcometips/wt_intro_0.png
new file mode 100644
index 0000000..8fa10a5
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/wt_intro_0.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/wt_intro_top.png b/chrome/wot.jar!/skin/b/welcometips/wt_intro_top.png
new file mode 100644
index 0000000..8598d9d
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/wt_intro_top.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/wt_left_corner.png b/chrome/wot.jar!/skin/b/welcometips/wt_left_corner.png
new file mode 100644
index 0000000..45d7d6d
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/wt_left_corner.png differ
diff --git a/chrome/wot.jar!/skin/b/welcometips/wt_left_corner_2.png b/chrome/wot.jar!/skin/b/welcometips/wt_left_corner_2.png
new file mode 100644
index 0000000..50d76a4
Binary files /dev/null and b/chrome/wot.jar!/skin/b/welcometips/wt_left_corner_2.png differ
diff --git a/chrome/wot.jar!/skin/b/ws/list_c.png b/chrome/wot.jar!/skin/b/ws/list_c.png
new file mode 100644
index 0000000..4572e85
Binary files /dev/null and b/chrome/wot.jar!/skin/b/ws/list_c.png differ
diff --git a/chrome/wot.jar!/skin/b/ws/list_l.png b/chrome/wot.jar!/skin/b/ws/list_l.png
new file mode 100644
index 0000000..7d9fdff
Binary files /dev/null and b/chrome/wot.jar!/skin/b/ws/list_l.png differ
diff --git a/chrome/wot.jar!/skin/b/ws/list_r.png b/chrome/wot.jar!/skin/b/ws/list_r.png
new file mode 100644
index 0000000..ee7f93c
Binary files /dev/null and b/chrome/wot.jar!/skin/b/ws/list_r.png differ
diff --git a/chrome/wot.jar!/skin/b/ws/robot.png b/chrome/wot.jar!/skin/b/ws/robot.png
new file mode 100644
index 0000000..acf1dbe
Binary files /dev/null and b/chrome/wot.jar!/skin/b/ws/robot.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/message_no_rep_available.png b/chrome/wot.jar!/skin/fusion/16_16/message_r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/message_no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/16_16/message_r0.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/message_danger.png b/chrome/wot.jar!/skin/fusion/16_16/message_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/message_danger.png
rename to chrome/wot.jar!/skin/fusion/16_16/message_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/message_not_safe.png b/chrome/wot.jar!/skin/fusion/16_16/message_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/message_not_safe.png
rename to chrome/wot.jar!/skin/fusion/16_16/message_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/message_caution.png b/chrome/wot.jar!/skin/fusion/16_16/message_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/message_caution.png
rename to chrome/wot.jar!/skin/fusion/16_16/message_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/message_alright.png b/chrome/wot.jar!/skin/fusion/16_16/message_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/message_alright.png
rename to chrome/wot.jar!/skin/fusion/16_16/message_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/message_trusted.png b/chrome/wot.jar!/skin/fusion/16_16/message_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/message_trusted.png
rename to chrome/wot.jar!/skin/fusion/16_16/message_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/new_danger.png b/chrome/wot.jar!/skin/fusion/16_16/new_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/new_danger.png
rename to chrome/wot.jar!/skin/fusion/16_16/new_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/new_not_safe.png b/chrome/wot.jar!/skin/fusion/16_16/new_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/new_not_safe.png
rename to chrome/wot.jar!/skin/fusion/16_16/new_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/new_caution.png b/chrome/wot.jar!/skin/fusion/16_16/new_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/new_caution.png
rename to chrome/wot.jar!/skin/fusion/16_16/new_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/new_alright.png b/chrome/wot.jar!/skin/fusion/16_16/new_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/new_alright.png
rename to chrome/wot.jar!/skin/fusion/16_16/new_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/new_trusted.png b/chrome/wot.jar!/skin/fusion/16_16/new_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/new_trusted.png
rename to chrome/wot.jar!/skin/fusion/16_16/new_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/alright.png b/chrome/wot.jar!/skin/fusion/16_16/plain/alright.png
deleted file mode 100644
index 8fb2966..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/alright.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/caution.png b/chrome/wot.jar!/skin/fusion/16_16/plain/caution.png
deleted file mode 100644
index 30109b8..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/caution.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/danger.png b/chrome/wot.jar!/skin/fusion/16_16/plain/danger.png
deleted file mode 100644
index 2ddb8cc..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/danger.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/excluded.png b/chrome/wot.jar!/skin/fusion/16_16/plain/excluded.png
deleted file mode 100644
index 55ce204..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/excluded.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/no_rep_available.png b/chrome/wot.jar!/skin/fusion/16_16/plain/no_rep_available.png
deleted file mode 100644
index 6e4822e..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/no_rep_available.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/not_safe.png b/chrome/wot.jar!/skin/fusion/16_16/plain/not_safe.png
deleted file mode 100644
index 78e1250..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/not_safe.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/r0.png b/chrome/wot.jar!/skin/fusion/16_16/plain/r0.png
new file mode 100644
index 0000000..fd2b178
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/r0.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/r1.png b/chrome/wot.jar!/skin/fusion/16_16/plain/r1.png
new file mode 100644
index 0000000..fb3debf
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/r1.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/r2.png b/chrome/wot.jar!/skin/fusion/16_16/plain/r2.png
new file mode 100644
index 0000000..8348822
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/r2.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/r3.png b/chrome/wot.jar!/skin/fusion/16_16/plain/r3.png
new file mode 100644
index 0000000..d986788
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/r3.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/r4.png b/chrome/wot.jar!/skin/fusion/16_16/plain/r4.png
new file mode 100644
index 0000000..5f14568
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/r4.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/r5.png b/chrome/wot.jar!/skin/fusion/16_16/plain/r5.png
new file mode 100644
index 0000000..f2359ff
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/r5.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/rx.png b/chrome/wot.jar!/skin/fusion/16_16/plain/rx.png
new file mode 100644
index 0000000..616a9f3
Binary files /dev/null and b/chrome/wot.jar!/skin/fusion/16_16/plain/rx.png differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/plain/trusted.png b/chrome/wot.jar!/skin/fusion/16_16/plain/trusted.png
deleted file mode 100644
index ddc57ae..0000000
Binary files a/chrome/wot.jar!/skin/fusion/16_16/plain/trusted.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/16_16/no_rep_available.png b/chrome/wot.jar!/skin/fusion/16_16/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/16_16/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/danger.png b/chrome/wot.jar!/skin/fusion/16_16/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/danger.png
rename to chrome/wot.jar!/skin/fusion/16_16/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/not_safe.png b/chrome/wot.jar!/skin/fusion/16_16/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/not_safe.png
rename to chrome/wot.jar!/skin/fusion/16_16/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/caution.png b/chrome/wot.jar!/skin/fusion/16_16/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/caution.png
rename to chrome/wot.jar!/skin/fusion/16_16/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/alright.png b/chrome/wot.jar!/skin/fusion/16_16/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/alright.png
rename to chrome/wot.jar!/skin/fusion/16_16/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/trusted.png b/chrome/wot.jar!/skin/fusion/16_16/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/trusted.png
rename to chrome/wot.jar!/skin/fusion/16_16/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/16_16/excluded.png b/chrome/wot.jar!/skin/fusion/16_16/rx.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/16_16/excluded.png
rename to chrome/wot.jar!/skin/fusion/16_16/rx.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/message_no_rep_available.png b/chrome/wot.jar!/skin/fusion/24_24/message_r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/message_no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/24_24/message_r0.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/message_danger.png b/chrome/wot.jar!/skin/fusion/24_24/message_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/message_danger.png
rename to chrome/wot.jar!/skin/fusion/24_24/message_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/message_not_safe.png b/chrome/wot.jar!/skin/fusion/24_24/message_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/message_not_safe.png
rename to chrome/wot.jar!/skin/fusion/24_24/message_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/message_caution.png b/chrome/wot.jar!/skin/fusion/24_24/message_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/message_caution.png
rename to chrome/wot.jar!/skin/fusion/24_24/message_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/message_alright.png b/chrome/wot.jar!/skin/fusion/24_24/message_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/message_alright.png
rename to chrome/wot.jar!/skin/fusion/24_24/message_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/message_trusted.png b/chrome/wot.jar!/skin/fusion/24_24/message_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/message_trusted.png
rename to chrome/wot.jar!/skin/fusion/24_24/message_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/new_danger.png b/chrome/wot.jar!/skin/fusion/24_24/new_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/new_danger.png
rename to chrome/wot.jar!/skin/fusion/24_24/new_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/new_not_safe.png b/chrome/wot.jar!/skin/fusion/24_24/new_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/new_not_safe.png
rename to chrome/wot.jar!/skin/fusion/24_24/new_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/new_caution.png b/chrome/wot.jar!/skin/fusion/24_24/new_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/new_caution.png
rename to chrome/wot.jar!/skin/fusion/24_24/new_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/new_alright.png b/chrome/wot.jar!/skin/fusion/24_24/new_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/new_alright.png
rename to chrome/wot.jar!/skin/fusion/24_24/new_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/new_trusted.png b/chrome/wot.jar!/skin/fusion/24_24/new_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/new_trusted.png
rename to chrome/wot.jar!/skin/fusion/24_24/new_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/no_rep_available.png b/chrome/wot.jar!/skin/fusion/24_24/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/24_24/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/danger.png b/chrome/wot.jar!/skin/fusion/24_24/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/danger.png
rename to chrome/wot.jar!/skin/fusion/24_24/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/not_safe.png b/chrome/wot.jar!/skin/fusion/24_24/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/not_safe.png
rename to chrome/wot.jar!/skin/fusion/24_24/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/caution.png b/chrome/wot.jar!/skin/fusion/24_24/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/caution.png
rename to chrome/wot.jar!/skin/fusion/24_24/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/alright.png b/chrome/wot.jar!/skin/fusion/24_24/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/alright.png
rename to chrome/wot.jar!/skin/fusion/24_24/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/trusted.png b/chrome/wot.jar!/skin/fusion/24_24/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/trusted.png
rename to chrome/wot.jar!/skin/fusion/24_24/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/24_24/excluded.png b/chrome/wot.jar!/skin/fusion/24_24/rx.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/24_24/excluded.png
rename to chrome/wot.jar!/skin/fusion/24_24/rx.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/no_rep_available.png b/chrome/wot.jar!/skin/fusion/28_28/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/28_28/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/danger.png b/chrome/wot.jar!/skin/fusion/28_28/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/danger.png
rename to chrome/wot.jar!/skin/fusion/28_28/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/not_safe.png b/chrome/wot.jar!/skin/fusion/28_28/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/not_safe.png
rename to chrome/wot.jar!/skin/fusion/28_28/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/caution.png b/chrome/wot.jar!/skin/fusion/28_28/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/caution.png
rename to chrome/wot.jar!/skin/fusion/28_28/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/alright.png b/chrome/wot.jar!/skin/fusion/28_28/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/alright.png
rename to chrome/wot.jar!/skin/fusion/28_28/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/trusted.png b/chrome/wot.jar!/skin/fusion/28_28/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/trusted.png
rename to chrome/wot.jar!/skin/fusion/28_28/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/28_28/excluded.png b/chrome/wot.jar!/skin/fusion/28_28/rx.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/28_28/excluded.png
rename to chrome/wot.jar!/skin/fusion/28_28/rx.png
diff --git a/chrome/wot.jar!/skin/fusion/32_32/new_trusted.png b/chrome/wot.jar!/skin/fusion/32_32/new_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/32_32/new_trusted.png
rename to chrome/wot.jar!/skin/fusion/32_32/new_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/message_no_rep_available.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/message_r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/message_no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/message_r0.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/message_danger.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/message_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/message_danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/message_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/message_not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/message_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/message_not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/message_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/message_caution.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/message_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/message_caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/message_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/message_alright.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/message_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/message_alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/message_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/message_trusted.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/message_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/message_trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/message_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/new_danger.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/new_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/new_danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/new_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/new_not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/new_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/new_not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/new_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/new_caution.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/new_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/new_caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/new_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/new_alright.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/new_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/new_alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/new_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/new_trusted.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/new_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/new_trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/new_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/no_rep_available.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/plain/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/danger.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/plain/danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/plain/not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/caution.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/plain/caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/alright.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/plain/alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/trusted.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/plain/trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/plain/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/no_rep_available.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/danger.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/caution.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/alright.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/16_16/trusted.png b/chrome/wot.jar!/skin/fusion/accessible/16_16/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/16_16/trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/16_16/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/message_danger.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/message_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/message_danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/message_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/message_not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/message_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/message_not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/message_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/message_caution.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/message_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/message_caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/message_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/message_alright.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/message_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/message_alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/message_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/message_trusted.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/message_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/message_trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/message_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/new_danger.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/new_r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/new_danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/new_r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/new_not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/new_r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/new_not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/new_r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/new_caution.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/new_r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/new_caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/new_r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/new_alright.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/new_r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/new_alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/new_r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/new_trusted.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/new_r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/new_trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/new_r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/no_rep_available.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/danger.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/caution.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/alright.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/24_24/trusted.png b/chrome/wot.jar!/skin/fusion/accessible/24_24/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/24_24/trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/24_24/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/28_28/no_rep_available.png b/chrome/wot.jar!/skin/fusion/accessible/28_28/r0.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/28_28/no_rep_available.png
rename to chrome/wot.jar!/skin/fusion/accessible/28_28/r0.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/28_28/danger.png b/chrome/wot.jar!/skin/fusion/accessible/28_28/r1.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/28_28/danger.png
rename to chrome/wot.jar!/skin/fusion/accessible/28_28/r1.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/28_28/not_safe.png b/chrome/wot.jar!/skin/fusion/accessible/28_28/r2.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/28_28/not_safe.png
rename to chrome/wot.jar!/skin/fusion/accessible/28_28/r2.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/28_28/caution.png b/chrome/wot.jar!/skin/fusion/accessible/28_28/r3.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/28_28/caution.png
rename to chrome/wot.jar!/skin/fusion/accessible/28_28/r3.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/28_28/alright.png b/chrome/wot.jar!/skin/fusion/accessible/28_28/r4.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/28_28/alright.png
rename to chrome/wot.jar!/skin/fusion/accessible/28_28/r4.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/28_28/trusted.png b/chrome/wot.jar!/skin/fusion/accessible/28_28/r5.png
similarity index 100%
rename from chrome/wot.jar!/skin/fusion/accessible/28_28/trusted.png
rename to chrome/wot.jar!/skin/fusion/accessible/28_28/r5.png
diff --git a/chrome/wot.jar!/skin/fusion/accessible/close-active.png b/chrome/wot.jar!/skin/fusion/accessible/close-active.png
deleted file mode 100644
index e4f0914..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/close-active.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/close-hover.png b/chrome/wot.jar!/skin/fusion/accessible/close-hover.png
deleted file mode 100644
index 76c9f73..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/close-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/close.png b/chrome/wot.jar!/skin/fusion/accessible/close.png
deleted file mode 100644
index 0ec1358..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/close.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/logo.png b/chrome/wot.jar!/skin/fusion/accessible/logo.png
deleted file mode 100644
index 7fc1f62..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/logo.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/popup-logo.png b/chrome/wot.jar!/skin/fusion/accessible/popup-logo.png
deleted file mode 100644
index 6741be6..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/popup-logo.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/scorecard-active.png b/chrome/wot.jar!/skin/fusion/accessible/scorecard-active.png
deleted file mode 100644
index f2f9de5..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/scorecard-active.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/scorecard-hover.png b/chrome/wot.jar!/skin/fusion/accessible/scorecard-hover.png
deleted file mode 100644
index 4ec5d77..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/scorecard-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/scorecard.png b/chrome/wot.jar!/skin/fusion/accessible/scorecard.png
deleted file mode 100644
index 43c229f..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/scorecard.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/slider-active.png b/chrome/wot.jar!/skin/fusion/accessible/slider-active.png
deleted file mode 100644
index c72d263..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/slider-active.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/slider-hover.png b/chrome/wot.jar!/skin/fusion/accessible/slider-hover.png
deleted file mode 100644
index fdbcabf..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/slider-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/accessible/slider.png b/chrome/wot.jar!/skin/fusion/accessible/slider.png
deleted file mode 100644
index e739bd4..0000000
Binary files a/chrome/wot.jar!/skin/fusion/accessible/slider.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/close-active.png b/chrome/wot.jar!/skin/fusion/close-active.png
deleted file mode 100644
index ebc9e4f..0000000
Binary files a/chrome/wot.jar!/skin/fusion/close-active.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/close-hover.png b/chrome/wot.jar!/skin/fusion/close-hover.png
deleted file mode 100644
index 608ef57..0000000
Binary files a/chrome/wot.jar!/skin/fusion/close-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/close.png b/chrome/wot.jar!/skin/fusion/close.png
deleted file mode 100644
index e30b9ab..0000000
Binary files a/chrome/wot.jar!/skin/fusion/close.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/confidence-0.png b/chrome/wot.jar!/skin/fusion/confidence-0.png
deleted file mode 100644
index 193d37c..0000000
Binary files a/chrome/wot.jar!/skin/fusion/confidence-0.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/confidence-1.png b/chrome/wot.jar!/skin/fusion/confidence-1.png
deleted file mode 100644
index 3ab723f..0000000
Binary files a/chrome/wot.jar!/skin/fusion/confidence-1.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/confidence-2.png b/chrome/wot.jar!/skin/fusion/confidence-2.png
deleted file mode 100644
index 51487a7..0000000
Binary files a/chrome/wot.jar!/skin/fusion/confidence-2.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/confidence-3.png b/chrome/wot.jar!/skin/fusion/confidence-3.png
deleted file mode 100644
index 72c8353..0000000
Binary files a/chrome/wot.jar!/skin/fusion/confidence-3.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/confidence-4.png b/chrome/wot.jar!/skin/fusion/confidence-4.png
deleted file mode 100644
index 73ef5f9..0000000
Binary files a/chrome/wot.jar!/skin/fusion/confidence-4.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/confidence-5.png b/chrome/wot.jar!/skin/fusion/confidence-5.png
deleted file mode 100644
index 6cb2962..0000000
Binary files a/chrome/wot.jar!/skin/fusion/confidence-5.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/indicator-hover.png b/chrome/wot.jar!/skin/fusion/indicator-hover.png
deleted file mode 100644
index 4db04b8..0000000
Binary files a/chrome/wot.jar!/skin/fusion/indicator-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/indicator.png b/chrome/wot.jar!/skin/fusion/indicator.png
deleted file mode 100644
index a8412fd..0000000
Binary files a/chrome/wot.jar!/skin/fusion/indicator.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/logo.png b/chrome/wot.jar!/skin/fusion/logo.png
index aba32ed..51c64be 100644
Binary files a/chrome/wot.jar!/skin/fusion/logo.png and b/chrome/wot.jar!/skin/fusion/logo.png differ
diff --git a/chrome/wot.jar!/skin/fusion/message-background.png b/chrome/wot.jar!/skin/fusion/message-background.png
deleted file mode 100644
index 186c7d8..0000000
Binary files a/chrome/wot.jar!/skin/fusion/message-background.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/message-critical.png b/chrome/wot.jar!/skin/fusion/message-critical.png
deleted file mode 100644
index 05e83c7..0000000
Binary files a/chrome/wot.jar!/skin/fusion/message-critical.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/message-important.png b/chrome/wot.jar!/skin/fusion/message-important.png
deleted file mode 100644
index 605d7cc..0000000
Binary files a/chrome/wot.jar!/skin/fusion/message-important.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/popup-logo.png b/chrome/wot.jar!/skin/fusion/popup-logo.png
deleted file mode 100644
index 692f479..0000000
Binary files a/chrome/wot.jar!/skin/fusion/popup-logo.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/popup.png b/chrome/wot.jar!/skin/fusion/popup.png
deleted file mode 100644
index edfc9a3..0000000
Binary files a/chrome/wot.jar!/skin/fusion/popup.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/scorecard-active.png b/chrome/wot.jar!/skin/fusion/scorecard-active.png
deleted file mode 100644
index 22ee30e..0000000
Binary files a/chrome/wot.jar!/skin/fusion/scorecard-active.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/scorecard-hover.png b/chrome/wot.jar!/skin/fusion/scorecard-hover.png
deleted file mode 100644
index 3278f1f..0000000
Binary files a/chrome/wot.jar!/skin/fusion/scorecard-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/scorecard.png b/chrome/wot.jar!/skin/fusion/scorecard.png
deleted file mode 100644
index 7d151ed..0000000
Binary files a/chrome/wot.jar!/skin/fusion/scorecard.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/slider-active.png b/chrome/wot.jar!/skin/fusion/slider-active.png
deleted file mode 100644
index 227ada5..0000000
Binary files a/chrome/wot.jar!/skin/fusion/slider-active.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/slider-hover.png b/chrome/wot.jar!/skin/fusion/slider-hover.png
deleted file mode 100644
index 4319827..0000000
Binary files a/chrome/wot.jar!/skin/fusion/slider-hover.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/slider.png b/chrome/wot.jar!/skin/fusion/slider.png
deleted file mode 100644
index ecc2bd5..0000000
Binary files a/chrome/wot.jar!/skin/fusion/slider.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-0.png b/chrome/wot.jar!/skin/fusion/user-bar-0.png
deleted file mode 100644
index aa81772..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-0.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-1.png b/chrome/wot.jar!/skin/fusion/user-bar-1.png
deleted file mode 100644
index 9300b90..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-1.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-10.png b/chrome/wot.jar!/skin/fusion/user-bar-10.png
deleted file mode 100644
index d8f7c55..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-10.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-2.png b/chrome/wot.jar!/skin/fusion/user-bar-2.png
deleted file mode 100644
index 84f7eaa..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-2.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-3.png b/chrome/wot.jar!/skin/fusion/user-bar-3.png
deleted file mode 100644
index c670f31..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-3.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-4.png b/chrome/wot.jar!/skin/fusion/user-bar-4.png
deleted file mode 100644
index f4e9fb6..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-4.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-5.png b/chrome/wot.jar!/skin/fusion/user-bar-5.png
deleted file mode 100644
index 2bd59e7..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-5.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-6.png b/chrome/wot.jar!/skin/fusion/user-bar-6.png
deleted file mode 100644
index 26f5427..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-6.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-7.png b/chrome/wot.jar!/skin/fusion/user-bar-7.png
deleted file mode 100644
index 4ddfdf2..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-7.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-8.png b/chrome/wot.jar!/skin/fusion/user-bar-8.png
deleted file mode 100644
index bb40922..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-8.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/fusion/user-bar-9.png b/chrome/wot.jar!/skin/fusion/user-bar-9.png
deleted file mode 100644
index 40b820d..0000000
Binary files a/chrome/wot.jar!/skin/fusion/user-bar-9.png and /dev/null differ
diff --git a/chrome/wot.jar!/skin/include/blocked.css b/chrome/wot.jar!/skin/include/blocked.css
deleted file mode 100644
index 5144360..0000000
--- a/chrome/wot.jar!/skin/include/blocked.css
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- warning.css
- Copyright © 2009 - 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/>.
-*/
-
-/* ! important 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;
-}
-
-#wotwarning, #wotwrapper {
- position: fixed ! important;
- left: 0 ! important;
- top: 0 ! important;
- height: 100% ! important;
- width: 100% ! important;
- margin: 0 ! important;
- 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;
-}
-
-#wotcontainer {
- position: static !important;
- width: 420px ! important; /* fixed width */
- margin: 0 auto 0 !important;
- outline: 0 !important;
- padding: 0 0 17px !important;
- z-index: 2147483647 !important;
- text-align: center !important;
- font-family: "Verdana", sans-serif !important;
- border-bottom-left-radius: 16px;
- border-bottom-right-radius: 16px;
- border: #babbbb solid 1px;
- box-shadow: 5px 5px 20px #111;
- background-color: #e9e9e9 !important;
- background: -moz-linear-gradient(left, #DBDADA 0%, #F0F0F0 15%, #F4F4F4 50%, #F0F0F0 85%, #DBDADA 100%);
- cursor: default !important;
- color: #504f4f !important;
- direction: ltr; /* fixes chrome issue #64 */
- float: none; /* fixes chrome #90 */
- height: auto; /* fixes chrome #99 */
-}
-
-.wotcontainer * {
- position: static !important;
- line-height: normal !important;
- font-family: "Verdana", 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;
- -moz-user-select: none;
- user-select: none;
- width: auto; /* fixes issue #64 */
- float: none; /* fixes issue #64 */
- left: auto !important;
- right: auto !important;
- top: auto !important;
- height: auto;
-}
-
-.wot-logo {
- position: relative !important;
- top: 14px !important;
- left: 19px !important;
- width: 66px !important;
- height: 28px !important;
- background: url("chrome://wot/skin/b/logo.png") top left no-repeat !important;
-}
-
-.accessible .wot-logo {
- background-image: url("chrome://wot/skin/b/accessible/logo.png") !important;
-}
-
-.wot-warning {
- margin-top: 0.2em !important;
- width: 100% !important;
- text-align: center !important;
- font-size: 26pt !important;
- font-weight: 800 !important;
- color: #504f4f !important;
- text-shadow: 1px 1px 1px #fff !important;
-}
-
-.wot-title {
- margin-top: 17px !important;
- width: 400px !important;
- font-size: 10pt !important;
- font-weight: bold !important;
- color: #504f4f !important;
- text-shadow: 1px 1px 1px #fff !important;
- overflow: hidden !important;
- white-space: nowrap !important;
- padding: 0 0.5em 0.5em 0.5em !important
-}
-
-.wot-desc {
- margin-top: 11px !important;
- width: 100% !important;
- font-size: 11pt !important;
- text-shadow: 1px 1px 1px #fff !important;
- color: black !important;
-}
-
-.wot-openscorecard-wrap {
- margin-top: 1.5em !important;
- width: 100% !important;
-}
-
-#wotinfobutton,
-.wot-openscorecard {
- padding: 0.25em 0 0.3em 30px !important;
- font-size: 10pt !important;
- background: url("chrome://wot/skin/b/i.png") no-repeat !important;
- text-shadow: 2px 2px 2px #fff !important;
-}
-
-.wot-link {
- cursor: pointer !important;
- color: #2353ce !important;
- text-decoration: none !important;
-}
-
-.wot-link:hover {
- text-decoration: underline !important;
-}
-
-/* Section of ratings */
-#wot-ws-ratings {
- width: 63% !important;
- margin: 0.5em auto !important;
-}
-
-#wotcontainer.wotnoratings #wot-ws-ratings {
- display: none !important;
-}
-
-.wot-component {
- position: relative !important;
- margin-top: 1.2em !important;
- text-align: left !important;
-}
-
-.wot-comp-name {
- padding: 0 0 0.5em 1em !important;
- color: #4f4f4e !important;
- text-shadow: 2px 2px 2px #fff !important;
- text-align: left !important;
- font-size: 10pt !important;
-}
-
-.wot-comp-level {
- padding: 0.2em 0 0.3em 1em !important;
- margin-right: 38px !important;
- border-top-left-radius: 10px !important;
- border-bottom-left-radius: 10px !important;
- color: #ffffff !important;
- box-shadow: 2px 2px 6px #b6b6b6 !important;
- text-align: left !important;
- font-size: 10pt !important;
-}
-
-/* Colors for reputation's levels */
-.wot-comp-level[r="r0"]{
- background-image: -moz-linear-gradient(left, #aeafb0, #dddede) !important;
-}
-
-.wot-comp-level[r="r1"]{
- background-image: -moz-linear-gradient(left, #fd0000, #ff6464) !important;
-}
-
-.wot-comp-level[r="r2"]{
- background-image: -moz-linear-gradient(left, #ff5933, #ff9f75) !important;
-}
-
-.wot-comp-level[r="r3"]{
- background-image: -moz-linear-gradient(left, #de7c1b, #ffd100) !important;
-}
-
-.wot-comp-level[r="r4"]{
- background-image: -moz-linear-gradient(left, #5bab28, #a7df21) !important;
-}
-
-.wot-comp-level[r="r5"]{
- background-image: -moz-linear-gradient(left, #3b9013, #68c800) !important;
-}
-
-/* Accessible mode */
-.accessible .wot-comp-level[r="r0"]{
- /* angled stripes */
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAT0lEQVQYV2N88fTFfwYgeP7qOYhCAZJikmA+I0gRPgVgRefPnwebhAxgJsDEMBShKwDZgqIImwIU63ApgCvCpwDuO2RHY/MpOAhginAFBQCXxzf2ZTB/RwAAAABJRU5ErkJggg==) !important;
-}
-
-.accessible .wot-comp-level[r="r1"]{
- background-image: -moz-linear-gradient(left, #000000, #b2b2b2) !important;
-}
-
-.accessible .wot-comp-level[r="r2"]{
- background-image: -moz-linear-gradient(left, #6b5a1a, #948345) !important;
-}
-
-.accessible .wot-comp-level[r="r3"]{
- background-image: -moz-linear-gradient(left, #e0bb2f, #ffe37f) !important;
-}
-
-.accessible .wot-comp-level[r="r4"]{
- background-image: -moz-linear-gradient(left, #b6ad88, #f2e9b2) !important;
-}
-
-.accessible .wot-comp-level[r="r5"] {
- background-image: -moz-linear-gradient(left, #BEBDBD, rgba(255, 255, 255, 0.9) 96%, rgba(255, 255, 255, 0) 100%) !important;
- /* mask right part of label under the thin "green" donut */
- -moz-border-top-right-radius: 13px !important;
- box-shadow: -1px 2px 6px #B6B6B6 !important;
-}
-
-
-/* Donuts icons */
-.wot-comp-icon {
- background-image: url("chrome://wot/skin/b/r0.png") !important;
- background-repeat: no-repeat !important;
- width: 49px !important;
- height: 46px !important;
- position: absolute !important;
- bottom: -7px !important;
- right: 2px !important;
-}
-
-.accessible .wot-comp-icon {
- background-image: url("chrome://wot/skin/b/accessible/r0.png") !important;
-}
-
-.wot-comp-icon[r="r1"] {
- background-image: url("chrome://wot/skin/b/r1.png") !important;
-}
-
-.wot-comp-icon[r="r2"] {
- background-image: url("chrome://wot/skin/b/r2.png") !important;
-}
-
-.wot-comp-icon[r="r3"] {
- background-image: url("chrome://wot/skin/b/r3.png") !important;
-}
-
-.wot-comp-icon[r="r4"] {
- background-image: url("chrome://wot/skin/b/r4.png") !important;
-}
-
-.wot-comp-icon[r="r5"] {
- background-image: url("chrome://wot/skin/b/r5.png") !important;
-}
-
-.accessible .wot-comp-icon[r="r1"] {
- background-image: url("chrome://wot/skin/b/accessible/r1.png") !important;
-}
-
-.accessible .wot-comp-icon[r="r2"] {
- background-image: url("chrome://wot/skin/b/accessible/r2.png") !important;
-}
-
-.accessible .wot-comp-icon[r="r3"] {
- background-image: url("chrome://wot/skin/b/accessible/r3.png") !important;
-}
-
-.accessible .wot-comp-icon[r="r4"] {
- background-image: url("chrome://wot/skin/b/accessible/r4.png") !important;
-}
-
-.accessible .wot-comp-icon[r="r5"] {
- background-image: url("chrome://wot/skin/b/accessible/r5.png") !important;
-}
-
-.wot-rateit-wrap {
- margin-top: 2em !important;
- font-size: 10pt !important;
- text-shadow: 1px 1px 1px #fff !important;
- text-decoration: none !important;
-}
-
-/* bottom buttons row */
-.wot-buttons {
- margin-top: 1.3em !important;
- margin-bottom: 1.2em !important;
- position: relative !important;
- height: 32px !important;
-}
-/* button's style */
-.wot-button {
- border: #babbbb solid 1px !important;
- border-radius: 8px !important;
- height: 24px !important;
- color: #5a5a5a !important;
- min-width: 130px !important;
- padding: 0.7em 0.5em 0 0.5em !important;
- box-shadow: 2px 2px 2px #838181;
- text-shadow: 1px 1px 1px #fff !important;
-
- background-image: -moz-linear-gradient(top, #f9f9f9 60%, #d5d5d5) !important;
- font-size: 10pt !important;
- font-weight: bold !important;
- -moz-transition: box-shadow 0.1s !important;
-}
-
-.wot-button:hover {
- box-shadow: 0 0 20px rgba(121, 180, 42, 0.8) !important;
- border-color: #80ba33 !important;
-}
-
-.accessible .wot-button:hover {
- box-shadow: 0 0 20px rgba(145, 145, 145, 0.8) !important;
- border-color: #8c8d8c !important;
-}
-
-.wot-button:active {
- border-color: #babbbb !important;
- box-shadow: none !important;
- top: 1px !important;
- background-image: -moz-linear-gradient(top, #e2e1e1 71%, #b0afaf) !important;
-}
-
-#wot-btn-hide, #wot-btn-leave {
- position: absolute !important;
-}
-
-#wot-btn-hide {
- left: 50px !important;
-}
-
-#wot-btn-hide:active {
- left: 51px !important;
-}
-
-#wot-btn-leave {
- right: 50px !important;
-}
-
-#wot-btn-leave:active {
- right: 49px !important;
-}
diff --git a/chrome/wot.jar!/skin/include/blocked.js b/chrome/wot.jar!/skin/include/blocked.js
index b61a8e8..bd7661a 100644
--- a/chrome/wot.jar!/skin/include/blocked.js
+++ b/chrome/wot.jar!/skin/include/blocked.js
@@ -25,6 +25,25 @@ 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 {
@@ -58,10 +77,32 @@ function load_l10n(callback) {
// emulation of original wot_util module
var wot_util = {
- getstring: function(str)
- {
+ 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
diff --git a/chrome/wot.jar!/skin/include/loading.css b/chrome/wot.jar!/skin/include/loading.css
index 64bfc25..88352d0 100644
--- a/chrome/wot.jar!/skin/include/loading.css
+++ b/chrome/wot.jar!/skin/include/loading.css
@@ -20,25 +20,25 @@ body {
float: left;
}
#image-0 {
- background: url("chrome://wot/skin/fusion/28_28/danger.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/28_28/r1.png") top left no-repeat;
}
#image-1 {
- background: url("chrome://wot/skin/fusion/28_28/not_safe.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/28_28/r2.png") top left no-repeat;
}
#image-2 {
- background: url("chrome://wot/skin/fusion/28_28/caution.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/28_28/r3.png") top left no-repeat;
}
.accessible .image {
- background: url("chrome://wot/skin/fusion/accessible/28_28/no_rep_calculated.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/accessible/28_28/r0.png") top left no-repeat;
}
.accessible #image-0 {
- background: url("chrome://wot/skin/fusion/accessible/28_28/danger.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/accessible/28_28/r1.png") top left no-repeat;
}
.accessible #image-1 {
- background: url("chrome://wot/skin/fusion/accessible/28_28/not_safe.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/accessible/28_28/r2.png") top left no-repeat;
}
.accessible #image-2 {
- background: url("chrome://wot/skin/fusion/accessible/28_28/caution.png") top left no-repeat;
+ background: url("chrome://wot/skin/fusion/accessible/28_28/r3.png") top left no-repeat;
}
#text {
clear: both;
diff --git a/chrome/wot.jar!/skin/include/popup.css b/chrome/wot.jar!/skin/include/popup.css
index 89b465d..b587fbf 100644
--- a/chrome/wot.jar!/skin/include/popup.css
+++ b/chrome/wot.jar!/skin/include/popup.css
@@ -1,118 +1,435 @@
+/*
+ popup.css
+ Copyright © 2009 - 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/>.
+*/
+
.wot-popup-layer {
- border: 0 ! important;
- font-family: Arial, sans-serif;
- margin: 0;
- padding: 0;
- position: absolute;
- z-index: 2147483647;
- width: 136px;
+ position: absolute;
+ top: -9999px;
+ z-index: 2147483647;
+ max-width: 395px;
+ margin: 0;
+ padding: 0;
+ border: 1px solid #e4e4e4 !important;
+ font-family: Arial, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ -moz-user-select: none;
+ box-shadow: 4px 4px 6px rgba(189, 189, 189, 0.65);
+ background-color: white;
}
+
#wot-logo {
- background: url("chrome://wot/skin/fusion/popup-logo.png") top left no-repeat;
- display: block;
- height: 21px;
- margin: 0;
- padding: 0;
-}
-.accessible #wot-logo {
- background: url("chrome://wot/skin/fusion/accessible/popup-logo.png") top left no-repeat;
-}
-#wot-popup-ratings, .wot-popup-ratings {
- background: url("chrome://wot/skin/fusion/popup.png") bottom left no-repeat;
- display: block;
- height: 214px;
- margin: 0;
- padding: 0;
+ background: url("chrome://wot/skin/fusion/logo.png") top left no-repeat;
+ margin: 0;
+ text-align: right;
+ color: #A5A4A4;
+ font-size: 11px;
+ padding: 5px 5px;
+ background-position: 6px 6px;
+ background-size: 11%;
}
+
+.wot-ratings {
+ display: block;
+ margin: 0;
+ padding: 0 5px 0;
+ background-color: #F9F9F9;
+ height: 97px;
+ border-top: 1px solid #D9D9D9;
+ border-bottom: 1px solid #D9D9D9;
+}
+
+#wot-hostname {
+ text-align: center;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ padding: 6px 0;
+ overflow: hidden;
+ font-weight: bold;
+ color: #454545;
+}
+
.wot-stack {
- display: block;
- height: 50px;
- width: 121px;
- margin: 0px 0px 0px 2px;
- padding: 2px 0px 0px 9px;
+ display: table-cell;
+ height: 50px;
+ min-width: 110px;
+}
+
+.wot-stack-left {
+ padding-left: 12px;
}
+
+.wot-stack-right {
+ padding: 0 15px;
+}
+
.wot-header {
- color: #878787;
- display: block;
- font-size: 12px;
- font-weight: normal;
- line-height: 14px;
- margin: 0;
- overflow: hidden;
- padding: 0;
- text-align: left;
- white-space: nowrap;
- width: 109px;
+ color: #454545;
+ display: block;
+ font-size: 12px;
+ font-weight: normal;
+ line-height: 14px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0 0 7px 0;
+ text-align: left;
+ white-space: nowrap;
}
+
.wot-rep {
- background: url('chrome://wot/skin/fusion/28_28/no_rep_available.png') left top no-repeat;
- display: block;
- height: 28px;
- width: 28px;
- margin: 2px 0px 0px 1px;
- padding: 0;
- float: left;
+ 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: -4px;
+ margin-top: 7px;
+ padding: 0;
+ float: left;
+}
+
+.wot-popup-layer-accessible .wot-rep {
+ background-image: url("chrome://wot/skin/b/accessible/donuts_150.png");
}
-.wot-rep[reputation="excluded"] {
- background: url('chrome://wot/skin/fusion/28_28/excluded.png') left top no-repeat;
+
+.wot-rep[reputation="r1"] {
+ background-position: 0 -132px;
}
-.wot-rep[reputation="1"] {
- background: url('chrome://wot/skin/fusion/28_28/danger.png') left top no-repeat;
+
+.wot-rep[reputation="r2"] {
+ background-position: 0 -99px;
}
-.wot-rep[reputation="2"] {
- background: url('chrome://wot/skin/fusion/28_28/not_safe.png') left top no-repeat;
+
+.wot-rep[reputation="r3"] {
+ background-position: 0 -66px;
}
-.wot-rep[reputation="3"] {
- background: url('chrome://wot/skin/fusion/28_28/caution.png') left top no-repeat;
+
+.wot-rep[reputation="r4"] {
+ background-position: 0 -33px;
}
-.wot-rep[reputation="4"] {
- background: url('chrome://wot/skin/fusion/28_28/alright.png') left top no-repeat;
+
+.wot-rep[reputation="r5"] {
+ background-position: 0 0;
}
-.wot-rep[reputation="5"] {
- background: url('chrome://wot/skin/fusion/28_28/trusted.png') left top no-repeat;
+
+.wot-cnf {
+ height: 42px;
+ margin-left: -2px;
+ margin-top: -5px;
+ width: 34px;
+ background: url("chrome://wot/skin/b/confidence_150dpi.png") top left no-repeat;
+ background-size: 33px auto;
+ background-position: 0 -168px;
+ padding: 0;
+ float: left;
}
-.accessible .wot-rep {
- background: url('chrome://wot/skin/fusion/accessible/28_28/no_rep_available.png') left top no-repeat;
+
+.wot-cnf[confidence="c1"] {
+ background-position: 0 -126px;
}
-.accessible .wot-rep[reputation="excluded"] {
- background: url('chrome://wot/skin/fusion/28_28/excluded.png') left top no-repeat;
+
+.wot-cnf[confidence="c2"] {
+ background-position: 0 -84px;
}
-.accessible .wot-rep[reputation="1"] {
- background: url('chrome://wot/skin/fusion/accessible/28_28/danger.png') left top no-repeat;
+
+.wot-cnf[confidence="c3"] {
+ background-position: 0 -42px;
}
-.accessible .wot-rep[reputation="2"] {
- background: url('chrome://wot/skin/fusion/accessible/28_28/not_safe.png') left top no-repeat;
+
+.wot-cnf[confidence="c4"] {
+ background-position: 0 0;
}
-.accessible .wot-rep[reputation="3"] {
- background: url('chrome://wot/skin/fusion/accessible/28_28/caution.png') left top no-repeat;
+
+.wot-cnf[confidence="c5"] {
+ background-position: 0 -210px;
}
-.accessible .wot-rep[reputation="4"] {
- background: url('chrome://wot/skin/fusion/accessible/28_28/alright.png') left top no-repeat;
+
+.wot-popup-layer .rating-legend-wrapper {
+ /*position: absolute;*/
+ background: url("chrome://wot/skin/b/bubl_speech_c_150.png") top left repeat-x;
+ background-size: 1px 24px;
+ height: 24px;
+ margin: 1px 0 auto 14px;
+ float: left;
+ position: relative;
+
+ display: none; /* don't show bubble speeches for now until we have their new styles */
}
-.accessible .wot-rep[reputation="5"] {
- background: url('chrome://wot/skin/fusion/accessible/28_28/trusted.png') left top no-repeat;
+
+.wot-popup-layer .rating-legend-wrapper:before {
+ position: absolute;
+ content: "";
+ height: 24px;
+ width: 17px;
+ margin-left: -17px;
+ background: url("chrome://wot/skin/b/bubl_speech_l_150.png") top left no-repeat;
+ background-size: 17px 24px;
}
-.wot-cnf {
- background: url('chrome://wot/skin/fusion/confidence-0.png') right top no-repeat;
- display: block;
- height: 18px;
- width: 51px;
- margin: 6px 32px 0px 0px;
- padding: 0;
- float: right;
+
+.wot-popup-layer .rating-legend-wrapper:after {
+ position: absolute;
+ content: "";
+ height: 24px;
+ width: 17px;
+ right: -17px;
+ background: url("chrome://wot/skin/b/bubl_speech_r_150.png") top left no-repeat;
+ background-size: 10px 24px;
+ top: 0px;
+}
+
+.wot-popup-layer .rating-legend {
+ position: relative;
+ height: 24px;
+ min-width: 48px;
+ margin: -2px 0 0;
+ padding: 7px 4px 0 0;
+ color: #454545;
+ font-size: 12px;
+ text-align: center;
+ white-space: nowrap;
+}
+
+#wot-categories {
+ /* Block of categories */
+ clear: both;
+}
+
+#wot-cat-text {
+ /* This element is for optional text when no categories are identified */
+ font-size: 11px;
+ color: #3073C5;
+ padding: 6px 5px;
+ text-align: center;
+ display: none;
+}
+
+#wot-cat-text:hover {
+ text-decoration: underline;
+}
+
+#wot-cat-list {
+ /* List of categories */
+ display: none;
+ padding: 0 10px 0 40px !important;
+ margin: 6px 0 !important;
+}
+
+.wot-popup-layer .cat-item {
+ font-size: 9pt;
+ color: silver;
+ list-style: none !important;
+ padding: 0.2em 0 !important;
+}
+
+.wot-popup-layer .cat-item:before {
+ width: 1em;
+ height: 1em;
+ border: 1px solid #C0C0C0;
+ background-color: #C0C0C0;
+ border-radius: 50%;
+ content: "";
+ position: absolute;
+ margin-left: -1.65em;
+ margin-top: 0;
+}
+
+.c-neutral.cat-item:before {
+ background-color: #707070;
+ background: -moz-radial-gradient(center, ellipse cover, #9e9c9c 0%,#707070 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #7d7d7d;
+}
+
+.wot-popup-layer-accessible .c-neutral.cat-item:before {
+ 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;
+ background: -moz-radial-gradient(center, ellipse cover, #f8df68 0%,#f6cd0e 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #f6cd0e;
+}
+
+.wot-popup-layer-accessible .c-questionable.cat-item:before {
+ 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;
+ background: -moz-radial-gradient(center, ellipse cover, #fca080 0%,#f77448 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #f66d3f;
+}
+
+.wot-popup-layer-accessible .c-negative.cat-item:before {
+ 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;
+ background: -moz-radial-gradient(center, ellipse cover, #83d561 0%,#6dc14a 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #6dc14a;
+}
+
+.wot-popup-layer-accessible .c-positive.cat-item:before {
+ background-color: #B8B8B8;
+ background: -moz-radial-gradient(center, ellipse cover, #FDFDFD 0%, #F7F7F7 100%);
+ border-color: #B8B8B8;
+}
+
+/* reset styles */
+.wot-popup-layer .c0,
+.wot-popup-layer .c1,
+.wot-popup-layer .c2,
+.wot-popup-layer .c3,
+.wot-popup-layer .c4,
+.wot-popup-layer .c5 {
+ height: auto;
+}
+
+.wot-popup-layer .c0 {
+ font-size: 11px !important;
+ color: #a7a7a7 !important;
+}
+
+.wot-popup-layer .c0.cat-item:before {
+ width: 4px !important;
+ height: 4px !important;
+ margin-left: -19px !important;
+ margin-top: 4px !important;
+}
+
+.wot-popup-layer .c1 {
+ font-size: 12px;
+ color: #a7a7a7;
+}
+
+.wot-popup-layer .c1.cat-item:before {
+ width: 6px;
+ height: 6px;
+ margin-left: -20px;
+ margin-top: 3px;
+}
+
+.wot-popup-layer .c2,
+.wot-popup-layer .c3 {
+ font-size: 12px;
+ color: #646464;
+}
+
+.wot-popup-layer .c2.cat-item:before,
+.wot-popup-layer .c3.cat-item:before {
+ width: 7px;
+ height: 7px;
+ margin-left: -19px;
+ margin-top: 1px;
+}
+
+.wot-popup-layer .c4,
+.wot-popup-layer .c5 {
+ font-size: 12px;
+ color: #5c5c5c;
+ font-weight: bold;
+}
+
+.wot-popup-layer .c4.cat-item:before,
+.wot-popup-layer .c5.cat-item:before {
+ width: 8px;
+ height: 8px;
+ margin-left: -20px;
+ margin-top: 2px;
+}
+
+/* small hints about user's ratings on the popup */
+
+.wot-corners-wrapper {
+ position: relative;
+}
+
+.wot-pp-tr,
+.wot-pp-cs {
+ position: absolute;
+ width: 0;
+ height: 0;
+ bottom: 0;
+ left: 0;
+ border: 4px solid transparent;
+}
+
+.wot-pp-cs {
+ right: 0;
+ left: auto;
+ margin-left: auto;
+ bottom: 0;
+}
+
+.wot-pp-tr[r="r1"] {
+ border-left-color: #fd0000;
+ border-bottom-color: #fd0000;
+}
+
+.wot-pp-cs[r="r1"] {
+ border-right-color: #fd0000;
+ border-bottom-color: #fd0000;
+}
+
+.wot-pp-tr[r="r2"] {
+ border-left-color: #ff9f75;
+ border-bottom-color: #ff9f75;
+}
+
+.wot-pp-cs[r="r2"] {
+ border-right-color: #ff9f75;
+ border-bottom-color: #ff9f75;
+}
+
+.wot-pp-tr[r="r3"] {
+ border-left-color: #ffd100;
+ border-bottom-color: #ffd100;
}
-.wot-cnf[confidence="1"] {
- background: url('chrome://wot/skin/fusion/confidence-1.png') right top no-repeat;
+
+.wot-pp-cs[r="r3"] {
+ border-right-color: #ffd100;
+ border-bottom-color: #ffd100;
}
-.wot-cnf[confidence="2"] {
- background: url('chrome://wot/skin/fusion/confidence-2.png') right top no-repeat;
+
+.wot-pp-tr[r="r4"] {
+ border-left-color: #a7df21;
+ border-bottom-color: #a7df21;
}
-.wot-cnf[confidence="3"] {
- background: url('chrome://wot/skin/fusion/confidence-3.png') right top no-repeat;
+
+.wot-pp-cs[r="r4"] {
+ border-right-color: #a7df21;
+ border-bottom-color: #a7df21;
}
-.wot-cnf[confidence="4"] {
- background: url('chrome://wot/skin/fusion/confidence-4.png') right top no-repeat;
+
+.wot-pp-tr[r="r5"] {
+ border-left-color: #68c800;
+ border-bottom-color: #68c800;
}
-.wot-cnf[confidence="5"] {
- background: url('chrome://wot/skin/fusion/confidence-5.png') right top no-repeat;
+
+.wot-pp-cs[r="r5"] {
+ border-right-color: #68c800;
+ border-bottom-color: #68c800;
}
diff --git a/chrome/wot.jar!/skin/include/warning.css b/chrome/wot.jar!/skin/include/warning.css
new file mode 100644
index 0000000..f5c5cbe
--- /dev/null
+++ b/chrome/wot.jar!/skin/include/warning.css
@@ -0,0 +1,752 @@
+/*
+ warning.css
+ Copyright © 2009 - 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/>.
+*/
+
+/* ! important 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;
+}
+
+#wotwarning, #wotwrapper {
+ position: fixed ! important;
+ left: 0 ! important;
+ top: 0 ! important;
+ height: 100% ! important;
+ width: 100% ! important;
+ margin: 0 ! important;
+ 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;
+}
+
+#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 */
+}
+
+.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;
+ width: auto; /* fixes issue #64 */
+ float: none; /* fixes issue #64 */
+ height: auto; /* fixes #99 */
+ -moz-user-select: none;
+ user-select: none;
+ left: auto !important;
+ right: auto !important;
+ top: auto !important;
+}
+
+.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;
+}
+
+.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;
+}
+
+.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;
+}
+
+.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;
+}
+
+/* Section of ratings */
+#wot-warn-ratings {
+ width: 63% !important;
+ margin: 0.5em auto !important;
+}
+
+#wotcontainer.wotnoratings #wot-warn-ratings {
+ display: none !important;
+}
+
+.wot-rep-components-wrapper {
+ min-height: 105px;
+ background-color: #F5F5F5 !important;
+ border-top: 1px solid #D1D1D1 !important;
+ border-bottom: 1px solid #D1D1D1 !important;
+}
+
+#wotcontainer.blacklist .wot-rep-components-wrapper {
+ /* don't show reputation area in blacklist mode */
+ display: none;
+}
+
+.wot-rep-components {
+ /*clear: left;*/
+ display: inline-block;
+ margin: 0 auto !important;
+ /*padding-left: 20px !important;*/
+}
+
+.wot-component {
+ position: relative !important;
+ text-align: left !important;
+ display: inline;
+ float: left;
+ min-width: 140px !important;
+ margin-top: 10px !important;
+}
+
+.wot-comp-name {
+ padding: 8px 0 0.5em 0 !important;
+ color: #454545 !important;
+ text-align: left !important;
+ font-size: 12px !important;
+ white-space: nowrap;
+ min-height: 18px !important;
+}
+
+.wot-rep-data {
+ position: relative !important;
+ margin-top: 4px !important;
+ margin-left: 0 !important;
+ display: inline !important;
+}
+
+/* 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;
+}
+
+#wotcontainer.accessible .wot-comp-icon {
+ background-image: url("chrome://wot/skin/b/accessible/donuts_150.png") !important;
+}
+
+.wot-comp-icon[r="r1"] {
+ background-position: 0 -132px !important;
+}
+
+.wot-comp-icon[r="r2"] {
+ background-position: 0 -99px !important;
+}
+
+.wot-comp-icon[r="r3"] {
+ background-position: 0 -66px !important;
+}
+
+.wot-comp-icon[r="r4"] {
+ background-position: 0 -33px !important;
+}
+
+.wot-comp-icon[r="r5"] {
+ background-position: 0 0 !important;
+}
+
+.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;
+}
+
+.wot-comp-conf[c="c1"] {
+ background-position: 0 -126px !important;
+}
+.wot-comp-conf[c="c2"] {
+ background-position: 0 -84px !important;
+}
+.wot-comp-conf[c="c3"] {
+ background-position: 0 -42px !important;
+}
+.wot-comp-conf[c="c4"] {
+ background-position: 0 0 !important;
+}
+.wot-comp-conf[c="c5"] {
+ background-position: 0 -210px !important;
+}
+
+.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;
+ left: 1px;
+ display: inline-block;
+ padding: 3px 0 !important;
+}
+
+.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;
+ 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;
+}
+
+.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;
+ display: inline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.ws-categories-area {
+ margin: 4px 0 0 !important;
+ padding: 0.4em 0 0 !important;
+}
+
+#wotcontainer.blacklist .ws-categories-area {
+ /* don't show it in blacklist mode */
+ display: none;
+}
+
+.ws-categories-title {
+ font-size: 12px !important;
+ font-weight: bold !important;
+ color: #888 !important;
+ padding-top: 8px !important;
+}
+
+#ws-categories-list {
+ margin: 8px 25px 0 74px !important;
+ text-align: left !important;
+}
+
+.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 */
+}
+
+.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;
+}
+
+.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;
+}
+
+#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;
+}
+
+.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;
+}
+
+#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;
+}
+
+.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;
+}
+
+#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;
+}
+
+.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;
+}
+
+#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;
+}
+
+.c0 {
+ font-size: 11px !important;
+ color: #a7a7a7 !important;
+}
+
+.c0.cat-item:before {
+ width: 4px !important;
+ height: 4px !important;
+ margin-left: -19px !important;
+ margin-top: 4px !important;
+}
+
+.c1 {
+ font-size: 12px !important;
+ color: #a7a7a7 !important;
+}
+
+.c1.cat-item:before {
+ width: 6px !important;
+ height: 6px !important;
+ margin-left: -20px !important;
+ margin-top: 3px !important;
+}
+
+.c2,
+.c3 {
+ font-size: 12px !important;
+ color: #646464 !important;
+}
+
+.c2.cat-item:before,
+.c3.cat-item:before {
+ width: 7px !important;
+ height: 7px !important;
+ margin-left: -19px !important;
+ margin-top: 2px !important;
+}
+
+.c4,
+.c5 {
+ font-size: 12px !important;
+ color: #5c5c5c !important;
+ font-weight: bold !important;
+}
+
+.c4.cat-item:before,
+.c5.cat-item:before {
+ width: 8px !important;
+ height: 8px !important;
+ margin-left: -20px !important;
+}
+
+.wot-openscorecard-wrap {
+ margin-top: 14px !important;
+ text-align: left !important;
+ margin-left: 52px !important;
+}
+
+#wotcontainer.blacklist .wot-openscorecard-wrap {
+ /* in blacklist mode, align by center */
+ margin-left: 0 !important;
+ text-align: center !important;
+}
+
+#wotinfobutton,
+.wot-openscorecard {
+ padding: 0.4em 0 0.6em 0px !important;
+ font-size: 13px !important;
+}
+
+.wot-link {
+ cursor: pointer !important;
+ color: #2353ce !important;
+ text-decoration: none !important;
+}
+
+.wot-link:hover {
+ text-decoration: underline !important;
+}
+
+.wot-rateit-wrap {
+ margin: 14px auto 0 !important;
+ width: 80% !important;
+}
+
+.wot-rateit-wrap span {
+ font-size: 12px !important;
+}
+
+#wotrate-link {
+ font-size: 12px !important;
+}
+
+
+/* bottom buttons row */
+.wot-buttons {
+ margin-top: 1em !important;
+ margin-bottom: 0.2em !important;
+ position: relative !important;
+ height: 32px !important;
+}
+/* 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;
+ min-width: 95px;
+ border-radius: 2px !important;
+ font-size: 12px !important;
+ font-weight: bold !important;
+ color: #585858 !important;
+
+ 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;
+}
+
+.wot-button:hover {
+ background-image: -moz-linear-gradient(top, #FFF 0%,#dadada 83%, #f3f1f1 100%) !important;
+}
+
+.wot-button:active {
+ box-shadow: 1px 1px 1px #d2d2d2 inset !important;
+ text-shadow: 0px 0px #DDD !important;
+}
+
+#wot-btn-hide, #wot-btn-leave {
+ position: absolute !important;
+}
+
+#wot-btn-hide {
+ left: 25px !important;
+}
+
+#wot-btn-hide:active {
+ left: 26px !important;
+}
+
+#wot-btn-leave {
+ right: 25px !important;
+}
+
+#wot-btn-leave:active {
+ right: 24px !important;
+}
+
+#wot-wt-warning-wrapper {
+ width: 0;
+ float: left;
+ position: relative !important;
+ left: 390px;
+ top: -40px;
+}
+
+.wot-wt-warning-content {
+ position: absolute !important;
+ width: 215px;
+ padding: 1em 1.5em 5.5em !important;
+ border-color: white;
+ border-radius: 2px !important;
+ color: #757575 !important;
+ background-color: white !important;
+ box-shadow: 0 0 7px 3px #aaa;
+}
+
+.wot-wt-warning-content:before {
+ content: "";
+ background-image: url("chrome://wot/skin/b/welcometips/wt_left_corner_2.png");
+ width: 20px;
+ height: 26px;
+ position: relative !important;
+ 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;
+}
+
+.wot-wt-warning-content label {
+ color: #656565 !important;
+ font-family: Arial !important;
+}
+
+/* Used in W-Tips */
+.wot-wt-warning-content .wot-cb {
+ text-align: center !important;
+ font-weight: bold !important;
+}
+
+.wot-wt-warning-content .wot-cb.latest {
+ padding-bottom: 0 !important;
+}
+
+.wot-wt-warning-content > div:not([class="wot-wt-warn-footer"]) {
+ padding-top: 1em !important;
+}
+
+.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;
+}
+
+/* BEGIN: Copy&Paste from welcometips.css */
+.wot-wt-button {
+ -moz-transition: box-shadow 0.1s !important;
+ width: 12em;
+ height: 24px !important;
+ margin: 1.3em auto 0.5em auto !important;
+ padding: 0.7em 0.5em 0.2em 0.5em !important;
+
+ border: #71A939 solid 1px !important;;
+ border-radius: 3px !important;
+ 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;
+
+ color: #375914 !important;
+ font-size: 10pt;
+ font-weight: bold;
+ text-align: center;
+ cursor: pointer;
+}
+
+.wot-wt-button:hover {
+ background-image: -moz-linear-gradient(top, #e5fad1 0%, #b2e186 39%, #83bc4a 83%, #83BC4A) !important;
+}
+
+.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;
+}
+/* END */
+
+.wot-wt-warn-button {
+ font-weight: bold !important;
+ color: #375914 !important;
+}
+
+.wot-wt-warn-footer {
+ position: absolute !important;
+ bottom: 1em !important;
+ width: 215px !important;
+}
+
+.wot-wt-warning-content #wt-learnmore-link {
+ color: #1F7BD6 !important;
+ text-decoration: underline !important;
+ cursor: pointer !important;
+}
+
+.wot-checkbox {
+
+}
+
+.wot-blacklisting-info {
+ display: none;
+ max-width: 300px !important;
+ margin: 0 auto !important;
+ margin-top: 66px !important;
+}
+
+#wotcontainer.blacklist .wot-blacklisting-info {
+ display: block;
+}
+
+#wotcontainer.blacklist .wot-openscorecard-wrap {
+ margin-top: 4px !important;
+}
+
+.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;
+}
+
+.wot-bl-decoration-donut {
+ left: 86px !important;
+ top: 0 !important;
+ height: 27px !important;
+}
+
+.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;
+}
+
+.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;
+}
+
+.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;
+}
+
+.wot-bl-verdict {
+ margin: 4px 2px !important;
+ padding: 2px 10px !important;
+ color: #FFF !important;
+ text-align: left !important;
+ font-family: sans-serif !important;
+}
+
+.wot-bl-verdict.empty {
+ min-width: 50px !important;
+ background-color: #606060 !important;
+ padding: 2px 0 3px !important;
+ margin: 14px 8px 10px 12px !important;
+ content: "";
+}
diff --git a/chrome/wot.jar!/skin/ratingwindow.css b/chrome/wot.jar!/skin/ratingwindow.css
new file mode 100644
index 0000000..1c27794
--- /dev/null
+++ b/chrome/wot.jar!/skin/ratingwindow.css
@@ -0,0 +1,1726 @@
+/*
+ ratingwindow.css
+ Copyright © 2009 - 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/>.
+*/
+
+body {
+ overflow: hidden;
+ cursor: default;
+ -moz-user-select: none; /* FF specific */
+ width: 576px;
+ margin: 0; /* FF specific */
+ padding: 0;
+}
+
+#wot-ratingwindow {
+ display: block;
+ padding: 10px 16px 0;
+ min-height: 390px;
+}
+
+#wot-elements {
+ background: #ffffff;
+ display: block;
+ font-family: Arial, sans-serif;
+ margin: 0;
+ padding: 0;
+ /*width: 316px;*/
+}
+
+/* header, always visible */
+#wot-header {
+ position: relative;
+}
+
+/* Always visible */
+#ratings-area {
+ min-height: 94px;
+ position: relative;
+ background-color: #f9f9f9;
+ padding: 4px 10px;
+ margin: 0 -16px;
+}
+
+/* height of rating area depends on the mode:
+ low height (94px): unrated, rate
+ high height: (122px): rated, commenting, thanks
+ */
+.view-mode #ratings-area,
+.commenting #ratings-area {
+ min-height: 122px; /* to fit categories or activity score */
+}
+
+#ratings-area:before,
+#ratings-area:after {
+ position: absolute;
+ left: -13px;
+ width: 105%;
+ content: "";
+}
+
+#ratings-area:before {
+ border-top: 1px solid #D2D2D2;
+ top: 0;
+}
+
+#ratings-area:after {
+ border-bottom: 1px solid #D2D2D2;
+ content: "";
+ bottom: 0;
+}
+
+#ratings-area[disabled=disabled],
+#ratings-area[disabled=disabled] .wot-rating-slider {
+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+ */
+ opacity: 0.7;
+}
+
+/* Always visible */
+#main-area {
+ min-height: 182px;
+ padding: 4px 10px;
+ margin: 0 -11px;
+}
+
+.rate #main-area {
+ min-height: 210px;
+}
+
+/* Always visible */
+#bottom-area {
+ /*min-height: 3em;*/
+ padding: 0 8px;
+}
+
+.rate #bottom-area {
+ min-height: 3em;
+}
+
+#header-line-1 {
+ min-height: 1em;
+}
+
+#header-line-2 {
+ min-height: 1.4em;
+ margin-top: -4px;
+ padding-left: 4px;
+}
+
+#wot-header-logo {
+ position: absolute;
+ top: 2px;
+ left: 0;
+ background: url("chrome://wot/skin/fusion/logo.png") top left no-repeat;
+ cursor: pointer;
+ display: inline-block;
+ /*float: left;*/
+ height: 17px;
+ width: 42px;
+}
+
+#wot-header-links {
+ position: absolute;
+ top: 2px;
+ right: 14px;
+}
+
+.wot-header-link {
+ color: #8f8f8f;
+ display: table-cell;
+ /*float: right;*/
+ font-size: 11px;
+ height: 16px;
+ /*line-height: 16px;*/
+ padding: 0 0.6em;
+}
+
+.wot-header-link:hover {
+ color: #3073c5;
+ cursor: pointer;
+}
+
+#wot-header-close {
+ position: absolute;
+ top: -1px;
+ right: -5px;
+ height: 14px;
+ width: 14px;
+ background-color: #FFF;
+ margin: 0 0 0 1px;
+ border-radius: 3px;
+ border: 1px solid #B9B9B9;
+ cursor: pointer;
+}
+
+#wot-header-close:hover {
+ background-color: #f4f4f4;
+ border: 1px solid #939393;
+}
+
+/* Cross inside the "close" icon */
+#wot-header-close:after,
+#wot-header-close:before {
+ content: "";
+ position: absolute;
+ top: 50%;
+ z-index: 4;
+ left: 6px;
+ width: 2px;
+ height: 12px;
+ margin-top: -6px;
+ background: #A2A2A2;
+}
+
+#wot-header-close:before {
+ transform: rotate(45deg);
+}
+
+#wot-header-close:after {
+ transform: rotate(135deg);
+}
+
+#wot-title-text {
+ position: absolute;
+ left: 56px;
+ color: #777676;
+ font-size: 14px;
+ overflow: hidden;
+ top: 0;
+}
+
+/*#wot-title-text[status="information"] {*/
+/*color: #4e4e4e;*/
+/*}*/
+
+/* Hostname */
+#hostname-text {
+ margin-left: 52px;
+ color: #454545;
+ font-size: 13px;
+ font-weight: bold;
+ overflow: hidden;
+ -moz-user-select: text;
+ margin-top: 5px;
+ display: block;
+}
+
+/*#hostname-text[status="information"] {*/
+/*color: #4e4e4e;*/
+/*}*/
+
+/* rating header */
+#wot-rating-header {
+ color: #878787;
+ display: none;
+ font-size: 11px;
+ height: 17px;
+ margin-left: 2px;
+ margin-right: 2px;
+ padding-left: 0;
+ padding-top: 2px;
+ width: 312px;
+}
+
+#wot-myratings-header {
+ position: relative;
+ min-height: 1em;
+ margin-top: 7px;
+ left: 14px;
+}
+
+#myrating-header {
+ margin-left: 10px;
+ font-size: 14px;
+ font-weight: bold;
+ color: #454545;
+}
+
+/* Headers for rating controls */
+#wot-myrating-0-header,
+#wot-myrating-4-header {
+ /*left: 1em;*/
+ font-size: 12px;
+ position: absolute;
+ color: #5C5C5C;
+ margin-top: 6px;
+ margin-left: 10px;
+}
+
+/* Diff for CS rating control */
+#wot-myrating-4-header {
+ left: 268px;
+ color: rgb(92, 92, 92);
+ font-size: 9pt;
+}
+
+/* rating */
+.wot-rating-border {
+ border-top: 1px solid #f4f4f4;
+ display: block;
+ height: 1px;
+ margin-left: 2px;
+ margin-right: 2px;
+ width: 312px;
+}
+.wot-rating {
+ position: absolute;
+ height: 60px;
+ margin-left: 16px;
+ margin-right: 0;
+ width: 240px;
+ -moz-user-select: none;
+ top: 42px;
+}
+
+/* Child Safety rating control */
+#wot-rating-4 {
+ left: 278px;
+}
+
+#rated-votes {
+ margin-top: 74px;
+ font-size: 12px;
+ padding: 0px 0px 0px 25px;
+ max-height: 2em;
+ display: none;
+}
+
+#wot-ratingwindow:not(.commenting) #rated-votes.commented,
+#wot-ratingwindow:not(.commenting) #rated-votes:not(.commented):not(.voted) {
+ padding-left: 53px;
+}
+
+#rated-votes:before {
+ content: "";
+ position: absolute;
+ background-image: url("chrome://wot/skin/b/input-icons.png");
+ background-repeat: no-repeat;
+ background-position: 0 0;
+ background-size: 40px auto;
+ width: 21px;
+ height: 20px;
+ margin-left: -30px;
+ margin-top: 0;
+}
+
+#rated-votes:not(.commented).voted:before {
+ /* don't show icon if website is not commented */
+ /*background-position: 0 -20px;*/
+ display: none;
+}
+
+#rated-votes.voted.commented:before {
+ background-position: -20px 0px;
+ margin-top: 2px;
+}
+
+#rated-votes:not(.voted).commented:before {
+ /*background-position: 0 -62px;*/
+ background-position: 0 0;
+}
+
+.commenting #rated-votes:before {
+ /* hide icon in Commenting mode */
+ display: none;
+}
+
+#voted-categories {
+ width: 425px;
+ position: absolute;
+ overflow: hidden;
+ color: #acacac;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding: 1px 0;
+ height: 20px;
+}
+
+#rated-votes.voted #voted-categories {
+ color: #6A6A6A;
+}
+
+#voted-categories-content {
+ border-bottom: 1px dotted transparent;
+ cursor: pointer;
+}
+
+#rated-votes:not(.voted) #voted-categories-content {
+ color: #d14540;
+ font-weight: bold;
+ display: inline;
+}
+
+/*#rated-votes #voted-categories-content:hover {*/
+ /*border-bottom-color: #acacac;*/
+/*}*/
+
+#rated-votes:not(.voted) #voted-categories-content:hover {
+ border-bottom-color: #d14540;
+}
+
+#voted-categories-content .votedcategory {
+ width: auto;
+ border-radius: 100px;
+ border: 1px solid #DEDEDE;
+ background-color: #DEDEDE;
+ height: 15px;
+ width: 81px;
+ float: left;
+ margin: 2px 4px 2px 0;
+}
+
+#voted-categories-content .category-text {
+ float: left;
+ font-size: 11px;
+ color: #515151;
+ padding-left: 5px;
+ line-height: 15px;
+ width: 52px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ cursor: pointer;
+}
+
+#voted-categories-content .more-categories {
+ font-size: 11px;
+ color: #808080;
+ padding: 5px 0;
+}
+
+.category-hand {
+ padding: 0 6px 4px 4px;
+ float: left;
+ border-radius: 100px 0 0 100px;
+ height: 11px;
+ width: 8px;
+}
+
+.category-hand.hand-up {
+ background-color: #FCFCFC;
+}
+
+.category-hand.hand-down {
+ background-color: #A3A3A3;
+}
+
+.hand-up .hand-icon,
+.hand-down .hand-icon {
+ background-image: url("chrome://wot/skin/b/thumbs.png");
+ background-repeat: no-repeat;
+ width: 12px;
+ height: 14px;
+}
+
+
+.hand-down .hand-icon {
+ background-position: -12px 0;
+}
+
+#change-ratings {
+ position: absolute;
+ right: 50px;
+ margin-top: 5px;
+ border-bottom: 1px dotted #3163B9;
+ color: #3163B9;
+ cursor: pointer;
+}
+
+/* don't chow this link during "commenting" mode */
+.commenting #change-ratings {
+ visibility: hidden;
+}
+
+.wot-rating-header {
+ color: #454545;
+ display: block;
+ font-size: 12px;
+ margin-bottom: 0.7em;
+ margin-top: 9px;
+}
+
+.wot-rating-data {
+ display: block;
+}
+
+.rating-values {
+ position: relative;
+ min-height: 30px;
+}
+
+.rep-tr-block {
+ width: 250px;
+ position: absolute;
+ top: 0px;
+ left: 11px;
+}
+
+.rep-cs-block {
+ width: 250px;
+ position: absolute;
+ top: 0px;
+ left: 280px;
+}
+
+.wot-rating-reputation {
+ 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;
+}
+
+#wot-ratingwindow.accessible .wot-rating-reputation {
+ background-image: url("chrome://wot/skin/b/accessible/donuts_150.png");
+}
+
+.wot-rating-reputation[reputation="rx"] {
+ background-position: 0 -165px;
+}
+
+.wot-rating-reputation[reputation="r0"] {
+ background-position: 0 -165px;
+}
+
+.wot-rating-reputation[reputation="r1"] {
+ background-position: 0 -132px;
+}
+
+.wot-rating-reputation[reputation="r2"] {
+ background-position: 0 -99px;
+}
+
+.wot-rating-reputation[reputation="r3"] {
+ background-position: 0 -66px;
+}
+
+.wot-rating-reputation[reputation="r4"] {
+ background-position: 0 -33px;
+}
+
+.wot-rating-reputation[reputation="r5"] {
+ background-position: 0 0;
+}
+
+.wot-rating-confidence {
+ 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-rating-confidence[confidence="c1"] {
+ background-position: 0 -126px;
+}
+
+.wot-rating-confidence[confidence="c2"] {
+ background-position: 0 -84px;
+}
+
+.wot-rating-confidence[confidence="c3"] {
+ background-position: 0 -42px;
+}
+
+.wot-rating-confidence[confidence="c4"] {
+ background-position: 0 0;
+}
+
+.wot-rating-confidence[confidence="c5"] {
+ background-position: 0 -210px;
+}
+
+.rating-legend-wrapper {
+ position: absolute;
+ margin: 3px 0 auto 75px;
+ background: url("chrome://wot/skin/b/bubl_speech_c_150.png") top left repeat-x;
+ background-size: 1px 23px;
+ height: 23px;
+}
+
+.rating-legend-wrapper:before {
+ position: absolute;
+ content: "";
+ height: 23px;
+ width: 17px;
+ margin-left: -17px;
+ background: url("chrome://wot/skin/b/bubl_speech_l_150.png") top left no-repeat;
+ background-size: 17px 23px;
+}
+
+.rating-legend-wrapper:after {
+ 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: 0px;
+}
+
+.rating-legend {
+ position: relative;
+ height: 16px;
+ min-width: 48px;
+ margin: -2px 0 0;
+ padding: 6px 4px 0 0;
+ color: #454545;
+ font-size: 12px;
+ text-align: center;
+ white-space: nowrap;
+}
+
+.wot-rating-testimony {
+ display: block;
+ float: left;
+ height: 16px;
+ margin-left: 6px;
+ margin-top: 2px;
+ position: relative;
+}
+
+.wot-rating-bounds {
+ position: relative;
+ font-size: 11px;
+ height: 16px;
+ margin: 4px 48px -6px 2px;
+ color: #919191;
+ opacity: 0;
+ display: none;
+ -moz-transition: opacity 5.5s;
+}
+
+/* show boundary labels only when rating bars are enabled */
+#ratings-area:not([disabled=disabled]) .wot-rating:hover .wot-rating-data[r=r0] .wot-rating-bounds,
+#ratings-area:not([disabled=disabled]) .wot-rating.hover .wot-rating-data[r=r0] .wot-rating-bounds {
+ opacity: 1;
+ display: block;
+}
+
+#ratings-area:not([disabled=disabled]) .wot-rating:hover .wot-rating-data[r=r0] .wot-rating-help,
+#ratings-area:not([disabled=disabled]) .wot-rating.hover .wot-rating-data[r=r0] .wot-rating-help {
+ display: none;
+}
+
+.wot-rating-data[r] .wot-rating-help {
+ opacity: 1;
+}
+
+.rating-bound-left,
+.rating-bound-right {
+ position: absolute;
+}
+
+.rating-bound-left {
+ left: 0;
+}
+
+.rating-bound-right {
+ right: 0;
+}
+
+.wot-rating-stack {
+ display: block;
+ height: 34px;
+ padding-left: 0;
+ width: 204px;
+ z-index: 5;
+ cursor: pointer;
+}
+
+#ratings-area[disabled=disabled] .wot-rating-stack {
+ cursor: default;
+}
+
+.wot-rating-slider {
+ background-image: url("chrome://wot/skin/b/slider.png");
+ background-repeat: no-repeat;
+ background-size: auto 216px;
+ background-position: 0 -180px;
+ display: block;
+ height: 30px;
+ margin-top: 3px;
+ width: 172px;
+ cursor: pointer;
+}
+
+#wot-ratingwindow.accessible .wot-rating-slider {
+ background-image: url("chrome://wot/skin/b/accessible/slider.png");
+}
+
+#ratings-area[disabled=disabled] .wot-rating-slider {
+ cursor: default;
+}
+
+.wot-rating-stack[r="r1"] .wot-rating-slider {
+ background-position: 0 -144px;
+}
+
+.wot-rating-stack[r="r2"] .wot-rating-slider {
+ background-position: 0 -108px;
+}
+
+.wot-rating-stack[r="r3"] .wot-rating-slider {
+ background-position: 0 -72px;
+}
+
+.wot-rating-stack[r="r4"] .wot-rating-slider {
+ background-position: 0 -36px;
+}
+
+.wot-rating-stack[r="r5"] .wot-rating-slider {
+ background-position: 0 0;
+}
+
+.wot-rating-indicator {
+ display: block;
+ height: 30px;
+ margin-left: -8px;
+ margin-top: -22px;
+ width: 21px;
+ float: left;
+ position: relative;
+ background-image: url("chrome://wot/skin/b/slider_handle.png");
+ background-repeat: no-repeat;
+ background-size: 21px auto;
+ z-index: 5;
+ left: 166px;
+}
+
+#wot-ratingwindow.accessible .wot-rating-indicator {
+ background-image: url("chrome://wot/skin/b/accessible/slider_handle.png");
+}
+
+.wot-rating-stack .wot-rating-indicator {
+ background-position: 0 -140px;
+}
+
+.wot-rating-stack.testimony[r="r1"] .wot-rating-indicator {
+ background-position: 0 -112px;
+}
+
+.wot-rating-stack.testimony[r="r2"] .wot-rating-indicator {
+ background-position: 0 -84px;
+}
+
+.wot-rating-stack.testimony[r="r3"] .wot-rating-indicator {
+ background-position: 0 -56px;
+}
+
+.wot-rating-stack.testimony[r="r4"] .wot-rating-indicator {
+ background-position: 0 -28px;
+}
+
+.wot-rating-stack.testimony[r="r5"] .wot-rating-indicator {
+ background-position: 0 0;
+}
+
+.wot-rating-help {
+ display: block;
+
+ margin-bottom: -6px;
+ margin-left: 2px;
+ margin-right: 0;
+ margin-top: 4px;
+ width: 154px;
+ -moz-transition: opacity 2.5s linear 2s;
+}
+
+.wot-rating-data:not([r]) .wot-rating-help {
+ opacity: 0;
+}
+
+.wot-rating-helptext,
+.wot-rating-helplink {
+ height: 16px;
+ margin-top: 3px;
+ font-size: 11px;
+ text-align: left;
+ color: #878787;
+}
+
+.wot-rating-helptext[r=r1] {
+ color: #dd2e31;
+ text-align: left;
+}
+
+.wot-rating-helptext[r=r2] {
+ color: #e25533;
+ text-align: left;
+}
+
+.wot-rating-helptext[r=r3] {
+ color: #de7c1b;
+ text-align: center;
+}
+
+.wot-rating-helptext[r=r4] {
+ color: #5bab28;
+ text-align: right;
+}
+
+.wot-rating-helptext[r=r5] {
+ color: #3b9013;
+ text-align: right;
+}
+
+#ratings-area[disabled=disabled] .wot-rating-helptext {
+ visibility: hidden;
+}
+
+.wot-rating-helplink {
+ display: none;
+}
+.wot-rating-helplink.comment {
+ color: #3073c5;
+ cursor: pointer;
+ display: block;
+}
+#wot-ratingwindow.accessible .wot-rating-helplink.comment {
+ color: #333;
+ text-decoration: underline;
+}
+
+.rating-delete {
+ margin-left: 160px;
+ margin-top: 20px;
+ top: 0;
+ position: absolute;
+ z-index: 1;
+}
+
+.rating-delete-icon {
+ position: relative;
+ background: url("chrome://wot/skin/b/delete-testimony.png") top left no-repeat;
+ background-size: auto 18px;
+ background-position: -34px 0;
+ width: 18px;
+ height: 18px;
+ margin: -2px 0 0 0;
+}
+
+/* Cross inside the "delete" icon */
+.delete .rating-delete-icon {
+ background-position: 0 0;
+}
+
+.rating-delete.delete .rating-delete-icon,
+.rating-delete.delete .rating-deletelabel {
+ cursor: pointer;
+}
+
+.rating-deletelabel {
+ font-size: 10px;
+ color: #808080;
+ margin: 4px auto 0;
+ text-align: center;
+ height: 1.4em;
+ white-space: nowrap;
+}
+
+.rating-delete.delete:hover .rating-deletelabel {
+ color: red;
+}
+
+.rating-delete.delete:hover .rating-delete-icon {
+ background-position: -17px 0;
+}
+
+/* Reputation Info area */
+
+#reputation-info {
+ padding: 0 9px;
+}
+
+.rep-info-sections {
+ position: relative;
+ padding-top: 9px;
+}
+
+#wot-rating-header-wot {
+ display: block;
+ font-size: 14px;
+ color: #454545;
+ text-align: left;
+ margin-top: 8px;
+ font-weight: bold;
+ margin-left: 11px;
+}
+
+#rep-block {
+ /*width: 200px;*/
+}
+
+/* scorecard */
+#wot-scorecard {
+ position: absolute;
+ right: 104px;
+ top: 130px;
+ z-index: 3;
+}
+
+#wot-scorecard-content {
+}
+
+.wot-scorecard-text {
+ color: #3073c5;
+ font-size: 12px;
+ cursor: pointer;
+}
+
+.wot-scorecard-text:hover {
+ text-decoration: underline;
+}
+
+#wot-scorecard-visit {
+ margin-bottom: 0px;
+ margin-top: 9px;
+}
+#wot-scorecard-comment-container {
+ display: block;
+ margin: 0;
+ width: 310px;
+}
+#wot-scorecard-comment {
+ display: block;
+ margin-bottom: 0px;
+ margin-top: 2px;
+ padding-left: 1px;
+}
+
+.categories-area {
+ position: absolute;
+ top: 76px;
+ left: 11px;
+ width: 520px;
+ height: 52px;
+}
+
+/* Categories view list */
+
+#tr-categories-list {
+ margin: 11px 0 0 0;
+ padding: 0;
+ min-height: 46px;
+ line-height: 9px;
+ column-count: 2;
+ -moz-column-count: 2;
+}
+
+.cat-item {
+ font-size: 9pt;
+ color: silver;
+ list-style: none;
+ padding: 0.25em 0;
+ max-width: 250px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.cat-item .ico {
+ width: 1em;
+ height: 1em;
+ border: 1px solid #C0C0C0;
+ background-color: #C0C0C0;
+ border-radius: 50%;
+ content: "";
+ float: left;
+ margin: -2px 5px 0 0;
+}
+
+.cat-item .ico.c-neutral {
+ background-color: #707070;
+ background: -moz-radial-gradient(center, ellipse cover, #9e9c9c 0%,#707070 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #7d7d7d;
+}
+
+#wot-ratingwindow.accessible .cat-item .ico.c-neutral {
+ background-color: #707070;
+ background: -moz-radial-gradient(center, ellipse cover, #9B9898 0%, #7E7E7E 100%);
+ border-color: #707070;
+}
+
+.cat-item .ico.c-questionable {
+ background-color: #ffd100;
+ background: -moz-radial-gradient(center, ellipse cover, #f8df68 0%,#f6cd0e 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #f6cd0e;
+}
+
+#wot-ratingwindow.accessible .cat-item .ico.c-questionable {
+ background-color: #F6CD0E;
+ background: -moz-radial-gradient(center, ellipse cover, #FEE68A 0%, #F5CC33 100%);
+ border-color: #F6CD0E;
+}
+
+.cat-item .ico.c-negative {
+ background-color: #f66d3f;
+ background: -moz-radial-gradient(center, ellipse cover, #fca080 0%,#f77448 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #f66d3f;
+}
+
+#wot-ratingwindow.accessible .cat-item .ico.c-negative {
+ background-color: #1F1F1F;
+ background: -moz-radial-gradient(center, ellipse cover,#939393 0%, #1F1F1F 100%);
+ border-color: #1F1F1F;
+}
+
+.cat-item .ico.c-positive {
+ background-color: #68c800;
+ background: -moz-radial-gradient(center, ellipse cover, #83d561 0%,#6dc14a 100%); /* Chrome10+,Safari5.1+ */
+ border-color: #6dc14a;
+}
+
+#wot-ratingwindow.accessible .cat-item .ico.c-positive {
+ 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;
+}
+
+.c0.cat-item .ico {
+ width: 4px !important;
+ height: 4px !important;
+ margin: 1px 8px 0 3px;
+}
+
+.c1 {
+ font-size: 12px;
+ color: #a7a7a7;
+}
+
+.c1.cat-item .ico {
+ width: 6px;
+ height: 6px;
+ margin: 0px 7px 0 2px;
+}
+
+.c2,
+.c3 {
+ font-size: 12px;
+ color: #646464;
+}
+
+.c2.cat-item .ico,
+.c3.cat-item .ico {
+ width: 7px;
+ height: 7px;
+ margin: -2px 6px 0 1px;
+}
+
+.c4,
+.c5 {
+ font-size: 12px;
+ color: #5c5c5c;
+ font-weight: bold;
+}
+
+.c4.cat-item .ico,
+.c5.cat-item .ico {
+ width: 8px;
+ height: 8px;
+ margin: -2px 5px 0 0;
+}
+
+.cat-cs-separator {
+ padding: 2px;
+ font-size: 0px;
+ list-style: none;
+ margin-top: 6px;
+}
+
+/*.cat-cs {*/
+ /*-webkit-transform: scale(0.9);*/
+ /*margin-left: -1.4em;*/
+/*}*/
+
+/* fix for scaled CS categories */
+/*.cat-cs.c1 {*/
+ /*margin-left: -1.65em;*/
+/*}*/
+
+/* Bottom area */
+
+/* user */
+.wot-user {
+ display: none;
+ width: 316px;
+}
+
+/* hidden by default, shown in some modes only */
+#user-communication {
+ display: none;
+}
+
+.user-comm-activity {
+ margin: 77px 25px 0;
+ position: relative;
+ display: none;
+}
+
+
+.unrated .user-comm-activity {
+ display: block;
+}
+
+.wot-user-header {
+ /* "your activity score" */
+ color: #8f8f8f;
+ display: inline;
+ font-size: 11px;
+ height: 14px;
+ line-height: 11px;
+ margin-right: 0px;
+}
+
+#user-activityscore {
+ color: #838383;
+ display: inline;
+ font-size: 11px;
+ margin-left: 1px;
+ font-weight: bold;
+}
+
+#user-activityscore:after {
+ font-weight: normal;
+ content: ".";
+}
+
+.wot-user-notice {
+ color: #8F8F8F;
+ font-size: 8pt;
+ display: inline;
+}
+
+.user-level {
+ font-weight: bold;
+}
+
+.wot-user-text {
+ /* Link to the user's profile */
+ color: #8f8f8f;
+ display: none;
+ font-size: 11px;
+ height: 23px;
+ line-height: 11px;
+}
+
+.wot-user-text[url^="http"]:hover {
+ color: #3073c5;
+ cursor: pointer;
+}
+
+/* message */
+#wot-message {
+ display: none;
+ height: auto;
+ /*margin-bottom: 0.2em;*/
+ margin-top: 0.2em;
+ background-color: white;
+}
+
+#wot-message:before {
+ position: absolute;
+ height: 0px;
+ border-top: 1px solid #D9D9D9;
+ content: "";
+ width: 100%;
+ margin-top: 0px;
+ margin-left: -24px; /* Different in FF */
+}
+
+#wot-message-text {
+ color: #989898;
+ display: block;
+ font-size: 11px;
+ height: auto;
+ line-height: 13px;
+ overflow: hidden;
+ padding: 8px 20px 2px;
+ text-align: center;
+ white-space: normal;
+}
+#wot-message-text[url^="http"]:hover,
+#wot-message[status="important"] #wot-message-text[url^="http"]:hover,
+#wot-message[status="critical"] #wot-message-text[url^="http"]:hover {
+ color: #3073c5;
+ cursor: pointer;
+}
+
+#wot-message[status="important"] {
+ border-color: #ea8b2b;
+}
+#wot-message[status="critical"] {
+ border-color: #d81f27;
+}
+#wot-message[status="important"] #wot-message-text {
+ color: #ea8b2b;
+}
+#wot-message[status="critical"] #wot-message-text {
+ color: #d81f27;
+}
+/* partner */
+#wot-partner {
+ display: none;
+ height: 32px;
+ margin-bottom: 3px;
+ margin-left: 6px;
+ margin-right: 12px;
+ margin-top: 4px;
+ padding: 0;
+ text-align: left;
+ width: 298px;
+}
+/*#wot-partner[partner="name"] {
+ display: block;
+ background: url("partner/name.png") center right no-repeat;
+}*/
+#wot-partner-text {
+ color: #333;
+ display: block;
+ font-size: 11px;
+ height: 32px;
+ margin: 0;
+ padding-top: 7px;
+ width: 148px;
+}
+
+/* Hidden by default */
+#rate-buttons,
+#ok-button {
+ position: absolute;
+ bottom: 0.2em; /* different in FF */
+ width: 529px;
+ height: 30px;
+ display: none;
+}
+
+.buttons-wrapper {
+ position: relative;
+}
+
+.right-side {
+ position: absolute;
+ right: 0;
+}
+
+.left-side {
+ position: absolute;
+ left: 8px;
+ margin-top: 0.2em;
+}
+
+.rw-button {
+ 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.3em 1.5em;
+ margin: 0.2em 0.5em;
+ border-radius: 2px;
+ font-size: 12px;
+ font-weight: bold;
+ color: #585858;
+ 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;
+}
+
+.rw-button:not(.disabled):active {
+ box-shadow: 1px 1px 1px #d2d2d2 inset;
+ text-shadow: 0px 0px #DDD;
+}
+
+.rw-button:not(.disabled):hover {
+ background-image: -moz-linear-gradient(top, #FFF 0%,#dadada 83%, #f3f1f1 100%);
+ /*color: #6aac43;*/
+}
+
+.rw-button.disabled {
+ color: #A5A5A5;
+ text-shadow: none;
+ cursor: default;
+}
+
+#btn-delete {
+ margin-left: 0;
+ cursor: pointer;
+}
+
+.btn-delete_icon {
+ height: 18px;
+ width: 18px;
+ background: url("chrome://wot/skin/b/delete-myrating.png") top left no-repeat;
+ background-size: auto 18px;
+ float: left;
+ margin-right: 4px;
+}
+
+#btn-delete:hover .btn-delete_icon {
+ background-position: -19px 0;
+}
+
+.btn-delete_label {
+ font-size: 12px;
+ white-space: nowrap;
+ padding: 3px;
+ font-weight: bold;
+ color: #c33035;
+ display: none;
+}
+
+#btn-delete:hover .btn-delete_label {
+ display: block;
+}
+
+.btn-submit {
+ padding-left: 2em;
+ padding-right: 2em;
+ text-transform: capitalize;
+}
+
+.rw-buttons-expander {
+ display: inline;
+ float: left;
+ width: 38%;
+}
+
+
+/* Categorues selector style */
+
+#categories-selection-area {
+ display: none;
+ padding: 0 20px;
+ position: relative;
+ min-height: 200px;
+}
+
+.category-description {
+ display: none;
+ background-color: #e6f0f9;
+ height: 22px;
+ width: 500px;
+ margin-top: -1px;
+ font-size: 11px;
+ padding: 2px 5px 6px; /* Different in FF */
+ border-radius: 3px;
+ color: #5b5d5e;
+ line-height: 1.2em;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ border: 1px solid #D4E5FC;
+}
+
+.group-title {
+ font-size: 12px;
+ cursor: pointer;
+}
+
+.category-title,
+.comment-title {
+ font-size: 14px;
+ font-weight: bold;
+ margin-top: 5px;
+ height: 26px;
+ color: #454545;
+ /*margin-left: 10px;*/
+}
+
+.category-selector {
+ height: 210px; /* to occupy space and give other elements proper positioning */
+ position: absolute;
+ margin-top: -7px;
+}
+
+.category-selector .dropdown-menu {
+ min-height: 120px;
+ display: block;
+ float: left;
+ padding: 0;
+ list-style: none;
+ margin-top: 9px;
+}
+
+.category-selector li {
+ display: block;
+ margin: 1px 0;
+ padding: 11px 0 11px 16px;
+ width: 145px;
+ z-index: 1000;
+ list-style: none;
+ cursor: pointer;
+ border: 1px solid #ccc;
+ background: #ffffff; /* Old browsers */
+ background: -moz-linear-gradient(top, #ffffff 0%, #ebebeb 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #ebebeb)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #ffffff 0%, #ebebeb 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #ffffff 0%, #ebebeb 100%); /* Opera 11.10+ */
+ background: linear-gradient(to bottom, #ffffff 0%, #ebebeb 100%); /* W3C */
+}
+
+.category-selector li .group-title {
+ display: block;
+ clear: both;
+ line-height: 10px;
+ color: #333333;
+ white-space: nowrap;
+ text-decoration: none;
+}
+
+.category-selector .popover {
+ position: absolute;
+ z-index: 990;
+ display: none;
+ min-height: 165px;
+ max-height: 190px;
+ width: 348px;
+ padding: 2px 0;
+ text-align: left;
+ white-space: normal;
+ background-color: #ffffff;
+ border: 1px solid #ccc;
+}
+
+.category-selector .category {
+ line-height: 13px;
+ font-weight: normal;
+ font-size: 12px;
+ padding: 3px 8px;
+ position: relative;
+ margin: 1px 4px;
+}
+
+.category-selector .shortlist .category {
+ line-height: 15px;
+}
+
+.category-selector .category:hover {
+ background: #ebebeb;
+ cursor: pointer;
+}
+
+.category-selector .category.invisible:not([voted]) {
+ /* voted and identified categories should be always visible in both short/full list modes */
+ display: none;
+}
+
+.category-selector .cat-name {
+}
+
+/* If category is identified by WOT */
+.category-selector .identified .cat-name {
+ font-weight: bold;
+ color: #747474;
+}
+
+.category-selector .cat-vote {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.category-selector .cat-vote-left,
+.category-selector .cat-vote-right {
+ display: inline;
+ float: left;
+ margin: 2px 0px 0 0;
+ padding: 1px 5px 0;
+ border: 1px solid transparent;
+ text-transform: uppercase;
+ font-size: 10px;
+}
+
+.category-selector .cat-vote-left:after {
+ padding-left: 3px;
+ position: absolute;
+ color: silver;
+ content: "|";
+}
+
+/* when yes/no is hovered, hide the vertical pipe-separator */
+.category-selector .cat-vote:hover .cat-vote-left:after,
+.category-selector .category[voted] .cat-vote-left:after {
+ content: "";
+}
+
+.category-selector .cat-vote-left:hover,
+.category-selector .cat-vote-right:hover {
+ /*width: 23px;*/
+ /*height: 18px;*/
+ border: 1px solid #ccc;
+ background-color: white;
+ color: #319de7;
+ border-radius: 4px;
+}
+
+.category-selector .category[voted="1"] .cat-vote-left,
+.category-selector .category[voted="-1"] .cat-vote-right {
+ border: 1px solid #c7ddef;
+ background: #eaf2fa;
+ border-radius: 4px;
+}
+
+.category-selector .cat-vote-del {
+ display: inline;
+ float: left;
+ visibility: hidden;
+ height: 20px;
+}
+
+.category-selector .category[voted] .cat-vote-del {
+ visibility: visible;
+}
+
+.category-selector .delete-icon {
+ position: relative;
+ width: 12px;
+ height: 12px;
+ background-color: #f0efef;
+ margin: 3px 3px 0 3px;
+ cursor: pointer;
+ border: 1px solid #dadada;
+ border-radius: 50%;
+}
+
+/* Cross inside the "delete" icon */
+.category-selector .delete-icon:after,
+.category-selector .delete-icon:before {
+ content: "";
+ position: absolute;
+ top: 50%;
+ z-index: 10;
+ left: 5px;
+ width: 2px;
+ height: 10px;
+ margin-top: -5px;
+ background: #a5a5a5;
+}
+
+.category-selector .delete-icon:before {
+ transform: rotate(45deg);
+}
+
+.category-selector .delete-icon:after {
+ transform: rotate(135deg);
+}
+
+
+.category-selector .category-breakline {
+ height: 1px;
+ width: 100%;
+ background: #E1E0E0;
+ margin: 1px auto;
+}
+
+.category-selector li:first-of-type {
+ -webkit-border-radius: 6px 0 0 0;
+ border-radius: 6px 0 0 0;
+ background-clip: padding-box;
+}
+
+.category-selector li:last-of-type {
+ -webkit-border-radius: 0 0 0 6px;
+ border-radius: 0 0 0 6px;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+}
+
+.category-selector .maintainHover {
+ color: #525252;
+ font-weight: bold;
+ background: #ffffff;
+}
+
+input[type=checkbox].css-checkbox {
+ display:none;
+}
+
+input[type=checkbox].css-checkbox + label.css-label {
+ padding-left:20px;
+ height:15px;
+ display:inline-block;
+ line-height:15px;
+ background-repeat:no-repeat;
+ background-position: 0 0;
+ font-size:13px;
+ vertical-align:middle;
+ cursor:pointer;
+}
+
+input[type=checkbox].css-checkbox:checked + label.css-label {
+ background-position: 0 -15px;
+}
+
+.css-label { background-image:url("chrome://wot/skin/b/checkbox.png"); }
+
+.cat-full-list {
+ margin: 1em 0.5em;
+}
+
+.cat-full-list label {
+ color: #585858;
+}
+
+#chk-full-list {
+
+}
+
+/* The commenting feature */
+
+#commenting-area {
+ display: none; /* is shown from JS when needed */
+ margin: auto 19px;
+}
+
+.comment-title {
+ /* see the initial values at the beginning of this file */
+ padding: 3px 0 4px;
+}
+
+.user-comment-wrapper {
+ float: right;
+}
+
+#user-comment {
+ height: 125px; /* different in Firefox */
+ width: 350px;
+ /*margin-right: 10px;*/
+ padding: 8px;
+ border: 1px solid #C0C0C0;
+ border-radius: 3px;
+ font-size: 13px;
+ font-family: Arial;
+ overflow-x: hidden;
+ overflow-y: auto;
+ outline-color: #DDF6FF;
+}
+
+#user-comment.warning {
+ width: 286px;
+}
+
+#user-comment[disabled] {
+ background-color: #F7F7F7;
+ color: #999;
+}
+
+#comment-side-hint {
+ padding: 10px 0 0 0;
+ float: left;
+ width: 130px;
+}
+
+#comment-side-hint p {
+ /* hints pieces */
+ margin: 0 0 8px;
+ font-size: 11px;
+ color: #666;
+}
+
+#comment-register,
+#comment-captcha {
+ display: none;
+ padding: 10px;
+ float: left;
+ width: 180px;
+ font-size: 12px;
+}
+
+#comment-register-text,
+#comment-captcha-text {
+ color: #e75159;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 1.5em;
+}
+
+#comment-register-link,
+#comment-captcha-link {
+ color: #3073c5;
+ font-size: 12px;
+ cursor: pointer;
+}
+
+#comment-register-link:hover,
+#comment-captcha-link:hover {
+ text-decoration: underline;
+}
+
+#comment-bottom-hint {
+ font-size: 14px;
+ text-align: right;
+ position: absolute;
+ bottom: 55px;
+ right: 50px;
+ background-color: #FC4B56;
+ padding: 3px 10px;
+ font-weight: normal;
+ border-radius: 8px;
+ color: #FFF;
+ display: none;
+}
+
+#comment-bottom-hint.error {
+ display: block;
+}
+
+#thanks-area {
+ display: none;
+}
+
+.thanks-text {
+ text-align: center;
+ font-size: 18px;
+ margin-top: 2em;
+}
+
+.thanks-activityscore {
+ text-align: center;
+ font-size: 13px;
+ margin-top: 1em;
+ color: #808080;
+}
+
+.thanks-activityscore-number {
+ font-weight: bold;
+ color: #808080;
+}
+
+.thanks-ratemore {
+ text-align: center;
+ font-size: 13px;
+ margin-top: 0.5em;
+ color: #808080;
+}
diff --git a/chrome/wot.jar!/skin/toolbar.css b/chrome/wot.jar!/skin/toolbar.css
index 8f50cad..00843a1 100644
--- a/chrome/wot.jar!/skin/toolbar.css
+++ b/chrome/wot.jar!/skin/toolbar.css
@@ -1,3 +1,3 @@
#wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/new_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/new_r5.png");
}
diff --git a/chrome/wot.jar!/skin/welcometips.css b/chrome/wot.jar!/skin/welcometips.css
new file mode 100644
index 0000000..8686087
--- /dev/null
+++ b/chrome/wot.jar!/skin/welcometips.css
@@ -0,0 +1,214 @@
+/*
+ welcometips.css
+ 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/>.
+*/
+
+/* ! important in an attempt to override conflicting styles on websites where this is included */
+
+body {
+ padding: 0;
+ margin: 0;
+ overflow: hidden;
+}
+
+.wot-wt-introtip,
+.wot-wt-dtip {
+ border: 1px solid #cccccc;
+ border-radius: 2px;
+ box-shadow: 0px 0px 7px #888888;
+ padding: 1em 1em 0.8em 1em;
+ font-family: arial;
+ background-color: white;
+}
+
+.wot-wt-introtip {
+ margin-top: 11px;
+ border-top: none;
+ border-top-left-radius: 0px;
+ border-top-right-radius: 0px;
+}
+
+.wot-wt-introtip:before {
+ background-image: url("chrome://wot/skin/b/welcometips/wt_intro_top.png");
+ background-repeat: no-repeat;
+ height: 11px;
+ width: 218px;
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 8px;
+ content: " ";
+}
+
+#introtip {
+ margin: 0 auto;
+ width: 218px;
+}
+
+#donut_tip {
+ margin: 0.5em 0.5em 0.5em 14px; /* to allow shadow around the box */
+}
+
+.wot-wt-intro-body,
+.wot-wt-d-body {
+ font-size: 10pt;
+ color: #656565;
+}
+
+.wot-wt-footer {
+ /* used in Intro Tip and R-Tip */
+ text-align: center;
+}
+
+.wot-wt-button {
+ -moz-transition: box-shadow 0.1s !important;
+ width: 12em;
+ height: 24px !important;
+ margin: 1.3em auto 0.5em auto !important;
+ padding: 0.7em 0.5em 0.2em 0.5em !important;
+
+ border: #71A939 solid 1px !important;;
+ border-radius: 3px !important;
+ 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;
+
+ color: #375914 !important;
+ font-size: 10pt;
+ font-weight: bold;
+ text-align: center;
+ cursor: pointer;
+}
+
+.wot-wt-button:hover {
+ background-image: -moz-linear-gradient(top, #e5fad1 0%, #b2e186 39%, #83bc4a 83%, #83BC4A) !important;
+}
+
+.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;
+}
+
+.wot-wt-intro-body #wt-learnmore-link,
+.wot-wt-d-body #wt-learnmore-link,
+#wot-welcometip #wt-learnmore-link {
+ color: #1F7BD6;
+ text-decoration: underline;
+ cursor: pointer;
+}
+
+/* Used in Intro and Donut's Tips */
+.wot-wt-intro-body .wot-cb,
+.wot-wt-d-body .wot-cb {
+ text-align: center;
+ font-weight: bold;
+}
+
+#wot-wt-intro-image1 {
+ background-image: url("chrome://wot/skin/fusion/16_16/plain/r5.png");
+ background-repeat: no-repeat;
+ padding: 0 0 0 16px;
+}
+
+/* WelcomeTip v2 */
+
+#wot-welcometip {
+ font-size: 9pt;
+ position: absolute;
+ display: none;
+ z-index: 5;
+ right: 0px;
+ margin-top: 0px;
+ min-height: 160px;
+ max-height: 200px;
+}
+
+#wot-welcometip:before {
+ position: absolute;
+ top: -8px;
+ left: 20px;
+ width: 45px;
+ height: 44px;
+ content: "";
+ background-image: url("chrome://wot/skin/b/welcometips/orange_badge.png");
+ background-repeat: no-repeat;
+}
+
+/* RW WelcomeTip: Sticker mode */
+.rtip-sticker {
+ width: 300px;
+ margin: 5px 0px 0px 10px;
+ background-image: -moz-linear-gradient(left top, #eef9e4 0%, #dff0d0 28%, #eef9e4 59%, #f6fbf2 89%, #eef9e4 100%);
+ box-shadow: 3px 3px 3px #aaa;
+ margin-bottom: 10px;
+}
+
+.rtip-sticker .wt-rw-header {
+ padding: 0.7em 0 0.4em;
+ background-color: rgba(129,148,114, 0.05);
+ text-align: center;
+ font-weight: bold;
+}
+
+.rtip-sticker .wt-rw-body {
+ padding: 0 1em;
+}
+
+/* RW WelcomeTip: common styles */
+.wt-rw-close {
+ width: 18px;
+ height: 18px;
+ position: absolute;
+ right: 10px;
+ top: 8px;
+ background-image: url("chrome://wot/skin/b/welcometips/close_icon.png");
+ background-position: 0 0;
+ cursor: pointer;
+}
+
+.wt-rw-close:hover {
+ /* reserved once we'll have icon for hovered state */
+ background-position: 0 0;
+}
+
+.wt-rw-body .wot-c {
+ text-align: center;
+}
+
+.wot-wt-d-button {}
+
+.wot-wt-dtip:before {
+ content: "";
+ background-image: url("chrome://wot/skin/b/welcometips/wt_left_corner_2.png");
+ width: 17px;
+ height: 26px;
+ position: relative !important;
+ top: 22px;
+ left: -218px;
+ float: right;
+}
+
+.wot-wt-logo {
+ background-image: url("chrome://wot/skin/fusion/logo.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ height: 18px !important;
+ cursor: pointer;
+}
diff --git a/chrome/wot.jar!/skin/wot.css b/chrome/wot.jar!/skin/wot.css
index 180b06c..cf7224e 100644
--- a/chrome/wot.jar!/skin/wot.css
+++ b/chrome/wot.jar!/skin/wot.css
@@ -3,24 +3,24 @@
list-style-image: url("chrome://wot/skin/fusion/16_16/no_rep_calculated.png");
}
#main-window[wot-status="2"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/new_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/new_r2.png");
}
#main-window[wot-status="2-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/r2.png");
}
#main-window[wot-status="2-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="2-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r2.png");
}
#main-window[wot-status="1"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/new_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/new_r1.png");
}
#main-window[wot-status="1-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/r1.png");
}
#main-window[wot-status="1-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="1-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r1.png");
}
#main-window[wot-status="disabled"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="disabled-update"] toolbar[iconsize="small"] #wot-button {
@@ -31,24 +31,24 @@
list-style-image: url("chrome://wot/skin/fusion/16_16/problem_with_the_service.png");
}
#main-window[wot-status="3"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/new_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/new_r3.png");
}
#main-window[wot-status="3-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/r3.png");
}
#main-window[wot-status="3-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="3-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r3.png");
}
#main-window[wot-status="5"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/new_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/new_r5.png");
}
#main-window[wot-status="5-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/r5.png");
}
#main-window[wot-status="5-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="5-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r5.png");
}
#main-window[wot-status="inprogress"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="inprogress-update"] toolbar[iconsize="small"] #wot-button {
@@ -58,7 +58,7 @@
list-style-image: url("chrome://wot/skin/fusion/16_16/no_rep_calculated.png");
}
#main-window[wot-status="nohost-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r0.png");
}
#main-window[wot-status="notready"] toolbar[iconsize="small"] #wot-button {
list-style-image: url("chrome://wot/skin/fusion/16_16/getting_info.png");
@@ -71,28 +71,28 @@
list-style-image: url("chrome://wot/skin/fusion/16_16/offline.png");
}
#main-window[wot-status="4"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/new_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/new_r4.png");
}
#main-window[wot-status="4-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/r4.png");
}
#main-window[wot-status="4-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="4-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r4.png");
}
#main-window[wot-status="0"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="0-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/r0.png");
}
#main-window[wot-status="0-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="0-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/message_r0.png");
}
#main-window[wot-status="excluded"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="excluded-testimony"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="excluded-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-status="excluded-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/excluded.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/rx.png");
}
/* toolbar button / small / accessible */
@@ -100,24 +100,24 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/no_rep_calculated.png");
}
#main-window[wot-mode="accessible"][wot-status="2"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_r2.png");
}
#main-window[wot-mode="accessible"][wot-status="2-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/r2.png");
}
#main-window[wot-mode="accessible"][wot-status="2-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="2-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r2.png");
}
#main-window[wot-mode="accessible"][wot-status="1"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_r1.png");
}
#main-window[wot-mode="accessible"][wot-status="1-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/r1.png");
}
#main-window[wot-mode="accessible"][wot-status="1-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="1-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r1.png");
}
#main-window[wot-mode="accessible"][wot-status="disabled"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="disabled-update"] toolbar[iconsize="small"] #wot-button {
@@ -128,24 +128,24 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/problem_with_the_service.png");
}
#main-window[wot-mode="accessible"][wot-status="3"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_r3.png");
}
#main-window[wot-mode="accessible"][wot-status="3-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/r3.png");
}
#main-window[wot-mode="accessible"][wot-status="3-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="3-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r3.png");
}
#main-window[wot-mode="accessible"][wot-status="5"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_r5.png");
}
#main-window[wot-mode="accessible"][wot-status="5-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/r5.png");
}
#main-window[wot-mode="accessible"][wot-status="5-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="5-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r5.png");
}
#main-window[wot-mode="accessible"][wot-status="inprogress"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="inprogress-update"] toolbar[iconsize="small"] #wot-button {
@@ -155,7 +155,7 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/no_rep_calculated.png");
}
#main-window[wot-mode="accessible"][wot-status="nohost-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r0.png");
}
#main-window[wot-mode="accessible"][wot-status="notready"] toolbar[iconsize="small"] #wot-button {
list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/getting_info.png");
@@ -168,28 +168,28 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/offline.png");
}
#main-window[wot-mode="accessible"][wot-status="4"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/new_r4.png");
}
#main-window[wot-mode="accessible"][wot-status="4-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/r4.png");
}
#main-window[wot-mode="accessible"][wot-status="4-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="4-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r4.png");
}
#main-window[wot-mode="accessible"][wot-status="0"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="0-testimony"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/r0.png");
}
#main-window[wot-mode="accessible"][wot-status="0-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="0-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/16_16/message_r0.png");
}
#main-window[wot-mode="accessible"][wot-status="excluded"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="excluded-testimony"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="excluded-testimony-update"] toolbar[iconsize="small"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="excluded-update"] toolbar[iconsize="small"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/16_16/excluded.png");
+ list-style-image: url("chrome://wot/skin/fusion/16_16/rx.png");
}
/* toolbar button */
@@ -197,24 +197,24 @@
list-style-image: url("chrome://wot/skin/fusion/24_24/no_rep_calculated.png");
}
#main-window[wot-status="2"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/new_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/new_r2.png");
}
#main-window[wot-status="2-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/r2.png");
}
#main-window[wot-status="2-testimony-update"] #wot-button,
#main-window[wot-status="2-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r2.png");
}
#main-window[wot-status="1"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/new_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/new_r1.png");
}
#main-window[wot-status="1-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/r1.png");
}
#main-window[wot-status="1-testimony-update"] #wot-button,
#main-window[wot-status="1-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r1.png");
}
#main-window[wot-status="disabled"] #wot-button,
#main-window[wot-status="disabled-update"] #wot-button {
@@ -225,24 +225,24 @@
list-style-image: url("chrome://wot/skin/fusion/24_24/problem_with_the_service.png");
}
#main-window[wot-status="3"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/new_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/new_r3.png");
}
#main-window[wot-status="3-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/r3.png");
}
#main-window[wot-status="3-testimony-update"] #wot-button,
#main-window[wot-status="3-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r3.png");
}
#main-window[wot-status="5"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/new_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/new_r5.png");
}
#main-window[wot-status="5-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/r5.png");
}
#main-window[wot-status="5-testimony-update"] #wot-button,
#main-window[wot-status="5-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r5.png");
}
#main-window[wot-status="inprogress"] #wot-button,
#main-window[wot-status="inprogress-update"] #wot-button {
@@ -252,7 +252,7 @@
list-style-image: url("chrome://wot/skin/fusion/24_24/no_rep_calculated.png");
}
#main-window[wot-status="nohost-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r0.png");
}
#main-window[wot-status="notready"] #wot-button {
list-style-image: url("chrome://wot/skin/fusion/24_24/getting_info.png");
@@ -265,28 +265,28 @@
list-style-image: url("chrome://wot/skin/fusion/24_24/offline.png");
}
#main-window[wot-status="4"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/new_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/new_r4.png");
}
#main-window[wot-status="4-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/r4.png");
}
#main-window[wot-status="4-testimony-update"] #wot-button,
#main-window[wot-status="4-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r4.png");
}
#main-window[wot-status="0"] #wot-button,
#main-window[wot-status="0-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/r0.png");
}
#main-window[wot-status="0-testimony-update"] #wot-button,
#main-window[wot-status="0-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/message_r0.png");
}
#main-window[wot-status="excluded"] #wot-button,
#main-window[wot-status="excluded-testimony"] #wot-button,
#main-window[wot-status="excluded-testimony-update"] #wot-button,
#main-window[wot-status="excluded-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/excluded.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/rx.png");
}
/* toolbar button / accessible */
@@ -294,24 +294,24 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/no_rep_calculated.png");
}
#main-window[wot-mode="accessible"][wot-status="2"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_r2.png");
}
#main-window[wot-mode="accessible"][wot-status="2-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/r2.png");
}
#main-window[wot-mode="accessible"][wot-status="2-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="2-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_not_safe.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r2.png");
}
#main-window[wot-mode="accessible"][wot-status="1"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_r1.png");
}
#main-window[wot-mode="accessible"][wot-status="1-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/r1.png");
}
#main-window[wot-mode="accessible"][wot-status="1-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="1-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_danger.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r1.png");
}
#main-window[wot-mode="accessible"][wot-status="disabled"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="disabled-update"] #wot-button {
@@ -322,24 +322,24 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/problem_with_the_service.png");
}
#main-window[wot-mode="accessible"][wot-status="3"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_r3.png");
}
#main-window[wot-mode="accessible"][wot-status="3-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/r3.png");
}
#main-window[wot-mode="accessible"][wot-status="3-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="3-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_caution.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r3.png");
}
#main-window[wot-mode="accessible"][wot-status="5"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_r5.png");
}
#main-window[wot-mode="accessible"][wot-status="5-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/r5.png");
}
#main-window[wot-mode="accessible"][wot-status="5-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="5-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_trusted.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r5.png");
}
#main-window[wot-mode="accessible"][wot-status="inprogress"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="inprogress-update"] #wot-button {
@@ -349,7 +349,7 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/no_rep_calculated.png");
}
#main-window[wot-mode="accessible"][wot-status="nohost-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r0.png");
}
#main-window[wot-mode="accessible"][wot-status="notready"] #wot-button {
list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/getting_info.png");
@@ -362,28 +362,28 @@
list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/offline.png");
}
#main-window[wot-mode="accessible"][wot-status="4"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/new_r4.png");
}
#main-window[wot-mode="accessible"][wot-status="4-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/r4.png");
}
#main-window[wot-mode="accessible"][wot-status="4-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="4-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_alright.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r4.png");
}
#main-window[wot-mode="accessible"][wot-status="0"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="0-testimony"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/r0.png");
}
#main-window[wot-mode="accessible"][wot-status="0-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="0-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_no_rep_available.png");
+ list-style-image: url("chrome://wot/skin/fusion/accessible/24_24/message_r0.png");
}
#main-window[wot-mode="accessible"][wot-status="excluded"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="excluded-testimony"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="excluded-testimony-update"] #wot-button,
#main-window[wot-mode="accessible"][wot-status="excluded-update"] #wot-button {
- list-style-image: url("chrome://wot/skin/fusion/24_24/excluded.png");
+ list-style-image: url("chrome://wot/skin/fusion/24_24/rx.png");
}
/* toolbar menu */
@@ -395,566 +395,19 @@
/* rating window */
#wot-popup {
+ background: #ffffff !important;
+ opacity: 1;
padding: 0;
margin: 0;
font-family: Tahoma, Arial, sans-serif;
+ width: 580px;
+ height: 422px;
+ overflow: hidden;
+ overflow-y: hidden;
+ border: 0;
}
-#wot-elements {
- background: #ffffff;
- width: 326px;
-}
-/* header */
-#wot-header {
- border-bottom: 1px solid #cacaca;
- height: 25px;
- margin-left: 7px;
- margin-right: 7px;
- margin-top: 7px;
- width: 312px;
-}
-#wot-header-logo {
- background: url("chrome://wot/skin/fusion/logo.png") top left no-repeat;
- cursor: pointer;
- height: 17px;
- margin-bottom: 6px;
- margin-left: 1px;
- margin-top: 1px;
- width: 110px;
-}
-#main-window[wot-mode="accessible"] #wot-header-logo {
- background: url("chrome://wot/skin/fusion/accessible/logo.png") top left no-repeat;
-}
-#wot-header-links {
- padding-right: 10px;
- margin-top: 1px;
- width: 185px;
- -moz-box-pack: end;
-}
-.wot-header-link,
-#wot-header-link-separator {
- color: #8f8f8f;
- font-size: 11px;
- line-height: 11px;
-}
-.wot-header-link {
- margin-left: 0px;
- margin-right: 0px;
-}
-#wot-header-link-separator {
- border-right: 1px solid #8f8f8f;
- margin-left: 3px;
- margin-right: 4px;
- margin-top: 4px;
- margin-bottom: 9px;
-}
-.wot-header-link:hover {
- color: #3073c5;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] .wot-header-link:hover {
- color: #333;
- text-decoration: underline;
-}
-#wot-header-button {
- background: url("chrome://wot/skin/fusion/close.png") top left no-repeat;
- margin-top: 1px;
- height: 16px;
- width: 16px;
-}
-#wot-header-button:hover {
- background: url("chrome://wot/skin/fusion/close-hover.png") top left no-repeat;
- cursor: pointer;
-}
-#wot-header-button:active {
- background: url("chrome://wot/skin/fusion/close-active.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] #wot-header-button {
- background: url("chrome://wot/skin/fusion/accessible/close.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] #wot-header-button:hover {
- background: url("chrome://wot/skin/fusion/accessible/close-hover.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] #wot-header-button:active {
- background: url("chrome://wot/skin/fusion/accessible/close-active.png") top left no-repeat;
-}
-/* title */
-#wot-title {
- border-bottom: 1px solid #cacaca;
- height: 26px;
- padding-top: 4px;
- margin-left: 7px;
- margin-right: 7px;
-}
-#wot-title-text {
- color: #777676;
- font-size: 11px;
- font-weight: bold;
- margin-left: 0px;
- margin-right: 0px;
- padding-left: 4px;
- width: 312px;
- max-width: 312px;
-}
-#main-window[wot-status="disabled"] #wot-title-text:hover {
- color: #3073c5;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"][wot-status="disabled"] #wot-title-text:hover {
- color: #333;
- text-decoration: underline;
-}
-#wot-title-text[status="information"] {
- color: #4e4e4e;
-}
-/* rating header */
-#wot-rating-header {
- color: #878787;
- font-size: 11px;
- height: 19px;
- padding-left: 0px;
- padding-top: 2px;
- margin-left: 7px;
- margin-right: 7px;
- width: 312px;
-}
-#wot-rating-header-wot {
- width: 112px;
- margin-left: 5px;
- margin-right: 0px;
-}
-#wot-rating-header-my {
- width: 176px;
- margin-left: 3px;
- margin-right: 0px;
-}
-/* rating */
-.wot-rating-border {
- border-top: 1px solid #f4f4f4;
- height: 1px;
- margin-left: 7px;
- margin-right: 7px;
- width: 312px;
-}
-.wot-rating {
- height: 59px;
- margin-left: 7px;
- margin-right: 0px;
- width: 319px;
- max-width: 319px;
-}
-.wot-rating-header {
- color: #878787;
- font-size: 12px;
- line-height: 12px;
- padding-left: 4px;
- padding-right: 0px;
- margin-left: 0px;
- margin-right: 0px;
- margin-bottom: 0px;
- margin-top: 7px;
- width: 312px;
-}
-.wot-rating-data {
-}
-.wot-rating-reputation {
- background: url("chrome://wot/skin/fusion/28_28/no_rep_calculated.png") top left no-repeat;
- height: 28px;
- margin-left: 4px;
- margin-top: 2px;
- width: 28px;
-}
-.wot-rating-reputation[reputation="1"] {
- background: url("chrome://wot/skin/fusion/28_28/danger.png") top left no-repeat;
-}
-.wot-rating-reputation[reputation="2"] {
- background: url("chrome://wot/skin/fusion/28_28/not_safe.png") top left no-repeat;
-}
-.wot-rating-reputation[reputation="3"] {
- background: url("chrome://wot/skin/fusion/28_28/caution.png") top left no-repeat;
-}
-.wot-rating-reputation[reputation="4"] {
- background: url("chrome://wot/skin/fusion/28_28/alright.png") top left no-repeat;
-}
-.wot-rating-reputation[reputation="5"] {
- background: url("chrome://wot/skin/fusion/28_28/trusted.png") top left no-repeat;
-}
-.wot-rating-reputation[reputation="0"] {
- background: url("chrome://wot/skin/fusion/28_28/no_rep_available.png") top left no-repeat;
-}
-.wot-rating-reputation[reputation="excluded"] {
- background: url("chrome://wot/skin/fusion/28_28/excluded.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation {
- background: url("chrome://wot/skin/fusion/accessible/28_28/no_rep_calculated.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="1"] {
- background: url("chrome://wot/skin/fusion/accessible/28_28/danger.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="2"] {
- background: url("chrome://wot/skin/fusion/accessible/28_28/not_safe.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="3"] {
- background: url("chrome://wot/skin/fusion/accessible/28_28/caution.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="4"] {
- background: url("chrome://wot/skin/fusion/accessible/28_28/alright.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="5"] {
- background: url("chrome://wot/skin/fusion/accessible/28_28/trusted.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="0"] {
- background: url("chrome://wot/skin/fusion/accessible/28_28/no_rep_available.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-reputation[reputation="excluded"] {
- background: url("chrome://wot/skin/fusion/28_28/excluded.png") top left no-repeat;
-}
-.wot-rating-confidence {
- background: url("chrome://wot/skin/fusion/confidence-0.png") top left no-repeat;
- height: 18px;
- width: 51px;
- margin-left: 12px;
- margin-top: 6px;
-}
-.wot-rating-confidence[confidence="1"] {
- background: url("chrome://wot/skin/fusion/confidence-1.png") top left no-repeat;
-}
-.wot-rating-confidence[confidence="2"] {
- background: url("chrome://wot/skin/fusion/confidence-2.png") top left no-repeat;
-}
-.wot-rating-confidence[confidence="3"] {
- background: url("chrome://wot/skin/fusion/confidence-3.png") top left no-repeat;
-}
-.wot-rating-confidence[confidence="4"] {
- background: url("chrome://wot/skin/fusion/confidence-4.png") top left no-repeat;
-}
-.wot-rating-confidence[confidence="5"] {
- background: url("chrome://wot/skin/fusion/confidence-5.png") top left no-repeat;
-}
-.wot-rating-testimony {
- height: 16px;
- margin-left: 0px;
- margin-top: 5px;
-}
-.wot-rating-stack {
- padding-left: 22px;
- width: 223px;
-}
-.wot-rating-slider {
- background: url("chrome://wot/skin/fusion/slider.png") top left no-repeat;
- height: 16px;
- width: 194px;
- margin-top: 3px;
-}
-.wot-rating-stack[testimony="true"] .wot-rating-slider {
- background: url("chrome://wot/skin/fusion/slider-active.png") top left no-repeat;
- cursor: pointer;
-}
-.wot-rating-stack[testimony="false"]:hover .wot-rating-slider
-.wot-rating-stack[testimony="false"] .wot-rating-slider:hover,
-.wot-rating-stack[testimony="hover"]:hover .wot-rating-slider,
-.wot-rating-stack[testimony="hover"] .wot-rating-slider:hover {
- background: url("chrome://wot/skin/fusion/slider-hover.png") top left no-repeat;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] .wot-rating-slider {
- background: url("chrome://wot/skin/fusion/accessible/slider.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-stack[testimony="true"] .wot-rating-slider {
- background: url("chrome://wot/skin/fusion/accessible/slider-active.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] .wot-rating-stack[testimony="false"]:hover .wot-rating-slider
-#main-window[wot-mode="accessible"] .wot-rating-stack[testimony="false"] .wot-rating-slider:hover,
-#main-window[wot-mode="accessible"] .wot-rating-stack[testimony="hover"]:hover .wot-rating-slider,
-#main-window[wot-mode="accessible"] .wot-rating-stack[testimony="hover"] .wot-rating-slider:hover {
- background: url("chrome://wot/skin/fusion/accessible/slider-hover.png") top left no-repeat;
-}
-.wot-rating-indicator {
- height: 16px;
- width: 21px;
- margin-left: -10px;
- margin-top: 3px;
-}
-.wot-rating-stack[testimony="true"] .wot-rating-indicator {
- background: url("chrome://wot/skin/fusion/indicator.png") top left no-repeat;
-}
-.wot-rating-stack[testimony="true"]:hover .wot-rating-indicator,
-.wot-rating-stack[testimony="true"] .wot-rating-slider:hover + .wot-rating-indicator,
-.wot-rating-stack[testimony="true"] .wot-rating-indicator:hover,
-.wot-rating-stack[testimony="hover"]:hover .wot-rating-indicator,
-.wot-rating-stack[testimony="hover"] .wot-rating-slider:hover + .wot-rating-indicator,
-.wot-rating-stack[testimony="hover"] .wot-rating-indicator:hover {
- background: url("chrome://wot/skin/fusion/indicator-hover.png") top left no-repeat;
- cursor: pointer;
-}
-.wot-rating-help {
- margin-top: 0px;
- margin-bottom: 0px;
- margin-left: 25px;
- margin-right: 0px;
- width: 175px;
-}
-.wot-rating-help-text,
-.wot-rating-help-link {
- color: #878787;
- font-size: 10px;
- line-height: 10px;
- margin-top: 1px;
- margin-bottom: 0px;
- margin-left: 0px;
- margin-right: 0.3em;
-}
-.wot-rating-help-link[comment] {
- color: #3073c5;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] .wot-rating-help-link[comment] {
- color: #333;
- text-decoration: underline;
-}
-#main-window[wot-mode="accessible"] .wot-rating-help-link[comment]:hover {
- color: #4e4e4e;
- text-decoration: none;
-}
-/* scorecard */
-#wot-scorecard {
- margin-bottom: 7px;
- margin-left: 8px;
- margin-right: 8px;
- margin-top: 10px;
-}
-#wot-scorecard-content {
- background: url("chrome://wot/skin/fusion/scorecard.png") top left no-repeat;
- height: 40px;
- width: 310px;
-}
-#wot-scorecard-content:hover {
- background: url("chrome://wot/skin/fusion/scorecard-hover.png") top left no-repeat;
- cursor: pointer;
-}
-#wot-scorecard-content:active {
- background: url("chrome://wot/skin/fusion/scorecard-active.png") top left no-repeat;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] #wot-scorecard-content {
- background: url("chrome://wot/skin/fusion/accessible/scorecard.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] #wot-scorecard-content:hover {
- background: url("chrome://wot/skin/fusion/accessible/scorecard-hover.png") top left no-repeat;
-}
-#main-window[wot-mode="accessible"] #wot-scorecard-content:active {
- background: url("chrome://wot/skin/fusion/accessible/scorecard-active.png") top left no-repeat;
-}
-.wot-scorecard-text,
-#wot-scorecard-content:hover #wot-scorecard-visit[inactive] {
- color: #3073c5;
- font-size: 11px;
- line-height: 11px;
- height: 11px;
- margin-left: 43px;
- margin-right: 0px;
-}
-.wot-scorecard-text:hover,
-#wot-scorecard-content:hover #wot-scorecard-visit {
- color: #4e4e4e;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] .wot-scorecard-text,
-#main-window[wot-mode="accessible"] #wot-scorecard-content:hover #wot-scorecard-visit[inactive] {
- color: #333;
- text-decoration: underline;
-}
-#main-window[wot-mode="accessible"] .wot-scorecard-text:hover,
-#main-window[wot-mode="accessible"] #wot-scorecard-content:hover #wot-scorecard-visit {
- color: #4e4e4e;
- text-decoration: none;
-}
-#wot-scorecard-visit {
- font-weight: bold;
- margin-top: 9px;
- margin-bottom: 0px;
-}
-#wot-scorecard-comment-container {
- margin: 0;
- width: 310px;
- max-width: 310px;
-}
-#wot-scorecard-comment {
- margin-top: 0px;
- margin-bottom: 0px;
-}
-/* user */
-.wot-user {
- width: 326px;
-}
-.wot-user-content {
- height: 30px;
- margin-top: 0px;
- margin-bottom: 1px;
- width: 156px;
-}
-.wot-user-stack {
- height: 23px;
- width: 145px;
- margin-top: 0px;
- margin-left: 11px;
-}
-.wot-user-header {
- color: #8f8f8f;
- font-size: 11px;
- line-height: 11px;
- margin-left: 1px;
- margin-right: 0px;
- margin-top: 0px;
- width: 144px;
- max-width: 144px;
-}
-.wot-user-bar {
- margin-top: 1px;
-}
-.wot-user-bar-image {
- height: 9px;
- margin-top: 1px;
- width: 62px;
-}
-.wot-user-bar-image[length="0"] {
- background: url("chrome://wot/skin/fusion/user-bar-0.png") top left no-repeat;
-}
-.wot-user-bar-image[length="1"] {
- background: url("chrome://wot/skin/fusion/user-bar-1.png") top left no-repeat;
-}
-.wot-user-bar-image[length="2"] {
- background: url("chrome://wot/skin/fusion/user-bar-2.png") top left no-repeat;
-}
-.wot-user-bar-image[length="3"] {
- background: url("chrome://wot/skin/fusion/user-bar-3.png") top left no-repeat;
-}
-.wot-user-bar-image[length="4"] {
- background: url("chrome://wot/skin/fusion/user-bar-4.png") top left no-repeat;
-}
-.wot-user-bar-image[length="5"] {
- background: url("chrome://wot/skin/fusion/user-bar-5.png") top left no-repeat;
-}
-.wot-user-bar-image[length="6"] {
- background: url("chrome://wot/skin/fusion/user-bar-6.png") top left no-repeat;
-}
-.wot-user-bar-image[length="7"] {
- background: url("chrome://wot/skin/fusion/user-bar-7.png") top left no-repeat;
-}
-.wot-user-bar-image[length="8"] {
- background: url("chrome://wot/skin/fusion/user-bar-8.png") top left no-repeat;
-}
-.wot-user-bar-image[length="9"] {
- background: url("chrome://wot/skin/fusion/user-bar-9.png") top left no-repeat;
-}
-.wot-user-bar-image[length="10"] {
- background: url("chrome://wot/skin/fusion/user-bar-10.png") top left no-repeat;
-}
-.wot-user-bar-text {
- color: #8f8f8f;
- font-size: 10px;
- line-height: 10px;
- margin-left: 5px;
- margin-right: 0px;
- margin-top: -1px;
- width: 76px;
- max-width: 76px;
-}
-.wot-user-text-container {
- margin: 0;
- width: 159px;
- max-width: 159px;
- -moz-box-pack: end;
-}
-.wot-user-text {
- color: #8f8f8f;
- font-size: 11px;
- height: 23px;
- line-height: 11px;
- margin-left: 0px;
- margin-right: 0px;
- margin-top: 7px;
-}
-.wot-user-content[url] .wot-user-text:hover {
- color: #3073c5;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] .wot-user-content[url] .wot-user-text:hover {
- color: #333;
- text-decoration: underline;
-}
-.wot-user-notice {
- color: #333333;
- font-size: 11px;
- height: 18px;
- line-height: 11px;
- margin-left: 0px;
- margin-right: 0px;
- margin-bottom: 1px;
- margin-top: -1px;
- padding-left: 11px;
- width: 326px;
- max-width: 326px;
-}
-/* message */
-#wot-message {
- background: url("chrome://wot/skin/fusion/message-background.png") top left no-repeat;
- height: 50px;
- max-height: 50px;
- margin-left: 8px;
- margin-right: 8px;
- margin-top: 5px;
- margin-bottom: 7px;
- width: 310px;
-}
-#wot-message-text {
- color: #707070;
- font-size: 11px;
- line-height: 13px;
- max-height: 45px;
- margin-top: 5px;
- margin-left: 5px;
- margin-right: 5px;
- text-align: center;
- width: 298px;
-}
-#wot-message-text[url-type="http"]:hover,
-#wot-message[message-status="important"] #wot-message-text[url-type="http"]:hover,
-#wot-message[message-status="critical"] #wot-message-text[url-type="http"]:hover {
- color: #3073c5;
- cursor: pointer;
-}
-#main-window[wot-mode="accessible"] #wot-message-text[url-type="http"]:hover,
-#main-window[wot-mode="accessible"] #wot-message[message-status="important"] #wot-message-text[url-type="http"]:hover,
-#main-window[wot-mode="accessible"] #wot-message[message-status="critical"] #wot-message-text[url-type="http"]:hover {
- color: #333;
-}
-#wot-message[message-status="important"] {
- background: url("chrome://wot/skin/fusion/message-important.png") top left no-repeat;
-}
-#wot-message[message-status="critical"] {
- background: url("chrome://wot/skin/fusion/message-critical.png") top left no-repeat;
-}
-#wot-message[message-status="important"] #wot-message-text {
- color: #ea8b2b;
-}
-#wot-message[message-status="critical"] #wot-message-text {
- color: #d81f27;
-}
-/* partner */
-#wot-partner {
- height: 32px;
- width: 298px;
- padding: 0;
- margin-left: 11px;
- margin-right: 17px;
- margin-bottom: 7px;
- text-align: left;
-}
-#wot-partner-text {
- color: #333;
- font-size: 11px;
- height: 32px;
- width: 148px;
- margin: 0;
- padding-top: 7px;
+
+#wot-rwframe {
+ background: #ffffff !important;
+ opacity: 1;
}
diff --git a/install.rdf b/install.rdf
index e085fdc..d6aa2d2 100644
--- a/install.rdf
+++ b/install.rdf
@@ -4,11 +4,11 @@
<em:id>{a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7}</em:id>
<em:unpack>true</em:unpack>
<em:name>WOT</em:name>
- <em:version>20130515</em:version>
+ <em:version>20130917</em:version>
<em:description>Web of trust.</em:description>
<em:creator>WOT Services Oy</em:creator>
<em:homepageURL>http://www.mywot.com/</em:homepageURL>
- <em:iconURL>chrome://wot/skin/fusion/32_32/new_trusted.png</em:iconURL>
+ <em:iconURL>chrome://wot/skin/fusion/32_32/new_r5.png</em:iconURL>
<em:optionsURL>chrome://wot/content/settings.xul</em:optionsURL>
<!-- Firefox -->
@@ -16,7 +16,7 @@
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>14.0</em:minVersion>
- <em:maxVersion>24.0</em:maxVersion>
+ <em:maxVersion>27.0</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
--
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