Bug 771892 - [New Tab Page] check for private browsing mode *every* time a user drags a link onto the grid; r=ehsan

This commit is contained in:
Tim Taubert 2012-07-10 00:35:30 +02:00
parent a6b5f8a57a
commit 0ea048f60b
2 changed files with 18 additions and 16 deletions

View File

@ -98,11 +98,11 @@ Cell.prototype = {
* Handles all cell events.
*/
handleEvent: function Cell_handleEvent(aEvent) {
// We're not responding to external drag/drop events
// We're not responding to external drag/drop events
// when our parent window is in private browsing mode.
if (inPrivateBrowsingMode && !gDrag.draggedSite)
if (inPrivateBrowsingMode() && !gDrag.draggedSite)
return;
if (aEvent.type != "dragexit" && !gDrag.isValid(aEvent))
return;

View File

@ -22,19 +22,6 @@ let {
blockedLinks: gBlockedLinks
} = NewTabUtils;
let chromeWin = window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow)
.wrappedJSObject;
let inPrivateBrowsingMode = false;
if ("gPrivateBrowsingUI" in chromeWin)
inPrivateBrowsingMode = chromeWin.gPrivateBrowsingUI.privateWindow;
XPCOMUtils.defineLazyGetter(this, "gStringBundle", function() {
return Services.strings.
createBundle("chrome://browser/locale/newTab.properties");
@ -42,6 +29,21 @@ XPCOMUtils.defineLazyGetter(this, "gStringBundle", function() {
function newTabString(name) gStringBundle.GetStringFromName('newtab.' + name);
function inPrivateBrowsingMode() {
let chromeWin = window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow)
.wrappedJSObject;
if ("gPrivateBrowsingUI" in chromeWin)
return chromeWin.gPrivateBrowsingUI.privateWindow;
return false;
}
const HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
#include batch.js