mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 09:05:45 +00:00
a0c8cbf9d6
p=me r=dwitte/benjamin sr=darin
136 lines
5.2 KiB
XML
136 lines
5.2 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!-- ***** BEGIN LICENSE BLOCK *****
|
|
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
|
|
The contents of this file are subject to the Mozilla Public License Version
|
|
1.1 (the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
http://www.mozilla.org/MPL/
|
|
|
|
Software distributed under the License is distributed on an "AS IS" basis,
|
|
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
for the specific language governing rights and limitations under the
|
|
License.
|
|
|
|
The Original Code is Mozilla Communicator client code, released
|
|
March 31, 1998.
|
|
|
|
The Initial Developer of the Original Code is
|
|
Netscape Communications Corporation.
|
|
Portions created by the Initial Developer are Copyright (C) 1998-1999
|
|
the Initial Developer. All Rights Reserved.
|
|
|
|
Contributor(s):
|
|
|
|
Alternatively, the contents of this file may be used under the terms of
|
|
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
of those above. If you wish to allow use of your version of this file only
|
|
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
use your version of this file under the terms of the MPL, indicate your
|
|
decision by deleting the provisions above and replace them with the notice
|
|
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
the provisions above, a recipient may use your version of this file under
|
|
the terms of any one of the MPL, the GPL or the LGPL.
|
|
|
|
***** END LICENSE BLOCK ***** -->
|
|
|
|
<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/permissions/cookieTasksOverlay.dtd">
|
|
|
|
<overlay id="cookieTasksOverlay"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
<script type="application/x-javascript" src="chrome://communicator/content/permissions/permissionsOverlay.js"/>
|
|
|
|
<script type="application/x-javascript">
|
|
<![CDATA[
|
|
|
|
/******* THE FOLLOWING IS FOR THE STATUSBAR OVERLAY *******/
|
|
|
|
var gButtonPressed;
|
|
|
|
var cookieIconObserver = {
|
|
observe: function(subject, topic, state) {
|
|
if (topic != "cookieIcon" || !document) {
|
|
return;
|
|
}
|
|
var cookieIcon = document.getElementById("privacy-button");
|
|
if (cookieIcon) {
|
|
if (state == "on") {
|
|
cookieIcon.removeAttribute("hidden");
|
|
} else if (state == "off") {
|
|
cookieIcon.setAttribute("hidden", "true");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function viewP3PDialog() {
|
|
var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
|
|
observerService.notifyObservers(null, "cookieIcon", "off");
|
|
|
|
window.openDialog
|
|
("chrome://communicator/content/permissions/cookieP3PDialog.xul","_blank","modal=yes,chrome,resizable=no", this);
|
|
if (gButtonPressed == "cookie") {
|
|
viewCookiesFromIcon();
|
|
} else if (gButtonPressed == "p3p") {
|
|
viewP3P();
|
|
}
|
|
}
|
|
|
|
function CookieTasksOnLoad(event) {
|
|
addEventListener("unload", CookieTasksOnUnload, false);
|
|
|
|
// determine if p3p pref is set
|
|
var pref = Components.classes['@mozilla.org/preferences-service;1'].
|
|
getService(Components.interfaces.nsIPrefBranch);
|
|
if (pref.getIntPref("network.cookie.cookieBehavior") == 3) {
|
|
|
|
// make sure p3p dll exists, else we can't keep pref set
|
|
if (!("@mozilla.org/cookie-consent;1" in Components.classes)) {
|
|
pref.setIntPref("network.cookie.cookieBehavior", 0);
|
|
}
|
|
}
|
|
|
|
if ("@mozilla.org/cookie-consent;1" in Components.classes) {
|
|
|
|
// p3p dll exists so create an observer for changes in visibility of cookie icon
|
|
var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
|
|
observerService.addObserver(cookieIconObserver, "cookieIcon", false);
|
|
|
|
// determine whether or not cookie icon in this new window should be displayed
|
|
var cookieservice = Components.classes["@mozilla.org/cookieService;1"].getService();
|
|
cookieservice = cookieservice.QueryInterface(Components.interfaces.nsICookieService);
|
|
if (cookieservice.cookieIconIsVisible) {
|
|
var cookieIcon = document.getElementById("privacy-button");
|
|
if (cookieIcon) {
|
|
cookieIcon.removeAttribute("hidden");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function CookieTasksOnUnload(event) {
|
|
if ("@mozilla.org/cookie-consent;1" in Components.classes) {
|
|
var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
|
|
observerService.removeObserver(cookieIconObserver, "cookieIcon", false);
|
|
}
|
|
}
|
|
|
|
addEventListener("load", CookieTasksOnLoad, false);
|
|
|
|
]]>
|
|
</script>
|
|
|
|
<!-- statusbarOverlay items -->
|
|
|
|
<statusbar id="status-bar">
|
|
<statusbarpanel class="statusbarpanel-iconic" id="privacy-button"
|
|
hidden="true" insertbefore="security-button"
|
|
oncommand="viewP3PDialog()" tooltiptext="&cookieIcon.label;"/>
|
|
</statusbar>
|
|
|
|
</overlay>
|