[Pkg-mozext-commits] [requestpolicy] 18/100: get back "more" button on redirect notification
David Prévot
taffit at moszumanska.debian.org
Fri Dec 12 22:56:48 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository requestpolicy.
commit 48364cd7583d3539a1550689b014a47d9c624a5b
Author: myrdd <myrdd at users.noreply.github.com>
Date: Sat Sep 13 16:32:17 2014 +0200
get back "more" button on redirect notification
fixes #468
---
src/content/classicmenu.js | 132 +++++++++++++++++++++++++++++++++++++++++++++
src/content/overlay.js | 52 +++++++++++-------
src/content/overlay.xul | 1 +
src/skin/requestpolicy.css | 11 ++++
4 files changed, 177 insertions(+), 19 deletions(-)
diff --git a/src/content/classicmenu.js b/src/content/classicmenu.js
new file mode 100644
index 0000000..4bd25b6
--- /dev/null
+++ b/src/content/classicmenu.js
@@ -0,0 +1,132 @@
+/*
+ * ***** BEGIN LICENSE BLOCK *****
+ *
+ * RequestPolicy - A Firefox extension for control over cross-site requests.
+ * Copyright (c) 2008 Justin Samuel
+ *
+ * This program 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.
+ *
+ * This program 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
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * ***** END LICENSE BLOCK *****
+ */
+
+// if (!requestpolicy) {
+// var requestpolicy = {
+// mod : {}
+// };
+// }
+//
+// Components.utils.import("resource://requestpolicy/DomainUtil.jsm",
+// requestpolicy.mod);
+// Components.utils.import("resource://requestpolicy/Logger.jsm",
+// requestpolicy.mod);
+// Components.utils.import("resource://requestpolicy/Policy.jsm",
+// requestpolicy.mod);
+// Components.utils.import("resource://requestpolicy/RequestUtil.jsm",
+// requestpolicy.mod);
+// Components.utils.import("resource://requestpolicy/PolicyManager.jsm",
+// requestpolicy.mod);
+
+requestpolicy.classicmenu = {
+
+ /**
+ * Reloads the current document if the user's preferences indicate it should
+ * be reloaded.
+ */
+ _conditionallyReloadDocument : function() {
+// if (requestpolicy.menu._rpService.prefs.getBoolPref("autoReload")) {
+ content.document.location.reload(false);
+// }
+ },
+
+
+ addMenuSeparator : function(menu) {
+ var separator = document.createElement("menuseparator");
+ menu.insertBefore(separator, menu.firstChild);
+ return separator;
+ },
+
+ addMenuItem : function(menu, label, oncommand) {
+ var menuItem = document.createElement("menuitem");
+ menuItem.setAttribute("label", label);
+ oncommand = oncommand +
+ " requestpolicy.classicmenu._conditionallyReloadDocument();";
+ menuItem.setAttribute("oncommand", oncommand);
+ // menuItem.setAttribute("tooltiptext", node.getAttribute("tooltiptext"));
+ menu.insertBefore(menuItem, menu.firstChild);
+ return menuItem;
+ },
+
+
+ addMenuItemTemporarilyAllowOrigin : function(menu, originHost) {
+ var label = requestpolicy.menu._strbundle.
+ getFormattedString("allowOriginTemporarily", [originHost]);
+ var command = "requestpolicy.overlay.temporarilyAllowOrigin('"
+ + requestpolicy.menu._sanitizeJsFunctionArg(originHost) + "');";
+ var item = this.addMenuItem(menu, label, command);
+ item.setAttribute("class", "requestpolicyTemporary");
+ return item;
+ },
+
+ addMenuItemAllowOrigin : function(menu, originHost) {
+ var label = requestpolicy.menu._strbundle.
+ getFormattedString("allowOrigin", [originHost]);
+ var command = "requestpolicy.overlay.allowOrigin('"
+ + requestpolicy.menu._sanitizeJsFunctionArg(originHost) + "');";
+ return this.addMenuItem(menu, label, command);
+ },
+
+
+ addMenuItemTemporarilyAllowOriginToDest : function(menu, originHost,
+ destHost) {
+ var label = requestpolicy.menu._strbundle.getFormattedString(
+ "allowOriginToDestinationTemporarily", [originHost, destHost]);
+ var command = "requestpolicy.overlay.temporarilyAllowOriginToDestination('"
+ + requestpolicy.menu._sanitizeJsFunctionArg(originHost) + "', '"
+ + requestpolicy.menu._sanitizeJsFunctionArg(destHost) + "');";
+ var item = this.addMenuItem(menu, label, command);
+ item.setAttribute("class", "requestpolicyTemporary");
+ return item;
+ },
+
+ addMenuItemAllowOriginToDest : function(menu, originHost, destHost) {
+ var label = requestpolicy.menu._strbundle.getFormattedString(
+ "allowOriginToDestination", [originHost, destHost]);
+ var command = "requestpolicy.overlay.allowOriginToDestination('"
+ + requestpolicy.menu._sanitizeJsFunctionArg(originHost) + "', '"
+ + requestpolicy.menu._sanitizeJsFunctionArg(destHost) + "');";
+ var item = this.addMenuItem(menu, label, command);
+ item.setAttribute("class", "requestpolicyAllowOriginToDest");
+ return item;
+ },
+
+
+ addMenuItemTemporarilyAllowDest : function(menu, destHost) {
+ var label = requestpolicy.menu._strbundle.
+ getFormattedString("allowDestinationTemporarily", [destHost]);
+ var command = "requestpolicy.overlay.temporarilyAllowDestination('"
+ + requestpolicy.menu._sanitizeJsFunctionArg(destHost) + "');";
+ var item = this.addMenuItem(menu, label, command);
+ item.setAttribute("class", "requestpolicyTemporary");
+ return item;
+ },
+
+ addMenuItemAllowDest : function(menu, destHost) {
+ var label = requestpolicy.menu._strbundle.
+ getFormattedString("allowDestination", [destHost]);
+ var command = "requestpolicy.overlay.allowDestination('"
+ + requestpolicy.menu._sanitizeJsFunctionArg(destHost) + "');";
+ return this.addMenuItem(menu, label, command);
+ }
+
+}
diff --git a/src/content/overlay.js b/src/content/overlay.js
index d12655f..8ff9805 100644
--- a/src/content/overlay.js
+++ b/src/content/overlay.js
@@ -410,19 +410,33 @@ requestpolicy.overlay = {
var notificationButtonDenyKey = this._strbundle
.getString("deny.accesskey");
-// var optionsPopupName = "requestpolicyRedirectNotificationOptions";
-// var optionsPopup = document.getElementById(optionsPopupName);
-// while (optionsPopup.firstChild) {
-// optionsPopup.removeChild(optionsPopup.firstChild);
-// }
-// var currentIdent = this._rpService
-// .getUriIdentifier(targetDocument.location);
-// var destIdent = this._rpService.getUriIdentifier(redirectTargetUri);
-//
-// requestpolicy.menu.addMenuItemTemporarilyAllowOriginToDest(optionsPopup,
-// currentIdent, destIdent);
-// requestpolicy.menu.addMenuItemAllowOriginToDest(optionsPopup, currentIdent,
-// destIdent);
+ var optionsPopupName = "requestpolicyRedirectNotificationOptions";
+ var optionsPopup = document.getElementById(optionsPopupName);
+ while (optionsPopup.firstChild) {
+ optionsPopup.removeChild(optionsPopup.firstChild);
+ }
+
+ var origin = requestpolicy.menu._addWildcard(
+ requestpolicy.mod.DomainUtil.getDomain(this.getTopLevelDocumentUri()));
+ var dest = requestpolicy.menu._addWildcard(
+ requestpolicy.mod.DomainUtil.getDomain(redirectTargetUri));
+
+ requestpolicy.classicmenu.
+ addMenuItemTemporarilyAllowDest(optionsPopup, dest);
+ requestpolicy.classicmenu.addMenuItemAllowDest(optionsPopup, dest);
+ requestpolicy.classicmenu.addMenuSeparator(optionsPopup);
+
+ requestpolicy.classicmenu.
+ addMenuItemTemporarilyAllowOrigin(optionsPopup, origin);
+ requestpolicy.classicmenu.addMenuItemAllowOrigin(optionsPopup, origin);
+ requestpolicy.classicmenu.addMenuSeparator(optionsPopup);
+
+ requestpolicy.classicmenu.
+ addMenuItemTemporarilyAllowOriginToDest(optionsPopup, origin, dest);
+ requestpolicy.classicmenu.
+ addMenuItemAllowOriginToDest(optionsPopup, origin, dest);
+
+
const rpServiceObj = this._rpService;
@@ -460,12 +474,12 @@ requestpolicy.overlay = {
callback : function() {
// Do nothing. The notification closes when this is called.
}
-// },
-// {
-// label : notificationButtonOptions,
-// accessKey : notificationButtonOptionsKey,
-// popup : optionsPopupName,
-// callback : null
+ },
+ {
+ label : notificationButtonOptions,
+ accessKey : notificationButtonOptionsKey,
+ popup : optionsPopupName,
+ callback : null
}
];
const priority = notificationBox.PRIORITY_WARNING_MEDIUM;
diff --git a/src/content/overlay.xul b/src/content/overlay.xul
index 2639a77..5030c84 100644
--- a/src/content/overlay.xul
+++ b/src/content/overlay.xul
@@ -33,6 +33,7 @@
<script type="application/x-javascript" src="overlay.js" />
<script type="application/x-javascript" src="menu.js" />
+ <script type="application/x-javascript" src="classicmenu.js" />
<script type="application/x-javascript" src="test.js" />
<menupopup id="menu_ToolsPopup">
diff --git a/src/skin/requestpolicy.css b/src/skin/requestpolicy.css
index 14cd4d6..3701b2d 100644
--- a/src/skin/requestpolicy.css
+++ b/src/skin/requestpolicy.css
@@ -324,6 +324,17 @@ toolbar[iconsize="small"] #requestpolicyToolbarButton[requestpolicyPermissive="t
}
/*********************************************
+* ClassicMenu contents
+*********************************************/
+.requestpolicyTemporary {
+ font-style: italic;
+}
+
+.requestpolicyAllowOriginToDest {
+ font-weight: bold;
+}
+
+/*********************************************
* Request Log
*********************************************/
#requestpolicy-requestLog-close {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/requestpolicy.git
More information about the Pkg-mozext-commits
mailing list